您可以使用 PostgreSQL 伺服器記錄來診斷適用於 PostgreSQL 的 Azure 資料庫彈性伺服器執行個體中遇到的特定問題,並取得伺服器上執行之活動的詳細深入解析。 您可以使用主要版本升級記錄,針對嘗試將伺服器升級至較高主要版本的 PostgreSQL 期間可能發生的錯誤進行疑難排解。
根據預設,蒐集伺服器日誌以供在 Azure Database for PostgreSQL 彈性伺服器執行個體中下載的功能是停用的。 不過,啟用此功能之後,適用於 PostgreSQL 的 Azure 資料庫彈性伺服器執行個體會開始將伺服器記錄擷取至檔案,您可以下載這些記錄以進行詳細檢查。 您可以使用 Azure 入口網站或 Azure CLI 命令來列出並下載這些檔案,以協助您進行任何疑難排解工作。
本文會說明如何啟用和停用此功能。 它也會說明如何列出所有可用的伺服器記錄,以及如何下載其中任何記錄。
啟用 PostgreSQL 的擷取和升級記錄以進行下載的步驟
使用 Azure 入口網站:
選取您的 Azure PostgreSQL 資料庫彈性伺服器實例。
在資源功能表中的 [監視] 區段下,選取 [伺服器記錄]。
標示 [擷取記錄以供下載] 核取方塊。
根據預設,記錄檔會保留三天,但保留期間可以調整為 1 到 7 天。 使用 [記錄保留期間 (以天為單位)] 交叉分析篩選器來調整為所需的設定。
選取 [儲存] 按鈕。
通知會告知您服務正在設定記錄擷取以供下載。
作業結束時,通知會告知您服務已完成設定記錄擷取以供下載。
您可以透過 AZ postgres 彈性伺服器參數集合 命令,啟用 PostgreSQL 伺服器記錄和主要版本升級記錄的擷取。
若要啟用記錄擷取以供下載,請使用此命令:
az postgres flexible-server parameter set \
--resource-group <resource_group> \
--server-name <server> \
--name logfiles.download_enable \
--value on
若要調整擷取的記錄以供下載之保留期間,請使用此命令:
az postgres flexible-server parameter set \
--resource-group <resource_group> \
--server-name <server> \
--name logfiles.retention_days \
--value <retention_period_in_days>
伺服器參數 logfiles.retention_days 允許的值可以介於 1 到 7 天之間。 如果您嘗試將它設定為不同的值,您會得到下列錯誤:
Code: ServerParameterToCMSUnAllowedParameterValue
Message: The value: [<value>] of Server Parameter: [logfiles.retention_days] is invalid, the allowed values are: [1-7]
停用 PostgreSQL 的擷取和升級記錄以進行下載的步驟
使用 Azure 入口網站:
選取您的 Azure PostgreSQL 資料庫彈性伺服器實例。
在資源功能表中的 [監視] 區段下,選取 [伺服器記錄]。
清除 [擷取記錄以供下載] 核取方塊。
選取 [儲存] 按鈕。
通知會告知您服務正在設定記錄擷取以供下載。
作業結束時,通知會告知您服務已完成設定記錄擷取以供下載。
您可以透過 AZ postgres 彈性伺服器參數集合 命令,停用 PostgreSQL 伺服器記錄和主要版本升級記錄的擷取。
若要停用記錄擷取以供下載,請使用此命令:
az postgres flexible-server parameter \
--resource-group <resource_group> \
--server-name <server> \
--name logfiles.download_enable \
--value off
列出可供下載之擷取記錄的步驟
使用 Azure 入口網站:
選取您的 Azure PostgreSQL 資料庫彈性伺服器實例。
在資源功能表中的 [監視] 區段下,選取 [伺服器記錄]。
顯示尚未刪除之所有擷取記錄檔的資料表。 在某個時間點擷取但已刪除的檔案,因為它們超過設定的保留期間,無法再顯示或存取。 您可以使用 [搜尋包含時間範圍和記錄類型的檔案] 方塊,來定義篩選條件以減少顯示的記錄。 藉由選取資料行標頭,您可以依選取標頭所代表的屬性值,以遞增或遞減順序排序可見記錄檔清單。 在每個可用的資料行下,您可以看到每個檔案的不同屬性:
-
名稱:記錄檔的名稱。 服務會用此模式
postgresql_yyyy_mm_dd_hh_00_00.log,為每個記錄檔指派一個名稱。
-
上次更新時間:上次上傳記錄檔的時間戳記。 記錄檔大約每 10 分鐘上傳一次。
-
大小:記錄檔所佔用的位元組大小。
-
記錄類型:伺服器記錄表示檔案對應至 PostgreSQL 伺服器記錄。
升級記錄表示檔案對應至主要版本升級記錄。
資料表的內容不會自動更新。 若要查看最新的資訊,您可以選取 [重新整理] 。
您可以透過 AZ postgres 彈性伺服器伺服器記錄清單 命令,列出擷取的 PostgreSQL 伺服器記錄和主要版本升級記錄。
若要列出過去 72 小時 (預設值) 內更新的所有可供下載的擷取記錄,請使用下列命令:
az postgres flexible-server server-logs list \
--resource-group <resource_group> \
--server-name <server>
若要列出過去 10 小時內更新的所有可供下載的擷取記錄,請使用下列命令:
az postgres flexible-server server-logs list \
--resource-group <resource_group> \
--server-name <server> \
--file-last-written 10
若要列出小於 30 KiB 的所有可供下載的擷取記錄,請使用下列命令:
az postgres flexible-server server-logs list \
--resource-group <resource_group> \
--server-name <server> \
--max-file-size 30
若要列出名稱包含 01_07 的所有可供下載的擷取記錄,請使用下列命令:
az postgres flexible-server server-logs list \
--resource-group <resource_group> \
--server-name <server> \
--filename-contains 01_07
下載擷取記錄的步驟
使用 Azure 入口網站:
選取您的 Azure PostgreSQL 資料庫彈性伺服器實例。
在資源功能表中的 [監視] 區段下,選取 [伺服器記錄]。
顯示尚未刪除之所有擷取記錄檔的資料表。 在某個時間點擷取但已刪除的檔案,因為它們超過設定的保留期間,無法再顯示或存取。 您可以使用 [搜尋包含時間範圍和記錄類型的檔案] 方塊,來定義篩選條件以減少顯示的記錄。 藉由選取資料行標頭,您可以依選取標頭所代表的屬性值,以遞增或遞減順序排序可見記錄檔清單。 識別您要下載的記錄,並在 [動作] 資料行底下,選取 [下載]。
如果您想要一次下載多個記錄檔,請選取您要下載的所有檔案,然後選取工具列中的 [下載]。
資料表的內容不會自動更新。 若要查看最新的資訊,您可以選取 [重新整理] 。
您可以透過 AZ postgres 彈性伺服器伺服器記錄下載 命令,下載擷取的 PostgreSQL 伺服器記錄和主要版本升級記錄。
若要下載一個特定的記錄,請使用此命令:
az postgres flexible-server server-logs download \
--resource-group <resource_group> \
--server-name <server> \
--name <log_name>
若要下載一個特定的記錄,請使用此命令:
az postgres flexible-server server-logs download \
--resource-group <resource_group> \
--server-name <server> \
--name <log1_name log2_name ...logn_name>
相關內容