OpenTelemetry 、可用性データの収集、処理、エクスポートのための汎用APIと SDK を提供します。 これらのAPIと SDK の最も一般的な使用例の 1 つは、インストゥルメンテーションがインストールされてアプリまたはサービスを監視するAPM監視です。
このページでは、 を使用したOpenTelemetry ベースのAPM 監視の一般的なセットアップ手順について説明します。New Relic
OpenTelemetry を使用してアプリまたはサービスを計測する
OpenTelemetry 、インストゥルメントされたアプリケーション用の言語固有のAPIと SDK を提供します。 ほとんどの言語は、一般的なライブラリとフレームワーク向けの豊富なインストゥルメント セットを提供します。
使い始める際の参考にしていただけるよう、さまざまな言語で簡単なサンプル アプリケーションを提供しています。 各言語ごとに、その言語で一般的な Web フレームワークを使用してアプリケーションが構築されます。 以下の例は設定方法を示しています。
New Relic に表示されるサービス名。
New Relic OTLP エンドポイントにデータを送信するための OpenTelemetry Protocol (OTLP) エクスポーター。
最高の New Relic エクスペリエンスを実現するために OpenTelemetry を最適化するための追加の推奨設定。
利用可能なインストゥルメンテーションの詳細とより高度なシナリオについては、関連するOpenTelemetry言語ドキュメントを参照してください。
重要
OpenTelemetry がサポートする任意の言語を使用して、New Relic にデータを送信できます。 ただし、上記の例はサポートされている言語のサブセットのみを反映しています。
あなたの言語が恋しいですか? GitHub で問題を開いて例をリクエストしてください。
NewRelicUIでデータを表示する
アプリがインストゥルメントされ、 New Relicにデータをエクスポートするように構成されると、 New Relic UIでデータを見つけることができるようになります。
All entities > Services - OpenTelemetryでエンティティを見つけます。 エンティティ名は、アプリの
service.name
リソース属性の値に設定されます。 New Relic サービス エンティティが OpenTelemetry リソース属性からどのように派生されるかの詳細については、 「サービス」を参照してください。詳細については、OpenTelemetry APM UIを参照してください。
エンティティが見つからず、NRQL でデータが表示されない場合は、 「OTLP トラブルシューティング」を参照してください。
New Relic エージェントと OpenTelemetry ツールを同じプロセスで実行する。
New RelicのエージェントやOpenTelemetryのツール(SDK、エージェントなど)は、市場に数多く存在するAPM製品の一つです。
ある言語では、ほとんどすべてのAPM製品が、同じ低レベルの言語フックとランタイムフックを使って動作します。言語のアーキテクチャにもよるが、これはバイトコード操作やモンキーパッチのような技術で実現されることが多い。
APM製品が実行中のコードを変更する方法は複雑なため、ある製品が同じプロセスで実行されている別の製品と互換性がある保証はない。せいぜい、互いに気づかないうちに共存し、アプリケーションから独立してテレメトリーを生成する程度でしょう。最悪の場合、互いに干渉し合い、予測不可能な動作が発生する可能性があります。
New Relic弊社のAPMエージェントが同じプロセスで実行されている別のAPM製品と互換性があることを保証できません。 お客様のニーズに最適な製品を 1 つだけ選択することをお勧めします。