次の方法で共有


Azure Database for PostgreSQL のログ

Azure Database for PostgreSQL を使用すると、Postgres の標準ログを構成してアクセスできます。 ログは、構成エラーと十分に最適化されていないパフォーマンスの特定、トラブルシューティング、修復に使用できます。 構成してアクセスできるログ情報には、エラー、クエリ情報、自動バキューム レコード、接続、チェックポイントが含まれます。 (トランザクション ログへのアクセスは使用できません)。

監査ログは、Postgres 拡張機能 pgaudit を通じて利用できます。 詳細については、監査の概念に関する記事をご覧ください。

ログの構成

サーバー パラメーターのログを使用して、サーバー上で Postgres 標準ログを構成できます。 Postgres ログ パラメーターの詳細については、Postgres ドキュメントのログに記録するタイミングログに記録する内容のセクションを参照してください。 ほとんどの Postgres ログ パラメーターを Azure Database for PostgreSQL で構成できます。ただし、すべてではありません。

Azure Database for PostgreSQL でパラメーターを構成する方法については、ポータルの ドキュメント または CLI のドキュメントを参照してください

Note

大量のログを構成するには、パフォーマンスのオーバーヘッドを大幅に増やすことができます。 たとえば、ステートメントのログ記録はパフォーマンスに影響を与える可能性があります。

アクセス ログ

Azure Database for PostgreSQL は、Azure Monitor 診断設定と統合されています。 診断設定を使用すると、分析とアラートのために、JSON 形式の PostgreSQL ログを Azure Monitor ログに送信できます。 Event Hubs にストリーミングしたり、Azure Storage にアーカイブしたりすることもできます。

ログのアクセス制御

サーバー ログへのアクセスは、Azure Role-Based アクセス制御 (RBAC) によって制御されます。 サーバーへの読み取りアクセスを提供するロールでは、ログのダウンロードも許可されます。 これには、次のような組み込みロールが含まれます。

  • Reader
  • 監視リーダー
  • ログアナリティクス リーダー
  • または、同等のカスタム ロール

Warnung

ログには、ログの構成によっては、資格情報などの機密情報が含まれている場合があります。

データ アイテム保持ポリシーと価格

Event Hubs またはストレージ アカウントに送信されるログについては、一定期間後にデータを自動的に削除するアイテム保持ポリシーを設定できます。 Log Analytics のコストは、次の 2 つの要因によって異なります。

  • データ インジェスト: 料金は、ワークスペースに取り込まれるデータの量に基づきます。
  • データ保持: Log Analytics ワークスペースに格納されるログは、最初の 31 日間は無料で保持されます。 この無料保有期間を超えると、毎月保持されるデータの量 (GB 単位) に基づいて日割り計算されたデータを格納するための料金が発生します。

データインジェストとリテンション期間に関連するコストの内訳については、 Azure Monitor の価格ページを参照してください。

ログの形式

次の表では、PostgreSQLLogs タイプのフィールドについて説明します。 選択した出力エンドポイントによって、含まれるフィールドとフィールドの表示順序が異なる場合があります。

フィールド 説明
TenantId テナント ID
SourceSystem Azure
作成時刻 [UTC] ログが記録されたときのタイムスタンプ (UTC)
タイプ ログの種類。 常に AzureDiagnostics
SubscriptionId サーバーが属するサブスクリプションの GUID
ResourceGroup サーバーが属するリソース グループの名前
ResourceProvider リソース プロバイダーの名前。 常に MICROSOFT.DBFORPOSTGRESQL
ResourceType FlexibleServers
ResourceId リソース URI
リソース サーバーの名前
カテゴリ PostgreSQLLogs
OperationName LogEvent
errorLevel_s ログ レベル (LOG、ERROR、NOTICE など)
processId_d PostgreSQL バックエンドのプロセス ID
sqlerrcode_s SQLSTATE コードの SQL 標準の規則に従う PostgreSQL エラー コード
Message プライマリ ログ メッセージ
Detail セカンダリ ログ メッセージ (該当する場合)
ColumnName 列の名前 (該当する場合)
SchemaName スキーマの名前 (該当する場合)
DatatypeName データ型の名前 (該当する場合)
_ResourceId リソース URI

既知の制限事項

  • ログ イベント サイズ: 65 KB を超えるクエリ プランまたはログ メッセージは、Azure Monitor ログにキャプチャされません。 これは、プラットフォーム全体の Azure Monitor の制限です。 その結果、複雑なクエリ (入れ子になったビューを含むクエリなど) によって、サーバー ログに不完全なクエリ プラン出力または不足しているクエリ プランの出力が生成される可能性があります。
  • その他の制約: アラート ルールのクォータやクエリ結果のサイズなど、プラットフォーム全体のその他の制限が Azure Monitor ログに適用されます。 完全な一覧については、「Azure Monitor サービスの制限」に関するドキュメントで詳細を参照してください。