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.*"

次のステップ