共用方式為


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

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

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

設定診斷設定

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

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

  1. 在入口網站中,移至適用於 PostgreSQL 的 Azure 資料庫彈性伺服器執行個體瀏覽功能表中的 [診斷設定]

  2. 選取 [新增診斷設定]新增 [診斷設定] 按鈕

  3. 命名此設定。

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

  5. 從類別清單中選取記錄類型 (伺服器記錄、工作階段資料、查詢存放區執行階段/等候統計資料等) 選擇記錄類別的螢幕擷取畫面。

  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) 

搜尋最近一天從 ​​query_store.qs_view 收集的特定伺服器的適用於 PostgreSQL 的 Azure 資料庫彈性伺服器「查詢存放區執行階段」統計資料。 這需要啟用查詢存放區。

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

搜尋最近一天從 ​​query_store.pgms_wait_sampling_view 收集的特定伺服器的適用於 PostgreSQL 的 Azure 資料庫彈性伺服器「查詢存放區等候」統計資料。 這需要啟用查詢存放區等候取樣。

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) 

下一步