OpenTelemetryは、さまざまな方法で実装できる柔軟なツールキットです。 New RelicでOpenTelemetryをセットアップするには、基本的な5ステップのアプローチをお勧めします。プロセスの概要と、各ステップの詳細を次に示します。
ステップ1:前提条件
まず最初に
- まだ行っていない場合は、無料のNewRelicアカウントにサインアップしてください。
- データを報告するNewRelicアカウントのライセンスキーを取得します。
ステップ2:OpenTelemetryを使用してサービスをインストルメント化する
まず始めに、OpenTelemetryでサービスを計測します。OpenTelemetryは言語別の製品やSDKを用意していますので、そちらをご利用ください。多くの言語では、一般的なライブラリやフレームワークのインストゥルメンテーションがすぐに利用できます。また、各言語は、サービスを手動で計測するためのAPIも提供しています。
ご使用の言語のリポジトリに移動し、指示に従ってサービスをインストルメント化します。完了したら、ここに戻って手順3:テレメトリデータをNewRelicにエクスポートするための構成を確認します。
ステップ3:テレメトリデータをNewRelicにエクスポートするための構成を確認する
テレメトリデータのエクスポートを設定する前に、まずNewRelicの設定のこのセクションを確認してブックマークする必要があります。この情報は、後でエクスポート手順を説明している他のページに移動するときに必要になります。
エクスポートは、OpenTelemetryプロジェクト用に設計された汎用テレメトリデータ配信プロトコルであるOpenTelemetryプロトコル(略してOTLP)に依存しています。このプロトコルでは、テレメトリデータをエンコードおよび送信する方法について説明します。これにより、テレメトリデータはデータ転送に自然に選択されます。各言語SDKは、OTLPを介してデータをエクスポートするように構成できるOTLPエクスポーターを提供します。
OTLPを介してNewRelicにデータをエクスポートするには、次の2つの選択肢があります。
アプリから直接:
サービス内のOTLPエクスポーターは、NewRelicOTLPレシーバーに直接エクスポートできます。
OpenTelemetryコレクターからのエクスポート:
コレクターを、New Relic OTLPレシーバーを受信、処理、およびエクスポートするゲートウェイとして設定できます。または、アプリケーションで実行されるエージェントまたは同じホストで実行されるエージェントとしてコレクターを設定することもできます。
アプリから直接エクスポートする場合でも、コレクターからエクスポートする場合でも、次のことを行う必要があります。
- ヘッダー(
api-key
)を追加するようにOTLPエクスポーターを構成する準備をします。値は、データを送信するNewRelicアカウントのライセンスキーです。 - 統合に基づいて、エクスポーターがNewRelicにデータを送信するエンドポイントを構成する準備をします。エンドポイントは地域固有であるため、アカウントの拠点に応じたものを使用してください。たとえば、アカウントがヨーロッパを拠点としている場合は、EUエンドポイントを使用します。以下の表をガイドとして使用し、以下のポートとエンドポイントに関する追加の考慮事項を参照してください。
インテグレーション | gRPC | HTTP | エンドポイント | 対応ポート | APIヘッダー名 | APIヘッダーの値 | TLS暗号化が必要 |
---|---|---|---|---|---|---|---|
US OTLP | ✅ | ✅ |
|
|
| ライセンスキー | ✅ |
EU OTLP | ✅ | ✅ |
|
|
| ライセンスキー | ✅ |
US FedRAMP OTLP | ✅ | ❌ |
|
|
| ライセンスキー | ✅ |
Infinite Tracing | ✅ | ❌ |
|
|
| ライセンスキー | ✅ |
重要
Node.jsでは、 opentelemetry-collector-export-grpc ライブラリは、TLSを有効にするための追加オプションが必要です。
ステップ4:エクスポート構成ステップを完了します
エクスポートするためのNewRelic固有の構成に慣れたので、データをエクスポートする方法の手順に従います。
アプリからNewRelicに直接エクスポートする
ご使用の言語については、以下のリンクをクリックして、構成手順を完了してください。完了したら、ここに戻ってステップ5を完了します。NewRelicUIでデータを表示します。
コレクターからNewRelicにエクスポート
コレクターは、さまざまな方法でさまざまな目的に設定できます。セットアップに入る前にコレクターに関する一般的な情報が必要な場合は、概要を参照してください。
エクスポートするコレクターを設定する例を表示するには、次のいずれかを選択してください。
ステップ5:New Relic UIでデータを見る
サービスをインストルメント化し、データをNew Relicにエクスポートするように構成したら、New Relic One UIでトレース、 メトリック、 ログを確認します。
OpenTelemetry の UI は APM エージェントの UI と似ている部分がありますので、そちらに慣れている方はそのまま UI に進むことができます。OpenTelemetry の UI オプションの理解や、データが UI に表示されるようにする方法については、 View your OpenTelemetry data in New Relic をご覧ください。
サポート外の仕様
New Relicは現在、いくつかの例外を除いて、 opentelemetry-specification v1.8.0
をサポートしています。
- New Relic からの成功したレスポンスにはレスポンスボディがなく、代わりにデータタイプに基づいて Protobuf エンコードされたレスポンス が表示されます。また、New Relic は、認証後、デコードと検証の前に成功と応答します。
- OTLPクライアントは
Status
オブジェクトを使用しないため、NewRelicからの失敗応答にはStatus.message
またはStatus.details
は含まれません。 - JSONエンコードされたProtobuf メッセージはまだサポートされていません。
次のステップ
初期設定を行った後、OpenTelemetryとNewRelicの使用を改善するためのヒントについてのベストプラクティスガイドを確認してください。