New Relicディストリビューティッド(分散)トレーシング をこれまで使用したことがない場合、ディストリビューティッド(分散)トレーシングを有効にする前に次の文書を読むことを推奨します。
APM機能への影響
ディストリビューティッド(分散)トレーシングにより、 APMの以前のクロスアプリケーショントレース機能が改善しています。主なメリットは次のとおりです:
- より多くのクロスサービスアクティビティの詳細と完全なエンドツーエンドトレースを表示します。
- クエリのトレースを絞り込み、カスタムチャートを作成します。
- コールが組織のアカウントの境界を越えていても、完全なトレースを確認できます。
- その他の機能については、ディストリビューティッド(分散)トレーシングの機能を参照してください。
ディストリビューティッド(分散)トレーシングを有効にすると、現在使用している一部のAPM機能に影響を与える場合があります。これらの変更は、ディストリビューティッド(分散)トレーシングが有効になっているエージェントによる監視対象アプリケーションにのみ影響を与えます。アカウントレベルでの影響はありません。
当社は、将来のリリースで影響を受ける機能の一部または全部に対して下位互換性を提供する可能性があります。それまでの間、ディストリビューティッド(分散)トレーシングを有効にする前に、以下の変更点について理解する必要があります。
段階的な展開の計画
大規模な分散型システムでディストリビューティッド(分散)トレーシングを有効にしている場合、次のようなヒントをご活用ください:
現在APMを使用している場合、APM機能への影響をご覧ください。
ビジネスにとって最も重要なリクエスト、または分析とトラブルシューティングが必要となる可能性の高いリクエストについて検討し、こうしたサービスについてディストリビューティッド(分散)トレーシングを有効にしましょう。サービスのトレーシングをほぼ同時に有効にすれば、エンドツーエンドのトレースの完全性をより簡単に評価することができます。
ディストリビューティッド(分散)トレーシングのUIですべてのトレースを見ると、他のサービスへの外部呼び出しについて、トレースでのスパンが表示されます。その後、希望するサービスについて、ディストリビューティッド(分散)トレーシングを有効にできます。サービスがほぼスタンドアロンで、他のサービスと連携して頻繁に使用されない場合、ディストリビューティッド(分散)トレーシングを有効にする必要はありません。
こうした段階的な展開を図示すると次のようになります:
大規模なモノリシックサービスにAPMを使用している場合、トレースごとに多くのサブプロセススパンがあり、APMの制限により、予想よりトレースが減る場合があります。この問題は、APMエージェントインストゥルメンテーションを使用して、重要でないデータのレポートを無効にすることで解決できます。
ディストリビューティッド(分散)トレーシングは、リクエストパスでサービスからサービスにヘッダー情報を伝搬して機能します。一部のサービスでは、ヘッダーを自動的に伝搬しないプロキシまたはその他の仲介サービスを通じて通信を行います。この場合、
newrelic
ヘッダーの値をソースから送信先に伝搬できるよう、そのプロキシを設定する必要があります。
ディストリビューティッド(分散)トレーシングの有効化
APM機能への影響を認識し、ロールアウトについて考えたならば、分散型トレースを設定する準備ができています。 セットアップオプション をご覧ください。