翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
のアプリケーションの計測 AWS X-Ray
アプリケーションを計測するには、アプリケーション内の受信と送信リクエストおよびその他のイベントのトレースデータを、各リクエストに関するメタデータと一緒に送信する必要があります。特定の要件に基づいて、選択または組み合わせることができる計測オプションがいくつかあります。
-
自動計測 – 通常、設定の変更または自動計測エージェントや他のメカニズムを追加して、コードをゼロに変更してアプリケーションを計測します。
-
ライブラリインストルメンテーション — アプリケーションコードの変更を最小限に抑えて、、Apache HTTPクライアント AWS SDK、SQLクライアントなどの特定のライブラリまたはフレームワークを対象とした構築済みのインストルメンテーションを追加します。
-
手動計測 – トレース情報を送信する各場所で、アプリケーションに計測コードを追加します。
X-Ray トレース用にアプリケーションを計測するために使用できる SDKs、エージェント、ツールがいくつかあります。
トピック
AWS Distro for を使用したアプリケーションの計測 OpenTelemetry
AWS Distro for OpenTelemetry (ADOT) は、Cloud Native Computing Foundation (CNCF) OpenTelemetry プロジェクトに基づくディス AWS トリビューションです。 は、分散トレースとメトリクスを収集するためのオープンソースの APIs、ライブラリ、エージェントの単一のセット OpenTelemetry を提供します。このツールキットは、、自動計測エージェントSDKs、コレクターなどのアップストリーム OpenTelemetry コンポーネントのディストリビューションであり、 によってテスト、最適化、保護、サポートされています AWS。
を使用するとADOT、エンジニアはアプリケーションを一度計測し、相関メトリクスとトレースを Amazon CloudWatch、 AWS X-Ray、Amazon OpenSearch Service などの複数の AWS モニタリングソリューションに送信できます。
で X-Ray を使用するには、X-Ray での使用OpenTelemetry SDKが有効になっている AWS と、X-Ray での使用が有効になっている Distro for OpenTelemetry Collector の 2 つのコンポーネントADOTが必要です。Distro for を OpenTelemetry AWS X-Ray およびその他の AWS で使用する方法の詳細については AWS のサービス、「 AWS Distro for OpenTelemetry Documentation
言語のサポートと使用の詳細については、AWS 「 のオブザーバビリティ GitHub
注記
CloudWatch エージェントを使用して、Amazon EC2インスタンスおよびオンプレミスサーバーからメトリクス、ログ、トレースを収集できるようになりました。 CloudWatch エージェントバージョン 1.300025.0 以降ではSDKs、 OpenTelemetryまたは X-Ray クライアント からトレースを収集して X-Ray に送信できます。Distro for OpenTelemetry (ADOT) Collector AWS または X-Ray デーモンの代わりに CloudWatch エージェントを使用してトレースを収集することで、管理するエージェントの数を減らすことができます。詳細については、「 CloudWatch ユーザーガイド」のCloudWatch 「 エージェント」トピックを参照してください。
ADOT には以下が含まれます。
ADOT には現在、Java
ADOT SDKs for Java と Go は、X-Ray の一元化されたサンプリングルールをサポートしています。他の言語で X-Ray サンプリングルールをサポートする必要がある場合は、 の使用を検討してください AWS X-Ray SDK。
注記
これで、W3C トレースIDsを X-Ray に送信できます。デフォルトでは、 で作成されたトレース OpenTelemetry には、W3C トレースコンテキスト仕様 に基づくトレース ID 形式があります
を使用したアプリケーションの計測 AWS X-Ray SDKs
AWS X-Ray には、X-Ray SDKsにトレースを送信するためにアプリケーションを計測するための言語固有のセットが含まれています。各 X-Ray SDKには以下が用意されています。
-
受信HTTPリクエストを追跡するためにコードに追加するインターセプター
-
アプリケーションが他の を呼び出すために使用するクライアントを計測 AWS SDKするクライアントハンドラー AWS のサービス
-
他の内部および外部HTTPウェブサービスへの呼び出しを計測する HTTP クライアント
X-Ray は、SQLデータベースへのインストルメンテーション呼び出し、自動 AWS SDKクライアントインストルメンテーション、およびその他の機能SDKsもサポートしています。トレースデータを X-Ray に直接送信する代わりに、 SDKはJSONセグメントドキュメントをUDPトラフィックをリッスンするデーモンプロセスに送信します。 X-Ray デーモン は、セグメントをキューにバッファリングし、バッチでX-Rayにアップロードします。
以下の言語固有SDKsが提供されます。
X-Ray は現在、Java用の自動計測サポートを含んでいます。
Distro for AWS OpenTelemetry と X-Ray の選択 SDKs
X-Ray SDKsに含まれている は、 が提供する緊密に統合された計測ソリューションの一部です AWS。 AWS Distro for OpenTelemetry は、X-Ray が多くのトレースソリューションの 1 つにすぎない、より広範な業界ソリューションの一部です。どちらの方法でも X-Ray に end-to-end トレースを実装できますが、最も有用なアプローチを決定するには、違いを理解することが重要です。
以下 OpenTelemetry が必要な場合は、 Distro for AWS を使用してアプリケーションを計測することをお勧めします。
-
コードを再計測することなく、トレースを複数の異なるトレースバックエンドに送信する機能
-
コミュニティが OpenTelemetry管理する、言語ごとの多数のライブラリインストルメンテーションのサポート
-
Java、Python、Node.js を使用するときにコード変更する必要がない、テレメトリデータの収集に必要なすべてがパッケージ化された完全マネージド型の Lambda レイヤー
注記
AWS Distro for OpenTelemetry では、Lambda 関数をインストルメント化するための簡単な入門エクスペリエンスが提供されます。ただし、柔軟性 OpenTelemetry の提供により、Lambda 関数に追加のメモリが必要になり、呼び出しでコールドスタートのレイテンシーが増加し、追加料金が発生する可能性があります。低レイテンシー向けに最適化していて、バックエンドの送信先を動的に設定できるなど、 OpenTelemetryの高度な機能を必要としない場合は、 AWS X-Ray を使用してアプリケーションをSDK計測できます。
以下が必要な場合は、X-Ray を選択してアプリケーションをSDK計測することをお勧めします。
-
緊密に統合されたシングルベンダーソリューション
-
Node.js、Python、Ruby、または を使用する場合、X-Ray コンソールからサンプリングルールを設定し、複数のホストで自動的に使用する機能など、X-Ray の一元化されたサンプリングルールとの統合。NET