アプリケーションのデータを Managed Service for OpenTelemetry にレポートした後、Managed Service for OpenTelemetry はアプリケーションを監視できます。 Managed Service for OpenTelemetry のトレースエクスプローラー機能を使用すると、フィルター条件と集約ディメンションをリアルタイムで組み合わせてトレースの詳細を分析できます。これにより、さまざまなシナリオで診断要件をカスタマイズできます。
前提条件
監視対象のアプリケーションのデータが Managed Service for OpenTelemetry にレポートされます。詳細については、「サービスまたはコンポーネントを統合する」をご参照ください。
トレースのフィルタリング
Managed Service for OpenTelemetry コンソール にログインします。左側のナビゲーションウィンドウで、[アプリケーション] をクリックします。
[アプリケーション] ページで、上部のナビゲーションバーでリージョンを選択し、アプリケーションの名前をクリックします。
上部のナビゲーションバーで、トレース エクスプローラー タブをクリックします。
[トレースエクスプローラー] タブの右上隅で、トレースをフィルタリングする時間範囲を指定します。
フィルター条件を指定します。
[クイックフィルター] セクションで、ステータス、期間、アプリケーション名、スパン名、またはホストアドレスでトレースをクエリします。
指定されたフィルター条件が検索バーに表示されます。
検索バーをクリックします。ドロップダウンフィルターパネルで、既存のフィルター条件を設定するか、カスタムフィルター条件を追加します。
検索バーにクエリ文を入力します。構文については、「トレースエクスプローラーの使用方法」をご参照ください。
説明[集約ディメンション] ドロップダウンリストの右側にある
アイコンをクリックして、指定したフィルター条件をビューに保存します。
[保存済みビュー] をクリックして、保存済みビューをすべて表示するか、ビューをクリックして対応するトレースデータを表示します。
クエリされたデータを特定のディメンションに基づいて集約します。
トレースリスト
フィルター条件を指定すると、一致するトレースデータが [トレースエクスプローラー] タブに表示されます。トレースデータには、スパンと HTTP エラーの縦棒グラフ、応答時間の時系列曲線、およびスパンリストが含まれます。
スパンリストでは、次の操作を実行できます。
スパンを見つけて、[操作] 列の [詳細] をクリックして、完全なトレース情報を表示します。詳細については、このトピックの「トレースの詳細」セクションをご参照ください。
スパンを見つけて、[操作] 列の [ログ] をクリックして、トレースのログを表示します。
右上隅にある
アイコンをクリックして、リストのフィールドを追加または非表示にします。
スパンにポインターを移動し、
アイコンをクリックして、現在のパラメーター値をフィルター条件として追加します。
散布図
[散布図] タブでは、X 軸に沿って時間ポイントが分布し、Y 軸に沿って応答時間が分布します。ポイントにポインターを移動すると、対応するトレースの基本情報を表示できます。ポイントをクリックすると、対応するトレースの呼び出しの詳細を表示できます。
トレース集約の詳細
トレースエクスプローラーでは、さまざまなディメンションに基づいてクエリされたスパンを分析できます。ただし、多数のスパンで構成されるトレースを分析する必要がある場合があります。トレース集約機能を使用すると、指定された条件を使用して最大 5,000 の分散トレースをクエリし、トレース ID に基づいて対応するスパンをクエリできます。次に、クエリされたスパンを集約して結果を取得できます。このプロセスでは、集約されたトレースの整合性が保証されます。
トレース集約機能を使用する場合は、指定された条件に基づいてトレースデータに対して集約クエリが実行されることに注意してください。複数のクエリ条件を指定すると、計算がリアルタイムで完了しない場合があります。しばらくお待ちください。
パラメーター | 説明 |
spanName | スパンの名前。 |
serviceName | スパンに対応するアプリケーションの名前。 |
リクエスト数/リクエストの割合 | リクエスト比率は、現在のスパンを呼び出すリクエストの総リクエスト数に対する比率を示します。 たとえば、10% は、リクエストの 10% が現在のスパンを呼び出すことを示します。 式: リクエスト比率 = 現在のスパンを呼び出すリクエスト数/総リクエスト数 × 100% |
スパン/リクエスト倍数 | リクエスト倍数は、各リクエストによって現在のスパンが呼び出される平均回数を示します。 たとえば、1.5 は、現在のスパンが各リクエストによって 1.5 回呼び出されることを示します。 式: リクエスト倍数 = スパン数/リクエスト数 |
平均自己消費/割合 | スパンの自己時間は、子スパンで費やされた時間を除外します。 たとえば、スパン A に 10 ミリ秒かかり、その子スパン(スパン B)に 8 ミリ秒かかる場合、スパン A の平均自己時間は 2 ミリ秒です。 式: スパンの平均自己時間 = スパンの合計時間 - すべての子スパンで費やされた時間 重要 非同期呼び出しの場合、スパンの自己時間はスパンの合計時間と同じです。 |
平均期間 | スパンの平均期間。 |
例外の数/例外の割合 | 例外比率は、例外のあるリクエストの総リクエスト数に対する比率を示します。 たとえば、3% は、リクエストの 3% で例外が発生することを示します。 式: 例外のあるリクエスト数/総リクエスト数 重要 例外のあるリクエストの数は、例外の数と同じではありません。リクエスト倍数が 1 より大きい場合、リクエストに複数の例外が含まれる場合があります。 |
例: スパン A はスパン B とスパン C を呼び出します。次の表にパラメーターを示します。
spanName | serviceName | リクエスト数/リクエストの割合 | スパン/リクエスト倍数 | 平均自己消費/割合 | 平均期間 | 例外の数/例外の割合 | |
A | - | demo | 10/100.00% | 10/1.00 | 5.00ms/25.00% | 20ms | 2/20.00% |
- | B | demo | 4/40.00% | 8/2.00 | 16.00ms/100.00% | 16ms | 2/50.00% |
- | C | demo | 1/10.00% | 1/1.00 | 4.00ms/100.00% | 4ms | 1/100.00% |
スパン A の リクエスト数/リクエストの割合 パラメーターは、リクエストの総数が 10 で、リクエスト比率が 100% であることを示します。スパン B の リクエスト数/リクエストの割合 パラメーターは、スパン B を呼び出すリクエストが 4 つだけであることを示します。同様に、スパン C を呼び出すリクエストは 1 つだけです。スパン B のリクエスト比率は 40% で、スパン C のリクエスト比率は 10% です。論理的判断または例外により、他のリクエストはスパン B とスパン C を呼び出しません。これは、リクエストの分布を反映しています。
スパン A の スパン/リクエスト倍数 パラメーターは 10/1.00 で、これはスパン A が各リクエストによって 1 回だけ呼び出されることを示します。ただし、スパン B の場合、8 つのスパンが 4 つのリクエストによって呼び出されます。したがって、スパン B は各リクエストによって 2 回呼び出されます。これは、各リクエストにおけるスパンの分布を反映しています。
スパン A の 平均自己消費/割合 パラメーターは 5.00 ms/25.00% で、これはスパン A の平均自己時間(スパン B とスパン C を除く)が 5 ミリ秒であることを示します。スパン A の平均自己時間は、全体の平均時間の 25% しか占めていません。ただし、スパン B とスパン C には子スパンがないため、スパン B とスパン C の平均自己時間は全体の平均時間と同じです。これは、平均期間の分布を反映しています。
スパン A の 例外の数/例外比率 パラメーターは 2/20.00% で、これはスパン A に 2 つの例外があり、リクエストの総数の 20% を占めていることを示します。スパン B の 例外の数/例外の割合 パラメーターは 2/50.00% です。各リクエストがスパン B を 2 回呼び出し、リクエストの総数が 4 で、例外比率が 50% であることを考えると、2 つのリクエストに例外があります。したがって、スパン B の例外の分布は次のようになります。合計 4 つのリクエストのうち、2 つのリクエストは成功します。残りの 2 つのリクエストのうち、各リクエストの最初の呼び出しで例外が発生しますが、2 番目の呼び出しは成功します。
特定のトレースの詳細を表示するには、ポインターを青いスパン名の上に移動します。推奨されるトレース ID をクリックして詳細を表示できます。
トレーストポロジー
[フルリンクトポロジー] タブには、集約されたトレースのアプリケーション間トポロジーが表示されます。次の図は、2 つのアプリケーションに呼び出し関係があることを示しています。各アプリケーションについて、リクエスト数、エラー数、および応答時間が表示されます。
トレースの詳細
コンポーネントタグ(前の図の番号 1 でマークされたセクション)
タグには、呼び出しタイプとスパンの数が表示されます。
呼び出しタイプは attributes.component.name フィールドによって定義されます。
タグをクリックすると、呼び出しタイプに関連するスパンを非表示または表示できます。
トレースの横棒グラフ(前の図の番号 2 でマークされたセクション)
横棒グラフには、トレース全体とスパンの分布が表示されます。
各横棒はスパンを表します。期間が合計期間の 1% より大きいスパンのみが表示されます。
異なる色は異なるアプリケーションを表します。前の図に示すように、青色は opentelemetry-demo-adservice アプリケーションを表します。
チャートの黒い線の長さは、スパンの自己時間を表します。これは、スパンの合計時間から子スパンで費やされた時間を引いたものです。スパン A がスパン B を呼び出すとします。スパン A に 10 ミリ秒かかり、スパン B に 8 ミリ秒かかります。この場合、スパン A には 2 ミリ秒かかります。
タイムラインは、トレースの時間範囲を表します。
トレースフォーカスとフィルタリング(前の図の番号 3 でマークされたセクション)
このセクションの各行はスパンを表し、親スパンと子スパンの階層関係を示します。各親スパンの前には数字が付いており、親スパンが所有する子スパンの数を示します。このセクションでは、次の操作を実行できます。
折りたたむ:
アイコンをクリックして、スパンを折りたたむか展開します。
フォーカス: スパンを選択し、
アイコンをクリックします。スパンのデータとダウンストリームデータのみが表示されます。
フォーカス解除:
アイコンをクリックして、スパンのフォーカスを解除します。
フィルター: 検索ボックスにスパンの情報(スパン名、アプリケーション名、属性など)を入力して、スパンからエントリスパンまでのトレースデータを表示します。フィルタリングをキャンセルするには、検索ボックスから入力情報を削除し、検索アイコンをクリックします。
拡大/縮小:
アイコンをクリックしてトレースを拡大し、横棒グラフを非表示にします。
アイコンをクリックして横棒グラフを表示します。
スパンの詳細(前の図の番号 4 でマークされたセクション)
スパンの詳細セクションには、現在のスパンの詳細、および関連するメトリックデータ、ログ、例外情報が表示されます。カスタムインタラクションイベントを管理し、インタラクションイベントのトリガーを設定することもできます。
追加情報: スパンの属性、リソース、詳細、およびイベントが表示されます。追加情報は種類別にグループ化されます。スパンの詳細にあるフィールドについては、「Trace Explorer パラメーター」をご参照ください。
メトリック: スパンに関連するメトリックが表示されます。ARMS で監視されている Java アプリケーションのトレースの場合、JVM とホストに関するメトリックが表示されます。オープンソースエージェントによってレポートされたトレースの場合、レート、エラー、期間を含む RED メソッドによって定義されたメトリックが表示されます。
ログ: トレースに関連するビジネスログが表示されます。アプリケーションの Simple Log Service (SLS) Logstore を設定している場合は、Logstore に移動して、トレース ID に基づいてビジネスログをクエリできます。
例外: スパンに関連する例外情報(存在する場合)が表示されます。
イベント設定: トレースの 1 つ以上の属性にインタラクションイベントを設定できます。これにより、トレースに関する詳細をクエリしたり、トレースに関連するログとメトリックを表示したりできます。カスタムインタラクションイベントの設定方法については、「トレースのカスタムインタラクションイベントを設定する」をご参照ください。
次のステップ
特定のエラーが診断されないようにするために、アラート機能を使用して特定の操作のアラートルールを作成できます。指定されたエラーが発生すると、システムは O&M チームに自動的に通知します。アラートルールの作成方法の詳細については、「アラートルールを作成する」をご参照ください。