スパンの検索と分析
トランザクション検索には、属性を使用して取り込まれたすべてのスパンを検索および分析するためのビジュアルエディタが用意されています。ビジュアルエディタを使用してトランザクションスパンを絞り込み、インタラクティブな視覚化を作成して、分散アプリケーションの問題をトラブルシューティングできます。CloudWatch Logs Insights クエリ言語を使用してスパンを分析することもできます。このトピックでは、ビジュアルエディタにアクセスして使用する方法について説明します。
ビジュアルエディタ
次の手順は、ビジュアルエディタにアクセスする方法を示しています。
ビジュアルエディタにアクセスするには
-
CloudWatch コンソールの https://console.aws.amazon.com/cloudwatch/
を開いてください。 -
ナビゲーションペインから [Application Signals] を選択し、[トランザクション検索] を選択します。
サービス名、スパン期間、スパンステータスなどのスパン属性を使用して、トランザクションスパンをすばやく絞り込みます。これらのフィルターなどには、ビジュアルエディタの右側にある [フィルターの選択] でアクセスできます。
このビジュアルエディタは、スパン内の属性のリストを提案します。これらの属性には、自動計測によって追加された属性と、カスタム計測によって追加されたカスタム属性が含まれます。

スパンキーを選択し、値を入力してスパン結果を絞り込みます。「等しい」、「等しくない」など、さまざまなオペレーションを使用してスパンをフィルタリングできます。

クエリ形式
さまざまな形式を使用して、ビジュアルエディタでクエリを実行できます。このセクションでは、これらの各形式について説明します。
リスト
スパンまたはスパンイベントをリスト形式で表示し、各スパンに関する情報を表示します。このタイプの分析を使用して、個々のスパンを分析し、特定のトランザクションを理解し、トランザクションイベントの一意のパターンを特定します。その他のユースケースには次のようなものがあります。
ユースケース
-
カスタマーサポートチケットのトラブルシューティング
-
データベースクエリの実行に 1000 ミリ秒以上かかるなどの API または依存関係を検索する
-
エラーのあるスパンを検索する
次のスクリーンショットは、このタイプの分析を使用してカスタマーサポートチケットをトラブルシューティングする方法を示しています。
シナリオの例
ビジュアルエディタで、特定の顧客の問題があるすべてのトランザクションスパンをフィルタリングします。クエリを実行する前に、[名前を付けて視覚化] ドロップダウンから [リスト] を選択します。

結果には、トレース ID を選択してトランザクションのエンドツーエンドジャーニーを取得し、問題の根本原因を特定できるスパンのリストが表示されます。

時系列
スパンまたはスパンイベントを経時的に表示します。このタイプの分析を使用して、トランザクションアクティビティの傾向とスパイクを確認します。その他のユースケースには次のようなものがあります。
-
レイテンシーを視覚化する
-
スパンの頻度を視覚化する
-
パフォーマンスを視覚化する
次のスクリーンショットは、このタイプの分析で API の p99 レイテンシーの傾向を表示する方法を示しています。
シナリオの例
ビジュアルエディタで、分析するサービスと API をフィルタリングします。

クエリを実行する前に、[名前を付けて視覚化] ドロップダウンから [時系列] を選択します。[名前を付けてスパンを表示] ドロップダウンから期間統計に [P99] を選択します。

結果は、グラフの x 軸を時間、y 軸を p99 期間として、サービスのレイテンシー傾向を示しています。

グラフ上のポイントを選択すると、相関スパンとスパンイベントを表示できます。

グループ分析
アカウント ID やステータスコードなどの特定の属性に基づいてスパンまたはスパンイベントを集約し、統計メトリクスを表示します。このタイプの分析を使用して、クラスター内のスパンを分析し、さまざまなグループを比較し、マクロレベルで傾向を発見できます。その他のユースケースには次のようなものがあります。
ユースケース
-
サービス停止の影響を受ける上位の顧客を特定する
-
エラーが最も多いアベイラビリティーゾーンを特定する
-
最も遅いデータベースクエリを特定する
次のスクリーンショットは、このタイプの分析でサービス停止の影響を受けた上位の顧客を表示する方法を示しています。
シナリオの例
ビジュアルエディタでは、問題が発生したサービスをフィルタリングします。

クエリを実行する前に、[名前を付けて視覚化] ドロップダウンから [グループ分析] を選択します。クエリ結果を account.id
でグループ化し、結果の数を 10 に制限します。

結果には、最も多くのエラーが発生した上位 10 の顧客が表示されます。

CloudWatch Logs Insights
CloudWatch Logs Insights を使用してスパンを分析できます。
クエリの例
次のクエリは、最も遅いデータベースクエリの上位 5 つを示しています。
STATS pct(durationNano, 99) as `p99` by attributes.db.statement | SORT p99 ASC | LIMIT 5 | DISPLAY p99,attributes.db.statement
クエリの例
次のクエリは、エラーをスローしている上位 5 つのサービスを示しています。
FILTER `attributes.http.response.status_code` >= 500 | STATS count(*) as `count` by attributes.aws.local.service as service | SORT count ASC | LIMIT 5 | DISPLAY count,service