Azure Cosmos DB for PostgreSQL にログインする
適用対象: Azure Cosmos DB for PostgreSQL (PostgreSQL の Citus データベース拡張機能を利用)
PostgreSQL データベース サーバーのログは、クラスターの各ノードに使用できます。 ストレージ サーバーまたは分析サービスにログを送信できます。 ログは、構成エラーと十分に最適化されていないパフォーマンスの特定、トラブルシューティング、修復に使用できます。
ログのキャプチャ
コーディネーターまたはワーカー ノードの PostgreSQL ログにアクセスするには、PostgreSQL サーバー ログの診断設定を有効にする必要があります。 Azure portal のクラスターのページで、左側のメニューから [診断設定] を選択し、[診断設定の追加] を選択します。
新しい診断設定の名前を入力し、[PostgreSQL サーバー ログ] ボックスを選択し、[Send to Log Analytics workspace](Log Analytics ワークスペースに送信する) ボックスをオンにします。 次に、 [保存] を選択します。
ログを表示する
ログの表示とフィルター処理には、Kusto クエリを使用します。 Azure portal のクラスターのページで、左側のメニューから [ログ] を選択します。 開いているスプラッシュ スクリーンとクエリの選択画面を閉じます。
次のクエリをクエリ入力ボックスに貼り付けてから、[実行] を選択します。
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 ログは、さまざまな方法でフィルター処理できます。 メッセージが正規表現と一致する過去 1 日以内のログを検索する方法を次に示します。
AzureDiagnostics
| where TimeGenerated > ago(24h)
| order by TimeGenerated desc
| where Message matches regex ".*error.*"