スロークエリ、接続タイムアウト、エラー率の上昇などが原因でアプリケーションのパフォーマンスが低下した場合、多くはデータベースレベルで根本原因を特定することから始めます。OpenTelemetry 向けマネージドサービスの [データベース] タブでは、データベース呼び出しのメトリック、スロークエリのパターン、例外の詳細が表示されるため、ツールを切り替えることなくボトルネックを特定できます。
データベース分析ページは、次の 3 つのレイヤーで構成されています。
データベースの概要:ご利用のアプリケーションが呼び出す全てのデータベースをフィルタリング、チャート化、一覧表示します。エラー率が最も高い、または応答時間が最も遅いデータベースを特定します。
データベース詳細:単一のデータベースにドリルダウンして、SQL パフォーマンス、例外、リクエストソース、およびトレースを分析します。
アラート:アラートルールを作成して、データベースの問題がユーザーに影響を与える前に検出します。
前提条件
開始する前に、以下を確認してください。
OpenTelemetry 向けマネージドサービスにデータをレポートするアプリケーション。セットアップ手順については、「接続の説明」をご参照ください。
データベース分析ページを開く
OpenTelemetry 向けマネージドサービスコンソールにログインします。
左側のナビゲーションウィンドウで、[アプリケーション] をクリックします。
[アプリケーション] ページの上部のナビゲーションバーでリージョンを選択し、アプリケーション名をクリックします。
上部のナビゲーションバーで [データベース] をクリックします。

データベースメトリックのフィルタリングと探索
クイックフィルター
[クイックフィルター] セクション (前の図のラベル 1) を使用して、以下の項目でチャートとデータベースリストを絞り込みます。
| フィルター | 説明 |
|---|---|
| データベースタイプ | MySQL、PostgreSQL、Redis などのデータベースエンジン |
| データベース名 | 特定のデータベースインスタンス名 |
| ホスト | データベースをホストしているサーバー |
トレンドチャート
トレンドチャートセクション (ラベル 2) には、次の 3 つのメトリックの時系列データが表示されます。
| メトリック | 説明 |
|---|---|
| リクエスト | データベース呼び出しの総数 |
| エラー | 失敗した呼び出しの数 |
| 平均応答時間 | 呼び出しあたりの平均レイテンシ |
アイコンをクリックすると、特定の期間のメトリックを表示したり、異なる日付の同じ期間を比較したりできます。
アイコンをクリックすると、縦棒グラフとトレンドチャートを切り替えることができます。
データベースリスト
データベースリスト (ラベル 3) には、次の列が表示されます。
| 列 | 説明 |
|---|---|
| データベース名 | データベースの名前 |
| データベースタイプ | データベースエンジン (例:MySQL、PostgreSQL、Redis) |
| 文 | データベースの文またはクエリ |
| リクエスト | 呼び出しの総数 |
| エラー | 失敗した呼び出しの数 |
| 平均応答時間 | 呼び出しあたりの平均応答時間 |
データベースリストから、次の操作を実行できます。
データベース詳細
データベースリストでデータベース名をクリックすると、その詳細ページが開きます。詳細ページには 5 つのタブがあります。
| タブ | 目的 |
|---|---|
| 概要 | データベース全体の健全性を一目で評価します |
| SQL 分析 | 低速または問題のあるクエリを検索して調査します |
| 例外 | 繰り返し発生するデータベースエラーを特定します |
| リクエストのソース | 呼び出しをトリガーした上流の操作までトレースします |
| トレースエクスプローラー | 詳細な診断のために複数のディメンションにわたるカスタムクエリを構築します |
概要
[概要] タブには、以下の時系列曲線と分布の内訳が表示されます。
リクエスト数
低速呼び出し数
平均応答時間
このタブを使用して、データベースが健全であるか、パフォーマンスが低下しているかを迅速に評価します。低速呼び出しの急増や平均応答時間の上昇は、[SQL 分析] タブまたは [例外] タブで調査する価値のあるボトルネックを示しています。

SQL 分析
[SQL 分析] タブは、低速または問題のあるクエリを見つけて調査するのに役立ちます。以下の内容が表示されます。
選択したデータベースインスタンスのリクエストトレンド (リクエスト数、低速な SQL クエリ、平均応答時間など)。
SQL クエリ統計の詳細なテーブル。
特定の SQL ステートメントをトレースするには、[アクション] 列の [トレース] をクリックします。詳細については、「Trace Explorer」をご参照ください。
一般的なワークフロー:
SQL 統計テーブルを [平均応答時間] (降順) で並べ替えて、最も遅いクエリを特定します。
低速なクエリのリクエスト数と平均応答時間を比較して影響を評価します。数千回呼び出される低速なクエリは、たまにしか呼び出されないクエリよりも影響が大きくなります。
[トレース] をクリックして個々の実行回数を検査し、遅延が継続的なものか断続的なものかを特定します。

例外
[例外] タブには、ご利用のアプリケーションが選択したデータベースインスタンスを呼び出すときに報告されたすべての例外が一覧表示されます。各エントリには、指定した期間の例外数と詳細が表示されます。
このタブを使用して、繰り返し発生するデータベースエラーを特定し、その根本原因を調査します。たとえば、特定の時間に接続タイムアウト例外が急増した場合、[概要] タブのリクエストボリュームと関連付けて、問題がトラフィックの過負荷に起因するのか、構成の問題に起因するのかを判断します。
詳細については、「例外分析」をご参照ください。

リクエストのソース
[リクエストのソース] タブには、どの上流の操作がこのデータベースを呼び出しているかが表示されます。以下の時系列曲線が表示されます。
応答時間
リクエスト数
エラー数
このタブは、パフォーマンスの問題を、データベース呼び出しをトリガーする特定のサービスまたは操作までさかのぼって追跡するのに役立ちます。たとえば、データベースの応答時間が長くなっている場合、[リクエストのソース] タブで、負荷が単一の大容量 API エンドポイントから来ているのか、複数のサービスに分散しているのかが明らかになり、最適化に集中すべき場所を特定できます。
トレースエクスプローラー
トレースエクスプローラーを使用すると、フィルター条件と集約ディメンションをリアルタイムで組み合わせてトレース詳細を分析できます。これを使用して、特定のリクエストを診断したり、複数のディメンションにわたるカスタムクエリを構築したりします。
詳細については、「トレースエクスプローラー」をご参照ください。

アラートの設定
エラーが発生した後に診断されるのを防ぐために、1 つまたはすべての操作に対してアラートルールを作成できます。条件が満たされると、システムは運用チームに自動的に通知を送信します。
詳細については、「アラートルールを作成する」をご参照ください。
