クロスアプリケーションのトレース

Example trace map

New Relic APM の Cross Application Tracing 機能は、サービス指向アーキテクチャ(SOA)のコンテキストでトランザクションを表示します。この機能は、例えば、(“呼び出し側”)アプリと(”呼ばれる側”)内部または外部のアプリ間のパフォーマンスの問題を特定したい場合に便利です。

可視化は以下のことをするのをサポートします。

  • クロスアプリケーション呼び出しフローにおけるボトルネックの場所
  • 特定のトランザクションが他のアプリケーションやサービスによってどのように使用されるかを端から端まで理解する
  • より早く問題を診断し、チーム間の連携を強化する。
この機能の利用可否は、契約しているサブスクリプションレベルによって異なります。

セキュリティに関する考慮事項

クロスアプリケーション解析は、呼び出し側と呼ばれる側のアプリ間の情報を変換するために、以下の3つの HTTP ヘッダーを利用しています。

  • はじめの2つの (X-NewRelic-IDX-NewRelic-Transaction) は、計測されたアプリケーションによって送信されるリクエスト内の HTTP リクエストヘッダーにあります。
  • 呼ばれたアプリが呼び出し側のアプリと同じ New Relic アカウントに属していた場合、残りのヘッダー (X-NewRelic-App-Data) は、HTTP レスポンスに挿入されます。

これらのヘッダはすべてを難読化されます。ページ読み込みタイミング(リアルユーザー監視、RUM とも呼ばれる)のための New Relic Browser の設定に使用されているものと同じ難読化方式を使用します。難読化に利用するキーは異なるものを使います。

HTTP ヘッダー 説明
X-NewRelic-ID (リクエストヘッダーに含まれる) 呼び出しを行うアプリケーションのアカウントIDとアプリケーションIDが含まれています
X-NewRelic-Transaction (リクエストヘッダーに含まれる) この呼び出しが属する個別のトランザクションについての情報 (トランザクションを生成した上流の呼び出しに関する情報と呼び出し元のトランザクションへの一意の GUID)
X-NewRelic-App-Data (該当する状況の場合、レスポンスに含まれる)

呼び出されたアプリに関する以下の情報

  • アカウントID
  • アプリケーションID
  • 呼ばれたトランザクションの名前
  • 呼ばれたトランザクションの時間情報
  • 呼ばれたトランザクションの GUID

Map のオプション

アプリのクロスアプリケーショントレースの詳細を表示するには、お互い HTTP リクエスト経由で通信する2つのアプリが必要です。また、New Relic エージェントが Map 機能をサポートしていることを確認してください。

  • 複数アプリ間の呼び出しフローの単一のインスタンスを表示するには、trace map [トレースマップ]を選択します
  • トランザクションへの多くの呼び出しの共通のパスを表示するには、transaction map [トランザクションマップ]を選択します
New Relic エージェントが map 機能をサポートしていない場合でも、アーキテクチャ map としてアプリとその関連サービスを表示できます。New Relic APM のメニューバーから、Applications > (選択したアプリ) > Monitoring > Mapを選択する。これは、例えば、クロスアプリケーションのトレースにおけるアプリ間の関係を見るのに便利です。

ビデオ

以下はオリジナルのクロスアプリケーション解析機能(トレースマップはなし)についてのビデオです。


New Relic APM のオリジナルのクロスアプリケーション解析機能が動作するのかについての例。(4分)

関連情報

関連情報は次のとおりです。