這很重要
新專案不再支援適用於 PostgreSQL 的 Azure Cosmos DB。 請勿將此服務用於新專案。 請改用下列兩項服務之一:
使用 Azure Cosmos DB for NoSQL 作為專為高規模應用場景設計的分散式資料庫解決方案,其特色包括99.999% 的可用性服務等級協定(SLA)、即時自動調整,以及跨多個區域的自動容錯移轉。
針對使用開放原始碼超大規模 (Citus) 延伸模組的分區化 PostgreSQL 使用適用於 PostgreSQL 的 Azure 資料庫的彈性叢集功能。
叢集的每個節點都有 PostgreSQL 資料庫伺服器記錄。 您可以將記錄寄送至儲存體伺服器或分析服務。 這些記錄可用於識別及修復設定錯誤與次佳效能,並對其進行疑難排解。
擷取記錄
若要存取協調器或背景工作節點的 PostgreSQL 記錄,您必須啟用 PostgreSQL 伺服器記錄檔診斷設定。 在您 Azure 入口網站的叢集頁面上,選取左側功能表的 [診斷設定],然後選取 [新增診斷設定]。
輸入新的診斷設定名稱、選取 [PostgreSQL 伺服器記錄] 方塊,然後勾選 [傳送至 Log Analytics 工作區] 方塊。 然後選取 [儲存]。
檢視記錄
若要檢視和篩選記錄,請使用 Kusto 查詢。 在 Azure 入口網站中的叢集頁面上,選取左側功能表中的 [記錄]。 關閉開啟的啟動顯示畫面和查詢選取畫面。
將下列查詢貼到查詢輸入方塊中,然後選取 [執行]。
AzureDiagnostics
| project TimeGenerated, Message, errorLevel_s, LogicalServerName_s
上述查詢會列出所有節點的記錄訊息,及其嚴重性和時間戳記。 您可以新增 where 子句來篩選結果。 例如,若只要查看協調器節點的錯誤,請篩選錯誤層級和伺服器名稱,如以下查詢所示。 以您的伺服器名稱取代伺服器名稱。
AzureDiagnostics
| project TimeGenerated, Message, errorLevel_s, LogicalServerName_s
| where LogicalServerName_s == 'example-cluster-c'
| where errorLevel_s == 'ERROR'
協調器節點名稱具有尾碼 -c 和背景工作節點,其尾碼為 -w0、-w1 等。
Azure 記錄可以透過不同的方式進行篩選。 以下說明如何尋找過去一天內訊息符合規則運算式的記錄。
AzureDiagnostics
| where TimeGenerated > ago(24h)
| order by TimeGenerated desc
| where Message matches regex ".*error.*"