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
診断設定、クエリ ストア、拡張メトリック、またはサーバー パラメーターを最近有効にした場合は、データが設定されるまでに時間がかかることがあることに注意してください。 さらに、特定の期間内にデータベースにアクティビティがない場合は、グラフが空白に表示される可能性があります。 このような場合は、時間範囲を変更して関連するデータをキャプチャしてみてください。 トラブルシューティングの作業を進める前に、システムが必要なデータを収集して表示できるようにしてください。
トラブルシューティング ガイドの使用
トラブルシューティング ガイドを使用するには、次の手順に従います。
Azure portal を開き、調べる Azure Database for PostgreSQL フレキシブル サーバー インスタンスを見つけます。
左側のメニューの [監視] セクションで [トラブルシューティング ガイド] を選択します。
ページの上部に移動すると一連のタブが表示されます。それぞれのタブは、解決する必要のある 6 つの問題のいずれかを表しています。 関連するタブをクリックします。
分析する期間を選択します。
ガイドに記載されている詳細な手順に従います。 トラブルシューティングの手順でプロットされたグラフとデータの可視化に細心の注意を払ってください。これは、誤りや異常を特定するのに役立ちます。 この情報を使用して、目下の問題を効果的に診断し解決します。
クエリ ストアによって収集されたクエリのテキストの取得
プライバシーに関する考慮事項により、クエリ テキストやユーザー名などの特定の情報が 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 製品チームと提案やバグを共有します。
関連するコンテンツ
- Azure Database for PostgreSQL - フレキシブル サーバー用のインテリジェント チューニングを構成する。
- Azure Database for PostgreSQL - フレキシブル サーバーのトラブルシューティング ガイド。
- Azure Database for PostgreSQL - フレキシブル サーバーでの自動バキュームのチューニング。
- Azure Database for PostgreSQL - フレキシブル サーバーで IOPS 使用率が高い場合のトラブルシューティング。
- Azure Database for PostgreSQL - フレキシブル サーバーでのデータの一括アップロードに関するベスト プラクティス。
- Azure Database for PostgreSQL の CPU 使用率が高い場合のトラブルシューティング - フレキシブル サーバー。
- Azure Database for PostgreSQL - フレキシブル サーバーでの Query Performance Insight。