AWS X-Ray SDK for Ruby - AWS X-Ray

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS X-Ray SDK for Ruby

X-Ray SDKは、Ruby ウェブアプリケーション用のライブラリです。トレースデータを作成して X-Ray デーモンに送信するためのクラスとメソッドを提供します。トレースデータには、アプリケーションによって処理された受信 HTTP リクエスト、および AWS SDK、HTTP クライアント、またはアクティブなレコードクライアントを使用してアプリケーションがダウンストリームサービスに対して行う呼び出しに関する情報が含まれます。セグメントを手動で作成し、注釈およびメタデータにデバッグ情報を追加することもできます。

gemfile に追加し、bundle install を実行することで、SDK をダウンロードできます。

例 Gemfile
gem 'aws-sdk'

Rails を使用する場合は、最初に X-Ray SDK ミドルウェアを追加して受信リクエストをトレースします。リクエストフィルタにより、セグメントが作成されます。セグメントが開いている間、SDK クライアントのメソッドを使用してセグメントに情報を追加し、サブセグメントを作成してダウンストリーム呼び出しをトレースできます。また、SDK では、セグメントが開いている間にアプリケーションがスローする例外を自動的に記録します。Rails 以外のアプリケーションの場合、手動でセグメントを作成することができます。

次に、X-Ray SDK を使用して AWS SDK for Ruby、関連するライブラリにパッチを適用するようにレコーダーを設定することで、、、HTTP、SQL クライアントを計測します。計測されたクライアントを使用してダウンストリーム AWS のサービス またはリソースを呼び出すと、SDK はサブセグメントの呼び出しに関する情報を記録します。 AWS のサービス サービス内でアクセスするリソースは、トレースマップにダウンストリームノードとして表示され、個々の接続でエラーやスロットリングの問題を識別しやすくなります。

SDK を入手したら、レコーダーを設定して動作をカスタマイズします。プラグインを追加して、アプリケーションを実行しているコンピューティングリソースに関するデータを記録したり、サンプリングルールを定義することでサンプリングの動作のカスタマイズしたり、ロガーを提供してアプリケーションログに SDK からの情報をより多くあるいは少なく表示することができます。

アプリケーションが注釈やメタデータで行うリクエストや作業に関する追加情報を記録します。注釈は、フィルタ式で使用するためにインデックス化されたシンプルなキーと値のペアで、特定のデータが含まれているトレースを検索できます。メタデータのエントリは制約が緩やかで、JSON にシリアル化できるオブジェクトと配列全体を記録できます。

注釈とメタデータ

注釈およびメタデータとは、X-Ray SDK を使用してセグメントに追加する任意のテキストです。注釈は、フィルタ式用にインデックス付けされます。メタデータはインデックス化されませんが、X-Ray コンソールまたは API を使用して raw セグメントで表示できます。X-Ray への読み取りアクセスを許可した人は誰でも、このデータを表示できます。

コードに多数の計測されたクライアントがある場合、単一のリクエストセグメントには計測されたクライアントで行われた呼び出しごとに 1 個の多数のサブセグメントを含めることができます。カスタムサブセグメントで、クライアント呼び出しをラップすることで、サブセグメントを整理してグループできます。関数全体またはコードの任意のセクションのサブセグメントを作成し、親セグメントにすべてのレコードを記述する代わりにサブセグメントにメタデータと注釈を記録できます。

SDK のクラスとメソッドのリファレンス ドキュメントについては、AWS X-Ray SDK for Ruby API リファレンスを参照してください。

要件

X-Ray SDK では Ruby 2.3 以降が必要です。また、次のライブラリと互換性があります。

  • AWS SDK for Ruby バージョン 3.0 以降

  • Rails バージョン 5.1 以降