Enable distributed tracing の手順に沿って、Infinite Tracing を設定する場合は、トレースオブザーバーを設定する必要があります。
トレースオブザーバーは、どのようなトレースデータを保持し、New Relic に送信するかを決定するクラウドベースの New Relic ツールです。トレースオブザーバーは New Relic Edge に設置されています。New Relic Edge は AWS ベースのサービスで、テレメトリデータを New Relic に送信するための低レイテンシーかつ低コストな方法を提供しています。トレースオブザーバーは、弊社の Trace API を介してデータを送信します。この API は、弊社が取り込むすべての分散トレースデータのエントリーポイントとなります。
ヒント
このドキュメントは、当社のInfinite Tracing機能に関するものです。すべての分散型トレーシングのオプションについては、 Intro to distributed tracing をご覧ください。
トレースオブザーバーの設定
トレースオブザーバーを設定する前に、以下の点をご理解ください。
- Trace API を除いて、これらの手順は単独ではなく、より大きな有効化手順の一部です。何が必要なのかまだわからない場合は、 Enable distributed tracing をご覧ください。
- 設定の衝突問題を避けるために 、理想的には関連するすべてのサービスに対してInfinite Tracingを有効にするべきです。トレース内のいくつかのサービスで当社の標準的な分散型トレースが有効になっている場合は、それらをInfinite Tracingにアップグレードする必要があります。
トレースオブザーバーを設定するには
one.newrelic.com にアクセスし、 Apps をクリックします。 Your apps の下で、 New Relic Edge をクリックします。
左上のドロップダウンからアカウントを選択します。複数のアカウントにアクセスできる場合は、Infinite Tracingを有効にしたいアカウントにいることを確認してください。
トレースオブザーバーがすでにいない場合は、 New trace observer をクリックして追加し、情報を入力した後、 Create をクリックします。
重要
注:EU地域でトレースオブザーバーを選択した場合、データは米国のデータセンターに報告されるため、米国ベースのNew Relicアカウントが必要となります。
Endpoints のドロップダウンの下。
For other integrations エンドポイントの値をコピーして用意しておきます。これは後の説明で
YOUR_TRACE_OBSERVER_URL
として参照されます。
言語エージェント を有効にしている場合は、 For language agents の値もコピーして用意しておきましょう。これは
YOUR_TRACE_OBSERVER_HOST
として参照されます。
(任意ですが推奨します) 動作を確認するために、サンプルのトレースペイロードを送信することをお勧めします。弊社の トレース API をご利用の場合、このステップは、API がどのように動作するかを知るために特にお勧めします。
(オプション) Infinite Tracingにはいくつかの設定オプションがあり、この機能をしばらく使った後に見ることができます。 これらのトピックの最初の部分 をブックマークしておくと、後で見直すときに便利です。
この手順は完了です。次に、有効にするために開始したトレースツールの残りの手順を終了するために戻ります。
- 言語エージェント
- サードパーティのテレメトリー統合 (OpenTelemetryなど)
- トレースAPI: トレースオブザーバーの設定が終われば、アプリケーションのインスツルメンテーションを開始することができます。
トレースオブザーバーのエンドポイント
トレースオブザーバーのUIには、 Endpoints のドロップダウンがあります。 トレースオブザーバーを設定する際、 トレースツールの設定方法の様々なポイントで使用するために、これらの値をコピーしてください。2つの値があります。
言語エージェント用: この値は、コード例では
YOUR_TRACE_OBSERVER_HOST
として参照されています。これは 言語エージェントがトレースオブザーバーにデータを送信するように設定するために使用されます 。
For other integrations: この値は、弊社のコード例では
YOUR_TRACE_OBSERVER_URL
として参照されています。これは、 Telemetry integrations の設定や、 Trace API を通じてデータを送信する際に使用されます( サンプルペイロードの送信を含む )。