クエリメトリクスビューには、正規化されたクエリの過去のクエリパフォーマンスが表示されます。インフラストラクチャーまたはデータセンターのアベイラビリティーゾーンなどのカスタムタグによってパフォーマンスの傾向を視覚化し、異常についてアラートを受け取ります。
Datadog の Query Metrics ページに移動します。
ビューには、上位 200 のクエリ、つまり、選択した時間枠で実行されている合計時間が最も長い 200 のクエリが表示されます。詳細については、追跡されるクエリを参照してください。1 回限りの、またはほとんど実行されない高速クエリのメトリクス集計は、クエリメトリクスビューには表示されませんが、過去 15 日間に実行された場合は、クエリサンプルに表示されるスナップショットを見つけることができます。
フィルタリングとグループ化
上部の source セレクターからデータベースソース (Postgres など) を選択します。検索タグを指定してクエリのリスト (またはストアドプロシージャ]7のリストがある場合はそのリスト)、をフィルタリングし、タグでグループ化してリストを整理します。
たとえば、ホストまたはクラスターごとにグループ化して、クエリが実行されているインフラストラクチャーをすばやく確認すると便利なことがよくあります。
最大 3 つ (たとえば、ホスト、環境、データセンター) でグループ化して、フィルター処理された結果のグループ化されたセットを取得できます。
グループを展開してクエリのリストを表示し、View all queries in this group (このグループ内のすべてのクエリを表示) をクリックして、そのグループ化条件をフィルターバーの Search フィールドに移動し、ページコンテンツをその検索結果にフィルターします。
ファセットによるフィルタリング
ビューの左側には、クエリのリストをフィルタリングするためのファセットのリストがあります。ファセットは次のとおりです。
- Core: サービス、ホスト、環境。
- Database: Postgres には
database
ファセットと user
ファセットがあります。MySQL には schema
ファセットがあります。 - Infrastructure: Agent によって収集された従来の Datadog インフラストラクチャータグ。
ファセットを選択またはクリアして、関心のあるクエリのリストを見つけます。
クエリメトリクスビューを単一のクエリにフィルタリングする
クエリメトリクスビューのコンテンツを 1 つの正規化クエリのみにフィルタリングする場合は、query
ではなく query_signature
でフィルタリングします。タグ名は 200 文字で切り捨てられます。クエリは長くなる可能性があるため、query
タグは必ずしも一意ではありません。query_signature
は正規化されたクエリのハッシュであり、正規化されたクエリの一意の ID として機能します。
(クエリシグネチャ値を検索せずに) 特定のクエリにフィルタリングする方法の1つが、リストからクエリをクリックすることです。これにより、Query Details ページが開くので、Filter to This Query をクリックします。これにより、クエリメトリクスページが query_signature
ファセットでフィルタリングされます。
メトリクスの確認
クエリメトリクスリストには、リクエスト、平均レイテンシー、合計時間、パーセント時間のメトリクスに加えて、データベース製品に依存するその他のメトリクスが表示されます。Options メニューをクリックして、リストに表示するメトリクスを制御します。列見出しにカーソルを合わせると、各タイプのメトリクスの説明が表示されます。列見出しをクリックして、そのメトリクスでリストを並べ替えます。
収集されたメトリクスの完全なリストを表示するには、データベース製品のインテグレーションデータ収集ドキュメントを参照してください。
データベースモニタリングビューに使用されるメトリクスは、主に次のとおりです。
- MySQL:
mysql.queries.*
- Postgres:
postgresql.queries.*
- SQL Server:
sqlserver.queries.*
- Oracle:
oracle.queries.*
クエリの詳細ページ
クエリメトリクスリストでクエリをクリックすると、そのクエリの Query Details ページが開きます。ページの上部には、正規化クエリの全文と、クエリに関連付けられているすべてのタグのリストが表示されます。タグのリストは、クエリが実行される各ホストからのすべてのタグの和集合です。リストを参照して、クエリが実行されているサーバーなどの情報を確認します。
このクエリのコンテキストにとどまり、View Query Samples ボタンを使用して Query Samples ページに移動するか、Filter by This Query ボタンを使用してこのクエリでフィルタリングされたクエリメトリクスに戻ります。
クエリの詳細を確認していて、クエリが実行されているホストを見つけたい場合は、Filter by This Query をクリックしてから、ホストでグループ化します。メトリクスリストには、クエリが実行されている各ホストが表示されます。Percent time で並べ替えて、特定のホストがクエリの実行の大部分を担っているかどうかを確認します。
Rows/Query で並べ替えて、特定のホストがより多くの行を返す傾向があるかどうかを確認します。これは、シャーディングがホスト間で不均衡であることを示しています。
メトリクスグラフ
グラフには、このクエリを除くすべてのクエリと比較した、このクエリのメトリクスが表示されます。このクエリの平均レイテンシーは他のクエリの平均よりもはるかに高いかもしれませんが、実行頻度が低いため、全体的な影響はわずかです。他のすべてのクエリと比較して、データベースの実行時にデータベースがどれだけの時間を費やしているかを確認できます。
Metrics タブをクリックして、このクエリのメトリクスのグラフをさらに表示します。
説明プラン
Datadog は実行計画を継続的に収集するため、特定のクエリに複数のプランを含めることができます。これらのプランは正規化されて個別に表示されるため、クエリのパフォーマンスが他のプランよりも優れているか、相対コストが高いかを確認できます。例えば、以下の実行計画はクエリの情報を含んでいます。
プランを選択して、コストメトリクスまたはその JSON を表示します。View All Samples for This Plan をクリックして、それに関連付けられているサンプルの Query Samples ビューに移動します。
クエリの種類やさまざまなコンフィギュレーション設定など、さまざまな理由から、すべてのクエリに説明プランがあるわけではありません。詳細については、トラブルシューティングを参照してください。
このクエリを実行しているホスト
Hosts Running This Query タブには、このクエリを実行しているホストが一覧表示され、ログやネットワークデータなど、ホストの関連情報に移動できるコンテキストメニューが表示されます。これは、レイテンシーの問題が発生している場所のトラブルシューティングに役立ちます。
データベースモニタリングダッシュボード
データベース関連のインフラストラクチャーとクエリメトリクスの視覚化を示すダッシュボードにすばやくアクセスするには、ページの上部にある Dashboards リンクをクリックします。すぐに使用できるダッシュボードを使用するか、必要に応じてクローンを作成してカスタマイズします。
その他の参考資料