アプリケーションがOpenTelemetry(OTel)生成AIトレースをNew Relicに送信し始めると、AIモニタリングビューには次のように表示されます:
- サービスによって行われるすべてのLLM呼び出し — プロンプト、コンプリーション、モデル、レイテンシ、トークン数、終了理由。
- 完全なリクエストトレースの一部としてのツール呼び出しとエージェントステップ。これにより、モデルが決定を下した理由を確認できます。
- エラー、レート制限の失敗、および遅い呼び出しが、その他のAPMデータとともに表示されます。
New Relicエージェントは必要ありません。アプリがすでにOpenTelemetryのトレースを出力している場合、準備はほぼ完了しています。
始める前に
必要なもの:
- New RelicのIngestライセンスキー。
- LLMを呼び出すアプリケーション。OpenAI、Anthropic、LangChain、およびAWS BedrockのPythonの例を以下に示します。OpenTelemetry生成AI計装を備えた他の言語も同じように機能します。
- ポート443での、アプリからお使いのリージョンのNew Relic OTLPエンドポイントへのネットワークエグレス。リージョン別エンドポイント(US、EU、JP)、サポートされているポート、および圧縮設定の完全なリストについては、OpenTelemetry Protocol(OTLP)を使用したNew Relicへのデータの送信をご覧ください。
重要
OTel生成AI計装は、ユーザーが送受信する実際のプロンプトとコンプリーションをキャプチャできます。これには、PII、認証情報、または規制対象データが含まれる場合があります。コンテンツのキャプチャはデフォルトでオフになっています。オンにする前に、組織のデータ処理ポリシーを確認し、「送信されるプロンプトとコンプリーションを制御する」を参照してください。
OpenTelemetryエクスポーターをNew Relicに向ける
アプリケーションを実行しているプロセスで、これらの環境変数を設定します:
$# Replace with your region's OTLP endpoint — see the prerequisites above for the full list$export OTEL_EXPORTER_OTLP_ENDPOINT="<<YOUR_OTLP_ENDPOINT>>"$export OTEL_EXPORTER_OTLP_HEADERS="api-key=$NEW_RELIC_LICENSE_KEY"$
$# Name that will identify this service in New Relic$export OTEL_SERVICE_NAME="my-genai-service"適切な計装パッケージを追加する
アプリケーションが使用するものに一致するセクションを選択します。複数組み合わせることができます — たとえば、Bedrockを呼び出すLangChainアプリは両方をインストールします。
ヒント
OpenTelemetryの生成AIエコシステムでは、正確なパッケージ名とバージョンが急速に変化します。チームが現在サポートしているパッケージについては、常にOpenTelemetry Python contribレジストリとNew Relic AIモニタリングのドキュメントを確認してください。
データが到着していることを確認する
新しい環境変数と計装が有効になるように、アプリケーションを再起動します。
少量の実際のトラフィックをトリガーします — ほんの少しのチャットコンプリーションで十分です。
New RelicでQuery Your Dataを開き、次を実行します:
SELECT count(*) FROM SpanWHERE gen_ai.system IS NOT NULL OR gen_ai.provider.name IS NOT NULLSINCE 30 minutes agoFACET service.name, gen_ai.operation.name数分(2~5分)以内に、サービス名とオペレーションでファセットされた行が表示されます(例:
chat、completion、embeddings)。APM & Services > AI Monitoringに移動してサービスを選択し、AI Tracesビューにデータが反映されることを確認します。
送信されるプロンプトとコンプリーションを制御する
デフォルトでは、ほとんどのOpenTelemetry生成AI計装は、プロンプトや補完のテキストをキャプチャしません。スパンにはモデル、トークン数、レイテンシ、およびステータスが含まれますが、メッセージ本文は含まれません。
AIモニタリングでメッセージコンテンツを表示するには、明示的にオプトインします。フラグ名はインストールした計装パッケージによって異なります — その特定のパッケージのドキュメントを確認してください。一般的な例としては次のものがあります。
OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT=trueOpenTelemetryが保守する計装の場合。TRACELOOP_TRACE_CONTENT=trueコミュニティ(OpenLLMetryファミリ)計装用。
本番環境でコンテンツキャプチャを有効にする前に:
- プロンプトに含まれるデータを確認してください。ユーザーがPII、認証情報、または規制対象データを送信する場合は、New Relicに送信される前に、ドロップフィルターまたは属性レベルの難読化を使用して特定のフィールドを削除またはハッシュすることをお勧めします。New Relicのデータ処理ドキュメントをご覧ください。
- 組織の保持およびコンプライアンス要件(GDPR、HIPAA、PCIなど)を確認してください。
メッセージ本文ではなく — レイテンシ、トークン、およびエラーの可視性のみが必要な場合は — コンテンツのキャプチャを無効のままにしてください。
トラブルシューティング
表示される内容 | 試してみること |
|---|---|
ステップ3のクエリが0行を返す | OTLPエンドポイントがアカウントのリージョンと一致していること、および |
スパンは到着するが、サービスのAIモニタリングビューが空である | スパンに期待される生成AI属性のタグが付けられていない場合があります。計装パッケージをアップグレードするか、サンプルスパンを添えてNew Relicサポートにお問い合わせください。 |
長いプロンプトが途切れる | アプリケーション側で |
トークン数が欠落している | LLMプロバイダーはそれらを返しましたが、ご使用の計装バージョンではまだ記録されません。計装パッケージをアップグレードしてください。 |
AIモニタリングでトレースは表示されますが、プロンプト/コンプリーションは空白です | コンテンツキャプチャが無効になっています。送信されるプロンプトとコンプリーションの制御をご覧ください。 |
AIモニタリングが利用可能であることを期待しているが、ビューが表示されない | アカウントでAIモニタリングが有効になっていることを確認するには、New Relicアカウントチームにお問い合わせください。 |
ヘルプを受ける
上記の手順を実行しても問題が解決しない場合:
- New Relicサポートケースを提出し、サンプルスパンのペイロードとサービス名を含めてください。
- アカウントレベルの設定に関する質問については、New Relicアカウントチームにお問い合わせください。
- 一般的なOpenTelemetry生成AIに関する質問については、『OpenTelemetry生成AIセマンティック規約』が公式リファレンスです。