• /
  • EnglishEspañolFrançais日本語한국어Português
  • ログイン今すぐ開始

この機械翻訳は、参考として提供されています。

英語版と翻訳版に矛盾がある場合は、英語版が優先されます。詳細については、このページを参照してください。

問題を作成する

OpenTelemetryを使用したNGINXのディストリビューティッド(分散)トレーシング

|View as Markdown (English)

NGINX 1.25.3以降には、Webサーバーに直接ディストリビューティッド(分散)トレーシングのサポートを追加するネイティブのOpenTelemetryモジュールであるngx_otel_moduleが含まれています。

ngx_otel_moduleをインストゥルメントされたアプリケーションと組み合わせると、New Relicはトレースをエンドツーエンドで接続し、サービスとNGINXエンティティの間にサービス関係を作成します。これらの関係はサービスマップに表示され、Webサーバーまたはリバースプロキシをトラフィックがどのように流れるかを可視化します。

使い方

一般的な設定では、トラフィックは次のように流れます:

Instrumented app (client) → NGINX (with ngx_otel_module) → Instrumented app (backend)
  1. クライアントアプリケーションは、W3C traceparentヘッダーを含むリクエストを送信します。
  2. NGINXのngx_otel_moduleはトレースコンテキストを抽出し、リクエストのスパンを作成して、アップストリームのバックエンドにプロキシされるリクエストに更新されたトレースコンテキストを挿入します。
  3. バックエンドアプリケーションは、伝播されたトレースコンテキストとともにリクエストを受信し、トレースを継続します。
  4. すべてのスパン(クライアント、NGINX、およびバックエンドからのもの)はOpenTelemetry Collectorにエクスポートされ、そこでNGINXスパンにNGINXアイデンティティが付与されてNew Relicに転送されます。

New Relicは、これらの接続されたスパンを使用してCALLS関係を作成します:

  • クライアントサービス CALLS NGINXエンティティ
  • NGINXエンティティ CALLS バックエンドサービス

コレクターはNGINXメトリクスが使用するものと同じnginx.deployment.nameおよびnginx.server.endpointアイデンティティをスタンプするため、NGINXスパンはNGINXメトリクスと同じNGINXSERVERエンティティに解決されます。これらの関係は、サービスマップおよびマップエクスペリエンスで確認できます。

互換性

ngx_otel_module 以下を含む、W3Cトレースコンテキスト伝搬をサポートするすべてのアプリケーションに対応しています:

  • OpenTelemetry SDKでインストゥルメントされたアプリケーション(任意の言語)
  • OpenTelemetryの自動インストゥルメンテーション(Java、.NET、Python、Node.js、Go)
  • New Relic APMエージェント(Go、Java、.NET、Node.js、Python、Ruby、PHP)(ディストリビューティッド(分散)トレーシングが有効なもの)

計装アプローチを混在させることができます。たとえば、OTel SDKクライアントはNGINXを介してNew Relic APMエージェントのバックエンドを呼び出すことができ、リレーションシップチェーンはNew Relicに正しく表示されます。

あなたが始める前に

以下のものを用意してください:

  • 有効なNew Relicライセンスキー
  • ngx_otel_moduleが利用可能なNGINX 1.25.3以降。このモジュールは、公式のNGINXパッケージリポジトリからビルド済みの動的モジュール(nginx-module-otel)として提供されます。インストレーションの詳細については、ngx_otel_moduleのドキュメントを参照してください。
  • 同じホスト上で実行されている、またはNGINXホストからアクセス可能なOpenTelemetry Collector(NRDOTまたはOTel Collector Contrib)
  • 上記の互換性のある計装アプローチのいずれかを使用して、NGINXを介してrequestsを送信するインストゥルメントされたアプリケーション
  • コレクターからNew RelicのOTLPエンドポイントへのネットワークアクセス

ヒント

このガイドでは、単一のOTel Collectorでメトリクスの収集とディストリビューティッド(分散)トレーシングの両方を設定します。メトリクスのみの設定またはKubernetesのデプロイメントについては、セルフホスト型NGINXのモニターおよびKubernetes上のNGINXのモニターを参照してください。

ディストリビューティッド(分散)トレーシングの設定

ヒント

以下のトレースパイプラインは、ディストリビューティッド(分散)トレーシングに参加するすべてのサービスで使用するのと同じ標準設定です。手動でのリレーションシップの設定ではありません。トレーシングがアクティブになると、New Relicは接続されたスパンを自動的に検出し、サービスのリレーションシップを作成します。

トラブルシューティング

次のステップ

Copyright © 2026 New Relic株式会社。

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.