ディストリビューティッド(分散)トレーシングの移行ガイド

この移行ガイドでは、ディストリビューティッド(分散)トレーシングを検討している場合に検討すべき重要な点を説明しています。

当社では、ディストリビューティッド(分散)トレーシングを有効にする前に、このガイドを読むことを推奨しています。

トピックには次のものがあります。

利用可能なデータソースの概要

New Relicのディストリビューティッド(分散)トレーシング機能では、複数のソースからのデータを表示できます。要件や有効にする方法の詳細について知るには、データソースを選択します。

利用しているシステムの分散の度合いを考慮する

システムが多数の相互接続されたサービスに依存している場合、またはそのようなアーキテクチャに移行している場合、ディストリビューティッド(分散)トレーシングを有効にすることで多くの利点が得られます。例えば、ご使用のアプリケーションが、APIサービスにコールを発行するブラウザクライアントで構成されており、そのAPIサービスがその他のサービスにコールを配信してデータを取得する場合、ディストリビューティッド(分散)トレーシングはエラーとレイテンシが発生する箇所を特定するのに役立ちます。バックエンドサービスがエンドツーエンド操作を完了するためにサービスへの非同期コールを使用する場合、非同期のアクティビティを表示して分析することができます。

(プロセスまたはプロセスのクラスタに含まれた)モノリシックなシステムを使用しており、当面の間その状態に留まる可能性が高い場合、ディストリビューティッド(分散)トレーシングによって得られる利点は限られます。たとえば、アプリケーションが単一のモノリシックなバックエンドサービスを呼び出すブラウザクライアントで構成されている場合、ディストリビューティッド(分散)トレーシングは問題の理解やトラブルシューティングにはあまり役立ちません。

New Relic APM機能への影響

現在のNew Relic APMユーザー向けに、このセクションでは、APMエージェントについてディストリビューティッド(分散)トレーシングを有効にすると、体験がどのように変わるかについて説明します。

New Relicのディストリビューティッド(分散)トレーシングは、以前のクロスアプリケーショントレーシング機能よりも優れています。以下に例を示します。

  • より多くのクロスサービスアクティビティの詳細と完全なエンドツーエンドトレース。
  • Ability to filter and query traces, and create custom charts.
  • クロスアカウントでは、コールがアカウント(同じマスターアカウントを持つアカウントまたは同じ顧客パートナーシップのアカウント)の境界を超えても、完全なトレースを表示できます。
  • その他の機能については、ディストリビューティッド(分散)トレーシングの基礎を参照してください。

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

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

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

アプリケーションに対してディストリビューティッド(分散)トレーシングが無効になると、外部サービスページには内部トランザクションの詳細が表示されません(以下のスクリーンショットを参照)。この情報を探すには、ディストリビューティッド(分散)トレーシングのUIページに移動し、外部コールのURLを見つけて、その子スパンを確認します。

ディストリビューティッド(分散)トレーシング - 詳細の少ない外部サービス
rpm.newrelic.com/apm > (選択したアプリケーション) > External services >(選択した外部サービス):ディストリビューティッド(分散)トレーシングを有効にすると、(ここに表示される)外部サービスのトランザクションの詳細が外部サービスページに表示されません。
トランザクショントレースのUIには、トランザクションのリンクではなく、サービスのURLが表示されます。

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

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

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

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

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

New Relic Mobileでは利用できません

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

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

展開の計画のためのヒント

New Relic APMですでに多くのアプリケーションのモニタリングを行っている場合、システム全体にディストリビューティッド(分散)トレーシングを展開する際に、次の点を考慮してください。

  • APMですでにモニタリングを行っているアプリケーションについては、これらのエージェントをアップデートし、トレースの一環としてこれらアプリケーションを表示する必要があります。
  • ビジネスにとって最も重要なリクエスト、または分析とトラブルシューティングが必要となる可能性の高いリクエストについて検討しましょう。これらの(サービスマップを使用する)リクエストに関連のある、最も重要なアプリケーションとサービスを決定し、それらのサービスのAPMエージェントを更新して有効にします。
  • サービスのトレーシングをほぼ同時に有効にすれば、エンドツーエンドのトレースの完全性をより簡単に評価することができます。
  • そのリクエストのトレースがUIに表示されるようになると、他のサービスへの外部コールのスパンがトレースに表示されます。これで、APMエージェントのインストール/アップグレード向けに、これらのサービスをターゲットにして、分散トレースに詳細を追加できるようになります。
  • アプリケーションがほぼスタンドアロンで、他のサービスと連携して頻繁に使用されない場合、ディストリビューティッド(分散)トレーシングを有効にする必要はありません。
  • トレースごとに多数のサブプロセスのスパンを抱える巨大なモノリシックアプリケーションの場合、トレースレポートの制限によって、予想していたトレースよりも少ないトレースしか表示されないことがあります。この問題には、エージェントインストゥルメンテーションを使用して、重要でないデータのレポートを無効にすることで対処できます。
New Relicディストリビューティッド(分散)トレーシングの段階的な展開の戦略
多数のNew Relicエージェントとの大規模なシステムにわたるディストリビューティッド(分散)トレーシングを有効にするための戦略の1つです。

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

この移行ガイドを読んで、次の段階に進む準備が整ったら、ディストリビューティッド(分散)トレーシングを有効にするをご覧ください。

その他のヘルプ

推奨する詳細情報: