ディストリビューティッド(分散)トレーシング:計画作成ガイド

New Relicディストリビューティッド(分散)トレーシング をこれまで使用したことがない場合、ディストリビューティッド(分散)トレーシングを有効にする前に次の文書を読むことを推奨します。

APM機能への影響

ディストリビューティッド(分散)トレーシングにより、 APMの以前のクロスアプリケーショントレース機能が改善しています。主なメリットは次のとおりです:

  • より多くのクロスサービスアクティビティの詳細と完全なエンドツーエンドトレースを表示します。
  • クエリのトレースを絞り込み、カスタムチャートを作成します。
  • クロスアカウントでは、コールがアカウント(同じマスターアカウントを持つアカウントまたは同じ顧客パートナーシップのアカウント)の境界を超えても、完全なトレースを表示できます。
  • その他の機能については、ディストリビューティッド(分散)トレーシングの機能を参照してください。

ディストリビューティッド(分散)トレーシングを有効にすると、現在使用している一部のAPM機能に影響を与える場合があります。これらの変更は、ディストリビューティッド(分散)トレーシングが有効になっているエージェントによる監視対象アプリケーションにのみ影響を与えます。アカウントレベルでの影響はありません。

当社は、将来のリリースで影響を受ける機能の一部または全部に対して下位互換性を提供する可能性があります。それまでの間、ディストリビューティッド(分散)トレーシングを有効にする前に、以下の変更点について理解する必要があります。

外部サービスページには、あまり詳細が表示されません。

ディストリビューティッド(分散)トレーシングがアプリケーションで有効にされていない場合、外部コールには内部トランザクションはありません。詳細は、one.newrelic.com > APM > (アプリケーションを選択) > Monitor > External services > (外部サービスを選択)で確認してください。

この情報を探すには、ディストリビューティッド(分散)トレーシングのUIページに移動し、外部コールのURLを見つけて、その子スパンを確認します。

トランザクショントレースのUIには、トランザクションのリンクではなく、サービスのURLが表示されます。

アプリケーションでディストリビューティッド(分散)トレーシングを有効にすると、呼び出されたサービスのトランザクション名とリンクがトランザクショントレースのUIに表示されなくなります(下記のスクリーンショットを参照)。これは、呼び出されたサービスのURLで交換されます。

ディストリビューティッド(分散)トレーシング - トランザクショントレースの効果
one.newrelic.com >(アプリケーションを選択)> Monitor > Transactions >(トランザクショントレースを選択):ここには、関連するトランザクションへのリンクと一緒に、ディストリビューティッド(分散)トレーシングを有効にする前のトランザクショントレースのUIが表示されます。ディストリビューティッド(分散)トレーシングを有効にすると、サービスのURLが表示されます。

トレースアクティビティのさらなる詳細については、ディストリビューティッド(分散)トレーシングのUIページに移動して、そのトレースを調査します。

クロスアプリケーショントレーシングが無効になる

ディストリビューティッド(分散)トレーシングを有効にすると、クロスアプリケーショントレーシング機能が無効になります。ディストリビューティッド(分散)トレーシングは、クロスアプリケーショントレーシングの改良版であり、一度に有効にできるのは1つだけです。

Mobileモニタリングに関連する影響

ディストリビューティッド(分散)トレーシングは、Mobileモニタリングではまだご利用いただけません。APM関連の影響としては、次のものがあります。

  • APMによって監視されるエンティティに対してディストリビューティッド(分散)トレーシングが有効になっている場合、サービスマップはMobileによって監視されるアプリケーションを表示しません。
  • HTTPリクエストのUIページのアプリケーションサーバーのドリルダウン機能は使用できません。

段階的な展開の計画

大規模な分散型システムでディストリビューティッド(分散)トレーシングを有効にしている場合、次のようなヒントをご活用ください:

  • 現在APMを使用している場合、APM機能への影響をご覧ください。
  • ビジネスにとって最も重要なリクエスト、または分析とトラブルシューティングが必要となる可能性の高いリクエストについて検討し、こうしたサービスについてディストリビューティッド(分散)トレーシングを有効にしましょう。サービスのトレーシングをほぼ同時に有効にすれば、エンドツーエンドのトレースの完全性をより簡単に評価することができます。
  • ディストリビューティッド(分散)トレーシングのUIですべてのトレースを見ると、他のサービスへの外部呼び出しについて、トレースでのスパンが表示されます。その後、希望するサービスについて、ディストリビューティッド(分散)トレーシングを有効にできます。サービスがほぼスタンドアロンで、他のサービスと連携して頻繁に使用されない場合、ディストリビューティッド(分散)トレーシングを有効にする必要はありません。

    こうした段階的な展開を図示すると次のようになります:

    ディストリビューティッド(分散)トレーシングの展開戦略を示す図
  • 大規模なモノリシックサービスにAPMを使用している場合、トレースごとに多くのサブプロセススパンがあり、APMの制限により、予想よりトレースが減る場合があります。この問題は、APMエージェントインストゥルメンテーションを使用して、重要でないデータのレポートを無効にすることで解決できます。
  • ディストリビューティッド(分散)トレーシングは、リクエストパスでサービスからサービスにヘッダー情報を伝搬して機能します。一部のサービスでは、ヘッダーを自動的に伝搬しないプロキシまたはその他の仲介サービスを通じて通信を行います。この場合、newrelicヘッダーの値をソースから送信先に伝搬できるよう、そのプロキシを設定する必要があります。

ディストリビューティッド(分散)トレーシングの有効化

APM機能への影響について認識しており、展開についての考えがある場合、ディストリビューティッド(分散)トレーシングの設定を行えます。概要: ディストリビューティッド(分散)トレーシングを有効にするをご覧ください。

その他のヘルプ

さらに支援が必要な場合は、これらのサポートと学習リソースを確認してください: