在 適用於 PostgreSQL 的 Azure 資料庫 中設定和存取記錄 - 彈性伺服器

適用於:適用於 PostgreSQL 的 Azure 資料庫 - 彈性伺服器

適用於 PostgreSQL 的 Azure 資料庫 彈性伺服器記錄可在彈性伺服器的每個節點上使用。 您可以將記錄寄送至儲存體伺服器或分析服務。 這些記錄可用來識別、疑難排解和修復設定錯誤和次佳效能。

設定診斷設定

您可以使用 Azure 入口網站、CLI、REST API 和 PowerShell,為 適用於 PostgreSQL 的 Azure 資料庫 彈性伺服器實例啟用診斷設定。 要選取的記錄類別為 PostgreSQLLogs

若要使用 Azure 入口網站 啟用資源記錄:

  1. 在入口網站中,移至 適用於 PostgreSQL 的 Azure 資料庫 彈性伺服器實例導覽功能表中的 [診斷 設定]。

  2. 選取 [ 新增診斷設定]。 Add diagnostic settings button

  3. 將這個設定命名為 。

  4. 選取您慣用的端點(Log Analytics 工作區、儲存體 帳戶、事件中樞)。

  5. 從類別清單中選取記錄類型(伺服器記錄、工作階段資料、查詢存放區 執行時間/等候統計資料等)Screenshot of choosing log categories.

  6. 儲存您的設定。

若要使用PowerShell、CLI或REST API啟用資源記錄,請瀏覽 診斷設定 一文。

存取資源記錄

存取記錄的方式取決於您選擇的端點。 如需 Azure 儲存體,請參閱記錄記憶體帳戶一文。 如需事件中樞,請參閱 串流 Azure 記錄 一文。

針對 Azure 監視器記錄,記錄會傳送至您選取的工作區。 適用於 PostgreSQL 的 Azure 資料庫 彈性伺服器記錄會使用 AzureDiagnostics 收集模式,以便從 AzureDiagnostics 數據表查詢它們。 下表中的欄位如下所述。 在 Azure 監視器記錄查詢概觀中深入了解查詢和警示。

以下是您可以嘗試開始使用的查詢。 您可以根據查詢來設定警示。

在前一天搜尋特定伺服器的所有 適用於 PostgreSQL 的 Azure 資料庫 彈性伺服器記錄。

AzureDiagnostics
| where Resource == "myservername"
| where Category == "PostgreSQLLogs"
| where TimeGenerated > ago(1d) 

搜尋所有非localhost連線嘗試。 下列查詢會顯示此工作區中任何 適用於 PostgreSQL 的 Azure 資料庫 彈性伺服器記錄在過去 6 小時內的結果。

AzureDiagnostics
| where Message contains "connection received" and Message !contains "host=127.0.0.1"
| where Category == "PostgreSQLLogs" and TimeGenerated > ago(6h)

搜尋過去一天從pg_stat_activity系統檢視收集的彈性伺服器會話 適用於 PostgreSQL 的 Azure 資料庫。

AzureDiagnostics
| where Resource == "myservername"
| where Category =='PostgreSQLFlexSessions'
| where TimeGenerated > ago(1d) 

搜尋 適用於 PostgreSQL 的 Azure 資料庫 彈性伺服器 查詢存放區 從query_store.qs_view最後一天針對特定伺服器收集的運行時間統計數據。 需要啟用 查詢存放區。

AzureDiagnostics
| where Resource == "myservername"
| where Category =='PostgreSQLFlexQueryStoreRuntime'
| where TimeGenerated > ago(1d) 

搜尋 適用於 PostgreSQL 的 Azure 資料庫 彈性伺服器 查詢存放區 最後一天針對特定query_store.pgms_wait_sampling_view伺服器收集的等候統計數據。 需要啟用 查詢存放區 等候取樣。

AzureDiagnostics
| where Resource == "myservername"
| where Category =='PostgreSQLFlexQueryStoreWaitStats'
| where TimeGenerated > ago(1d) 

搜尋 適用於 PostgreSQL 的 Azure 資料庫 個彈性伺服器自動數據清理和架構統計數據,以尋找最後一天特定伺服器中的每個資料庫。

AzureDiagnostics
| where Resource == "myservername"
| where Category =='PostgreSQLFlexTableStats'
| where TimeGenerated > ago(1d) 

搜尋 適用於 PostgreSQL 的 Azure 資料庫 彈性伺服器剩餘交易和多重交易,直到最後一天,針對特定伺服器中的每個資料庫進行緊急自動清理或包裝保護。

AzureDiagnostics
| where Resource == "myservername"
| where Category =='PostgreSQLFlexDatabaseXacts'
| where TimeGenerated > ago(1d) 

下一步