イベント駆動型アプリケーションのトレース - AWS X-Ray

イベント駆動型アプリケーションのトレース

AWS X-Ray は Amazon SQS および AWS Lambda を使用したイベント駆動型アプリケーションのトレースをサポートします。CloudWatch コンソールを使用すると、各リクエストが Amazon SQS のキューに入れられ、1 つ以上の Lambda 関数によって処理される過程を各リクエストの接続されたビューで確認できます。アップストリームメッセージプロデューサーからのトレースは、ダウンストリーム Lambda コンシューマーノードからのトレースに自動的にリンクされるため、アプリケーションのエンドツーエンドのビューが作成されます。

注記

各トレースセグメントは最大 20 のトレースにリンクできます。また、1 つのトレースには最大 100 のリンクを含めることができます。シナリオによっては、追加のトレースをリンクするとトレースドキュメントの最大サイズを超え、トレースが不完全になる可能性があります。例えば、トレーシングが有効になっている Lambda 関数が 1 回の呼び出しで多数の SQS メッセージをキューに送信した場合に発生することがあります。この問題が発生した場合は、X-Ray SDK を使用する緩和策があります。詳細については、JavaNode.jsPythonGo、または .NET 用の X-Ray SDK を参照してください。

リンクされたトレースをトレースマップに表示

CloudWatch コンソール[トレースマップ] ページを使用して、Lambda コンシューマーからのトレースにリンクされたメッセージプロデューサーからのトレースを含むサービスマップを表示します。これらのリンクは、Amazon SQS ノードとダウンストリーム Lambda コンシューマーノードを接続する破線のエッジで表示されます。

Amazon SQS ノードと Lambda ノードの間のエッジ。

破線のエッジを選択すると、[受け取ったイベントが発生してから経過した時間]ヒストグラムが表示されます。これは、コンシューマーが受け取ったイベントの経過時間の分布をマッピングしたものです。経過時間は、イベントを受信するたびに計算されます。

受け取ったイベントが発生してから経過した時間ヒストグラムを含むエッジ。

リンクされたトレースの詳細の表示

メッセージプロデューサー、Amazon SQS キュー、または Lambda コンシューマーから送信されたトレースの詳細を表示します。
  1. [トレースマップ] を使用して、メッセージプロデューサー、Amazon SQS、または Lambda コンシューマーノードを選択します。

  2. ノードの詳細ペインから [トレースを表示] を選択すると、トレースのリストが表示されます。CloudWatch コンソール内の [トレース] ページに直接移動することもできます。

  3. リストから特定のトレースを選択し、トレースの詳細ページを開きます。選択したトレースが、リンクされたトレースセットの一部である場合、トレースの詳細ページにメッセージが表示されます。

    リンクされたトレースの詳細

トレース詳細マップには、現在のトレースと、アップストリームとダウンストリームにリンクされたトレースが表示されます。各トレースは、トレースごとの境界を示すボックスに含まれています。現在選択されているトレースがアップストリームまたはダウンストリームの複数のトレースにリンクされている場合、アップストリームまたはダウンストリームにリンクされているトレース内のノードは積み重ねられ、[トレースを選択] ボタンが表示されます。

複数のリンクされたアップストリームトレース

トレース詳細マップの下には、アップストリームとダウンストリームのリンクされたトレースを含むトレースセグメントのタイムラインが表示されます。アップストリームまたはダウンストリームにリンクされたトレースが複数ある場合、それらのセグメントの詳細は表示できません。リンクされたトレースセット内の 1 つのトレースのセグメント詳細を表示するには、以下の説明に従って 1 つのトレースを選択します。

リンクされたトレースを表示するセグメントのタイムライン

リンクされたトレースのセットから 1 つのトレースを選択

リンクされたトレースセットを 1 つのトレースにフィルタリングすると、タイムラインにセグメントの詳細が表示されます。
  1. トレース詳細マップ上のリンクされたトレースの下にある [トレースを選択] を選択します。トレースのリストが表示されます。

    リンクされたトレースリスト
  2. トレース詳細マップ内に表示するには、トレースの横のラジオボタンを選択します。

  3. [トレースの選択をキャンセル] を選択すると、リンクされたトレースのセット全体が表示されます。

    単一リンクトレース