APMのクロスアプリケーショントレーシングを使用すると、APMがモニターするアプリケーション間でトランザクションをリンクできます。
クロスアプリケーショントレーシングとは?
重要
クロスアプリケーショントレーシングを使用する代わりに、ディストリビューティッド(分散)トレーシング機能を使用することをお勧めします。ディストリビューティッド(分散)トレーシングはクロスアプリケーショントレーシングの機能を向上させたものであり、大規模な分散システムに適しています。
APMのクロスアプリケーショントレースでは、サービス指向アーキテクチャー(SOA)内にあるAPMアプリケーション間のトランザクションをリンクします。これはたとえば、自分のアプリケーション(「呼び出し元」アプリケーション)と内部あるいは外部サービス(「呼び出し先」アプリケーション)で発生するパフォーマンスの問題(例:内部サービスへのトラフィック)を特定する場合に有効です。
これは以下に役立ちます。
- クロスアプリケーションのコールフロー内のボトルネックを発見します。
- 特定のトランザクションが他のアプリケーションやサービスによってどのように使用されているかを、エンドツーエンドで把握します。
- 問題をより迅速に診断し、チーム間のコラボレーションを強化します。
セキュリティに関する懸念事項
クロスアプリケーショントレーシングでは3つのHTTPヘッダーを使って、呼び出し元アプリケーションと呼び出し先アプリケーションの間で情報をやり取りします。
- 最初の2つ(
X-NewRelic-ID
とX-NewRelic-Transaction
)は、インストゥルメントされたアプリケーションによって送られた送信リクエスト内の、HTTPリクエストヘッダーとして表示されます。 - 残りのヘッダー(
X-NewRelic-App-Data
)は、呼び出されたアプリケーションが呼び出し元アプリケーションと同一のNew Relicアカウントに属している場合、HTTPレスポンスに挿入されます。
New Relicは、に使用するものと同一の難読化スキームを使用して、これらのヘッダーすべてを難読化しますが、異なるキーを使用します。
HTTPヘッダー | 説明 |
---|---|
(リクエストヘッダー内) | アカウントIDと、呼び出しを行うアプリケーションのアプリケーションIDを含む |
(リクエストヘッダー内) | 呼び出しによって作成される個々のトランザクションに関する情報(呼び出し元トランザクションにとってユニークなGUIDと、トランザクションを発生させたアップストリームの呼び出しに関する情報)を含む |
(該当する場合、レスポンス内) | 呼び出し先アプリケーションに関する次の情報を含みます。
|