次の方法で共有


Azure Database for PostgreSQL - フレキシブル サーバーでトラブルシューティング ガイドを使用する

適用対象: Azure Database for PostgreSQL - フレキシブル サーバー

この記事では、Azure portal から Azure Database for PostgreSQL フレキシブル サーバーのトラブルシューティング ガイドを使用する方法について説明します。 トラブルシューティング ガイドの詳細については、概要に関するページをご覧ください。

前提条件

特定の問題を効果的にトラブルシューティングするには、必要なすべてのデータがあることを確認する必要があります。 各トラブルシューティング ガイドには、診断設定クエリ ストア拡張メトリックの 3 つの異なる機能から提供される特定のデータ セットが必要です。 すべてのトラブルシューティング ガイドでは、ログを Log Analytics ワークスペースに送信する必要がありますが、キャプチャすべきログの特定のカテゴリは特定のガイドによって異なる場合があります。

ログの構成とアクセス - Azure Database for PostgreSQL - フレキシブル サーバーに関する記事で説明されている手順に従って、診断設定を構成し、ログを Log Analytics ワークスペースに送信します。

クエリ ストアと拡張メトリックは、サーバー パラメーターを使用して構成されます。 Azure portal または Azure CLI の「Azure Database for PostgreSQL - フレキシブル サーバーでサーバー パラメーターを構成する」に関する記事で説明されている手順に従ってください。

次の表は、各トラブルシューティング ガイドに必要なログ カテゴリに関する情報と、必要なクエリ ストア、拡張メトリック、サーバー パラメーターの前提条件を示しています。

トラブルシューティング ガイド 診断設定のログ カテゴリとメトリック クエリ ストア 拡張メトリック サーバー パラメーター
CPU PostgreSQL サーバー ログ
PostgreSQL サーバー セッション データ
PostgreSQL サーバー クエリ ストア ランタイム
AllMetrics
pg_qs.query_capture_mode を TOP または ALL に設定します metrics.collector_database_activity 該当なし
[メモリ] PostgreSQL サーバー ログ
PostgreSQL サーバー セッション データ
PostgreSQL サーバー クエリ ストア ランタイム
pg_qs.query_capture_mode を TOP または ALL に設定します metrics.collector_database_activity 該当なし
IOPS PostgreSQL サーバー クエリ ストア ランタイム
PostgreSQL サーバー ログ
PostgreSQL サーバー セッション データ
PostgreSQL サーバー クエリ ストアの Wait Statistics
pg_qs.query_capture_mode を TOP または ALL に設定します
pgms_wait_sampling.query_capture_mode を ALL に設定します
metrics.collector_database_activity track_io_timing を ON に設定します
一時ファイル PostgreSQL サーバー セッション データ
PostgreSQL サーバー クエリ ストア ランタイム
PostgreSQL サーバー クエリ ストアの Wait Statistics
pg_qs.query_capture_mode を TOP または ALL に設定します
pgms_wait_sampling.query_capture_mode を ALL に設定します
metrics.collector_database_activity 該当なし
自動バキューム監視 PostgreSQL サーバー ログ
PostgreSQL の自動バキュームとスキーマの統計
PostgreSQL の残りのトランザクション
該当なし 該当なし log_autovacuum_min_duration
自動バキューム ブロッカー PostgreSQL サーバー セッション データ
PostgreSQL の残りのトランザクション
該当なし 該当なし N/A

Note

診断設定、クエリ ストア、拡張メトリック、またはサーバー パラメーターを最近有効にした場合は、データが設定されるまでに時間がかかることがあることに注意してください。 さらに、特定の期間内にデータベースにアクティビティがない場合は、グラフが空白に表示される可能性があります。 このような場合は、時間範囲を変更して関連するデータをキャプチャしてみてください。 トラブルシューティングの作業を進める前に、システムが必要なデータを収集して表示できるようにしてください。

トラブルシューティング ガイドの使用

トラブルシューティング ガイドを使用するには、次の手順に従います。

  1. Azure portal を開き、調べる Azure Database for PostgreSQL フレキシブル サーバー インスタンスを見つけます。

  2. 左側のメニューの [監視] セクションで [トラブルシューティング ガイド] を選択します。

  3. ページの上部に移動すると一連のタブが表示されます。それぞれのタブは、解決する必要のある 6 つの問題のいずれかを表しています。 関連するタブをクリックします。

    トラブルシューティング ガイド - 表形式ビューのスクリーンショット。

  4. 分析する期間を選択します。

    時間範囲の選択のスクリーンショット。

  5. ガイドに記載されている詳細な手順に従います。 トラブルシューティングの手順でプロットされたグラフとデータの可視化に細心の注意を払ってください。これは、誤りや異常を特定するのに役立ちます。 この情報を使用して、目下の問題を効果的に診断し解決します。

クエリ ストアによって収集されたクエリのテキストの取得

プライバシーに関する考慮事項により、クエリ テキストやユーザー名などの特定の情報が Azure portal 内に表示されない場合があります。 クエリ ストアによって収集されたクエリのテキストを取得するには、Azure Database for PostgreSQL フレキシブル サーバーのインスタンスにログインする必要があります。 任意の PostgreSQL クライアントを使用して、クエリ ストア データが格納されている azure_sys データベースにアクセスします。 接続したら、query_store.query_texts_view view にクエリを実行して、目的のクエリ テキストを取得します。

クエリ テキストの取得のスクリーンショット。

ユーザーまたはロールの名前の取得

プライバシー上の理由から、Azure portal には、実際のユーザー名ではなく、PostgreSQL メタデータからのロール ID (pg_catalog) が表示されます。 ユーザー名を取得するには、pg_roles ビューに対してクエリを実行するか、Azure Cloud Shell や psql ツールなど、選択した PostgreSQL クライアントで次に示すクエリを使用します。

SELECT 'UserID'::regrole;

次の例では、識別子が 24776 のユーザーまたはロールの名前を取得します。

SELECT '24776'::regrole;

ユーザー名の取得のスクリーンショット。

Azure Database for PostgreSQL 製品チームと提案やバグを共有します