New Relicでは、AWS X-Rayのデータをレポートするための統合を提供しています。このドキュメントでは、この統合を有効にする方法と、レポート可能なデータについて説明します。
統合機能の有効化
AWS X-Rayの統合を有効にするには、標準的な手順に従って、 AWSサービスをインフラに接続します。.
AWSアカウントとNew Relicの接続に成功したら
one.newrelic.com > All capabilities > Infrastructure
に移動し、
AWS
をクリックします。
Manage Services
をクリックして、アクティブ化するAWSインテグレーションを選択します。
AWS X-Ray
の横にあるチェックボックスをオンにします。
Save
をクリックします。
構成とポーリング
ポーリング頻度の変更やデータのフィルタリングは、 設定オプション を使って行うことができます。
ここでは、AWS X-Ray統合のためのデフォルトの ポーリング の情報を示します。
- New Relicのポーリング間隔:5分
ヒント
最初のトレースが表示されるまでには20分ほどかかります。トレースは完了後に収集され、ポーリングインターバルごとに1回しか収集されないため、X-Rayのトレースデータはリアルタイム性に大きく欠け、警告には使用しないでください。
重要
ポーリング間隔が5分を超えると、トレースが失われることがあります。New Relic は 20 分以上経過したトレースデータを削除します。同様に、長時間実行されたトレースは不完全である可能性が高いです。X-Ray モニタリングは完了したトレースのみを収集し、20分以上前のトレース内のスパンはドロップされます。
データを見つけて使用する
New Relic は X-Ray セグメントをSpan
dataとして報告します。この統合を有効にすると、AWS X-Ray トレースが分散トレースに表示されるはずです。
スパンをフィルタリングするには、 newRelic.ingestPoint
属性を使用できます。この属性は、すべての X-Ray スパンでxray.polling
に設定されています。
X-Ray の取り込みを確認する NRQL クエリの例を示します。
SELECT count(*) FROM Span WHERE newRelic.ingestPoint = 'xray.polling' TIMESERIES
ここでは、X-Ray データと特定の API パフォーマンスを相関させる NRQL クエリの例を示します。
SELECT average(duration.ms) FROM Span WHERE newRelic.ingestPoint = 'xray.polling' AND http.url LIKE 'https://yourdomanin.com/api/v1/endpoint%' since 1 month ago LIMIT MAX TIMESERIES 1 day
カスタムIAMポリシーの使用
AWSアカウントをインフラストラクチャエージェントに接続する際にカスタムIAMポリシーを使用している場合、カスタムポリシーにはAWS X-Rayの統合が機能するために以下のパーミッションが必要となります。
xray:BatchGet*
xray:Get*
X線とラムダ関数
Lambda関数でX-Rayを使用するにはいくつかの設定が必要です。AWS Lambda Developer Guide』の「 Using AWS X-Ray 」のセクションを参照してください。
特に、Lambda関数の実行ロールは、X-Rayにデータを記録するために、 追加のパーミッションが必要になることに注意してください。
X-Rayとステップ機能 [#x-ray-step]
AWSのStep Functionステートマシンは分散型アプリケーションであり、X-Rayで監視することができる。 X-Rayがステップ・ファンクション・ステート・マシンのデータを取り込むためには、X-Rayのトレースを 明示的に有効にする必要があります。