OpenTelemetry は、さまざまな方法で実装できる柔軟なツールキットです。New Relic で OpenTelemetry を設定するには、基本的に 4 つのステップで行うことをお勧めします。ここでは、プロセスの概要を説明し、続いて各ステップの詳細を説明します。
Step 1.前提条件
まず最初に
- まだお知り合いでなければ、 New Relic の無料アカウントにサインアップしてください 。
- アカウントのライセンスキーをコピーする.
ステップ2.OpenTelemetryでサービスを計測する
まず始めに、OpenTelemetryでサービスを計測します。OpenTelemetryは言語別の製品やSDKを用意していますので、そちらをご利用ください。多くの言語では、一般的なライブラリやフレームワークのインストゥルメンテーションがすぐに利用できます。また、各言語は、サービスを手動で計測するためのAPIも提供しています。
お使いの言語のリポジトリにアクセスし、指示に従ってサービスの計測を行ってください。完了したら、ここに戻って ステップ 3 を完了します。Telemetry データを New Relic にエクスポートする 。
ステップ3.テレメトリーデータをNew Relicにエクスポートする
OpenTelemetry Protocol 、略してOTLPは、OpenTelemetryプロジェクトのために設計された、汎用のテレメトリデータ配信プロトコルです。このプロトコルは、テレメトリーデータのエンコードと送信方法を記述しているため、データ伝送に適しています。各言語のSDKにはOTLPエクスポーターが用意されており、OTLP経由でデータをエクスポートするように設定できます。
このステップでは、お使いのサービスにOTLPエクスポーターを設定し、データを直接New Relicにエクスポートする方法を中心に説明します。データをOpenTelemetryコレクターに最初にエクスポートしたい場合は、別途 の手順をご用意しています 。
この3つ目のステップを完了するためには、まず必要なNew Relicの設定について理解し、次にお使いの言語のOTLPエクスポーターのドキュメントに記載されているステップを完了します。
エクスポートに関するNew Relicの設定を確認する
外部のOTLPエクスポーターのドキュメントを見る前に、以下の表を参考にして、次のことができるようにしてください。
- OTLP エクスポーターを設定し、データを送信したい New Relic アカウントのライセンスキーを値とするヘッダー (
api-key
) を追加します。 - 統合内容に応じて、エクスポーターがNew Relicにデータを送信するエンドポイントを設定します。ほとんどのユーザーは、US OTLP または EU OTLP エンドポイントを使用することになるでしょう。
インテグレーション | gRPC | HTTP | エンドポイント | 対応ポート | APIヘッダー名 | APIヘッダーの値 | TLS暗号化が必要 |
---|---|---|---|---|---|---|---|
US OTLP | ✅ | ✅ |
|
| ライセンスキー | ✅ | |
EU OTLP | ✅ | ✅ |
|
| ライセンスキー | ✅ | |
米国FedRamp OTLP | ✅ | ✅ |
|
| ライセンスキー | ✅ | |
Infinite Tracing | ✅ | ❌ |
|
| ライセンスキー | ✅ |
重要
Node.jsでは、 opentelemetry-collector-export-grpc ライブラリは、TLSを有効にするための追加オプションが必要です。
ポートについての注意点
OTLP 標準では、gRPC トラフィックをポート 4317
に、HTTP トラフィックをポート 4318
に指定しています。New Relic US FedRamp Native OTLP エンドポイントは、これらの仕様に準拠するとともに、ポート 443
での gRPC トラフィックを許可しています。
ただし、FedRamp社以外のNew Relicエンドポイントでは、上の表に記載されているポートであれば、gRPCとHTTPの両方のトラフィックを受け入れることができます。
エクスポート設定の手順を完了する
お使いの言語の下のリンクをクリックして、設定ステップを完了してください。完了したら、ここに戻って ステップ 4 を完了します。New Relic UI でデータを見る 。
ステップ4.New RelicのUIでデータを見る
サービスをインストルメント化し、New Relic にデータをエクスポートするように設定したら、New Relic One のユーザーインターフェイスで トレース 、 メトリクス 、 ログ を確認してみましょう !
OpenTelemetry の UI は APM エージェントの UI と似ている部分がありますので、そちらに慣れている方はそのまま UI に進むことができます。OpenTelemetry の UI オプションの理解や、データが UI に表示されるようにする方法については、 View your OpenTelemetry data in New Relic をご覧ください。
OpenTelemetryの事例を見る
OpenTelemetry と New Relic の使用例をご覧ください。
サポート外の仕様
New Relic は現在、 opentelemetry-specification v1.8.0
をいくつかの例外を除いてサポートしています。
- New Relic からの成功したレスポンスにはレスポンスボディがなく、代わりにデータタイプに基づいて Protobuf エンコードされたレスポンス が表示されます。また、New Relic は、認証後、デコードと検証の前に成功と応答します。
- New Relic からの失敗応答 には
Status.message
やStatus.details
が含まれていない。これは OTLP クライアントがStatus
オブジェクトを使用していないためである。 - JSONエンコードされたProtobuf メッセージはまだサポートされていません。
次のステップ
初期設定を行った後は、OpenTelemetryとNew Relicの利用を向上させるための様々な設定に関するヒントを、 best-practices ガイドでご確認ください。