Skip to main content

AWS X-Ray

Overview

AWS X-Ray(以降、X-Rayと表記)は、アプリケーションやその基盤となるサービスの実行状況を把握し、パフォーマンスの問題やエラーの根本原因を特定して、トラブルシューティングに活用できるサービス。
X-Rayは、アプリケーションのリクエストに関するレスポンスタイムやレスポンスステータスといったデータ収集をしてコンソール上で表示し、収集したデータのパターンや問題を分析したり特定できる。
同じような監視のサービスでCloudWatchがありますが、X-Rayはクライアントとなるアプリケーションを中心とした関連サービスのパフォーマンスデータやリクエストレスポンスなどの実行内容も抽出ができます。そのデータを下図のようなサービスマップに表示することで全体のパフォーマンスを確認できる。
リソースのレイテンシーや障害の発生率の特定など問題の特定に役立つ。

Image from Gyazo

参考URL 参考URL

アプリケーションへのリクエストに関するデータを収集するAWSのマネージドサービス。 CloudWatchを使用することでインフラレイヤでのパフォーマンスを確認できるが、X-Rayはアプリケーションレイヤを対象としてレスポンスタイムやレスポンスステータスなどの情報を収集する 特にマイクロサービスのように多くのサービスが呼び出し合う際に、アプリケーションのパフォーマンス問題やそのボトルネックについて特定するのに役立つ。

X-Rayはアプリケーションとは別プロセスで起動するエージェント(X-Rayデーモン)を使用する。 アプリケーションからトレース情報を収集した後にSDKを使用して、X-Rayデーモンに送信します。 X-RayデーモンがデータをバッファリングしてX-Ray APIにデータを定期的に転送するというのが基本的な動きとなります。

CloudWatchとの違い

CloudWatchはAWSで稼働している各サービスを監視するモニタリングサービス。

X-Ray サービスマップと呼ばれるグラフから全体のパフォーマンスを確認でき、リソースのレイテンシーや障害の発生率特定ができる。

CloudWatch AWSサービスのログの管理メトリクス監視を通じて、アプリを監視できる。