すべてのプロダクト
Search
ドキュメントセンター

Managed Service for OpenTelemetry:OpenTelemetry を使用して NGINX のトレース分析を実行する

最終更新日:Nov 09, 2025

このトピックでは、OpenTelemetry を使用して NGINX のトレース分析を実行する方法について説明します。NGINX は、パフォーマンス専有型、軽量、かつオープンソースの Web サーバーであり、リバースプロキシとしても機能します。モジュールを追加することで NGINX の特徴を拡張できます。NGINX OTel モジュールは NGINX からトレースデータを収集し、Managed Service for OpenTelemetry に転送します。

制限

  • NGINX OTel モジュールは、gRPC 経由でのみトレースデータをレポートでき、HTTP 経由ではレポートできません。

  • NGINX OTel モジュールのバージョン情報:

    • ≥ 0.1.2: NGINX OTel モジュールは、収集した NGINX トレースデータを Managed Service for OpenTelemetry に直接転送できます。

    • ≤ 0.1.1: NGINX OTel モジュールでは、gRPC 経由でトレースデータをレポートするための認証トークンを構成できません。そのため、OpenTelemetry Collector をデプロイする必要があります。NGINX OTel モジュールはトレースデータを収集して OpenTelemetry Collector にレポートし、OpenTelemetry Collector がそれを Managed Service for OpenTelemetry に転送します。詳細については、「ステップ 3: (オプション) OpenTelemetry Collector をデプロイする」をご参照ください。

前提条件

gRPC エンドポイントと認証トークンを取得する

新しいコンソール

  1. Managed Service for OpenTelemetry コンソールにログインします。左側のナビゲーションウィンドウで、[統合センター] をクリックします。

  2. [統合センター] ページで、[OpenTelemetry] セクションの [オープンソースフレームワーク] カードをクリックします。

  3. [OpenTelemetry] パネルで、トレースデータをレポートするリージョンを選択します。

    説明

    初めてアクセスしたリージョンでリソースが自動的に初期化されます。

  4. [接続タイプ][エクスポートプロトコル] パラメーターを構成し、エンドポイントをコピーします。

    • 接続タイプ: サービスが Alibaba Cloud にデプロイされ、選択したリージョンに存在する場合、このパラメーターを Alibaba Cloud VPC ネットワークに設定することをお勧めします。それ以外の場合は、このパラメーターをパブリックネットワークに設定します。

    • エクスポートプロトコル: クライアントがサポートするプロトコルに基づいて、このパラメーターを gRPC に設定します。

    87.jpg

古いコンソール

  1. Managed Service for OpenTelemetry コンソールにログインします。

  2. 左側のナビゲーションウィンドウで、[クラスター設定] をクリックします。表示されたページで、[アクセスポイント情報] タブをクリックします。

  3. 上部のナビゲーションバーで、トレースデータをレポートするリージョンを選択します。[クラスター情報] セクションで、[トークンを表示] をオンにします。

  4. [クライアント] セクションで、[OpenTelemetry] をクリックします。

    [関連情報] 列で、エンドポイント情報を取得します。86.jpg

    説明

    アプリケーションが Alibaba Cloud の本番環境にデプロイされている場合は、VPC エンドポイントを使用します。それ以外の場合は、パブリックエンドポイントを使用します。

プロシージャ

ステップ 1: NGINX OTel モジュールをダウンロードする

方法 1: パッケージマネージャを使用する

  • Alibaba Cloud Linux、RedHat、RHEL、またはその派生製品用の NGINX OTel モジュールをダウンロードします:

    sudo yum install nginx-module-otel
  • Debian、Ubuntu、またはその派生製品用の NGINX OTel モジュールをダウンロードします:

    sudo apt install nginx-module-otel

方法 2: 事前ビルドされた Docker イメージを使用する

説明

NGINX バージョン 1.27.5 以降では、デフォルトで NGINX OTel モジュールバージョン 0.1.2 が使用されます。

Docker 公式 Web サイトにアクセスし、-otel で終わる NGINX イメージ (例: nginx:1.23.3-otel) を検索してプルし、コンテナーを起動するための標準的なプロシージャに従ってサービスをデプロイします。

image

ステップ 2: NGINX OTel モジュールを有効にする

NGINX のトレース分析機能を有効にするには、OTel モジュールをロードし、NGINX のメイン構成ファイル /etc/nginx/nginx.conf でそのパラメーターを構成する必要があります。OTel モジュールのパラメーターの詳細については、「Module ngx_otel_module」をご参照ください。

  • すべての HTTP リクエストのトレース分析を有効にする

    NGINX OTel モジュールバージョン ≥ 0.1.2

    load_module modules/ngx_otel_module.so; # ngx_otel_module をロード
    ...
    http {
        ...
    
        otel_exporter {
            endpoint "${GRPC_ENDPOINT}"; # 前提条件セクションで取得した gRPC エンドポイント
            header Authentication "${GRPC_TOKEN}"; # 前提条件セクションで取得した認証トークン
        }
    
        otel_trace on;                     # トレースを有効化
        otel_service_name ${SERVICE_NAME};  # アプリケーション名
        otel_trace_context propagate;         # トレースコンテキストをダウンストリームサービスに挿入
        ...
    }

    NGINX OTel モジュールバージョン ≤ 0.1.1

    説明

    NGINX の構成ファイルで次の 2 つの変数を置き換えます:

    • ${OTEL_COLLECTOR_GRPC_RECEIVER_ENDPOINT}: OpenTelemetry Collector が gRPC 経由でレポートされたデータを受信するために使用するエンドポイント。例: localhost:4317。このエンドポイントは、このトピックの「前提条件」セクションで Managed Service for OpenTelemetry コンソールから取得した gRPC エンドポイントではありません。

    • ${SERVICE_NAME: NGINX のアプリケーション名。NGINX のアプリケーション名は Managed Service for OpenTelemetry コンソールに表示されます。

    load_module modules/ngx_otel_module.so; # ngx_otel_module をロード
    ...
    http {
        ...
    
        otel_exporter {
            endpoint ${OTEL_COLLECTOR_GRPC_RECEIVER_ENDPOINT}; # OpenTelemetry Collector が gRPC 経由でレポートされたデータを受信するために使用するエンドポイント。例: localhost:4317
        }
    
        otel_trace on;                     # トレースを有効化
        otel_service_name ${SERVICE_NAME};  # アプリケーション名
        otel_trace_context propagate;         # トレースコンテキストをダウンストリームサービスに挿入
        ...
    }
  • 単一のロケーションに送信される HTTP リクエストのトレース分析を有効にする

    NGINX OTel モジュールバージョン ≥ 0.1.2

    load_module modules/ngx_otel_module.so; # ngx_otel_module をロード
    
    ...
    
    http {
    
        otel_exporter {
            endpoint "${GRPC_ENDPOINT}"; # 前提条件セクションで取得した gRPC エンドポイント
            header Authentication "${GRPC_TOKEN}"; # 前提条件セクションで取得した認証トークン
        }
    
        server {
            listen 127.0.0.1:80;
    
            location /hello {
                otel_trace         on;             # 127.0.0.1:80/hello ロケーションに対してのみトレースを有効化
                otel_service_name ${SERVICE_NAME}  # アプリケーション名
                otel_trace_context propagate;         # トレースコンテキストをダウンストリームサービスに挿入
    
                ...
            }
        }
    }

    NGINX OTel モジュールバージョン ≤ 0.1.1

    説明

    NGINX の構成ファイルで次の 2 つの変数を置き換えます:

    • ${OTEL_COLLECTOR_GRPC_RECEIVER_ENDPOINT}: OpenTelemetry Collector が gRPC 経由でレポートされたデータを受信するために使用するエンドポイント。例: localhost:4317。このエンドポイントは、このトピックの「前提条件」セクションで Managed Service for OpenTelemetry コンソールから取得した gRPC エンドポイントではありません。

    • ${SERVICE_NAME: NGINX のアプリケーション名。NGINX のアプリケーション名は Managed Service for OpenTelemetry コンソールに表示されます。

    load_module modules/ngx_otel_module.so; # ngx_otel_module をロード
    
    ...
    
    http {
    
        otel_exporter {
            endpoint ${OTEL_COLLECTOR_GRPC_RECEIVER_ENDPOINT}; # OpenTelemetry Collector が gRPC 経由でレポートされたデータを受信するために使用するエンドポイント。例: localhost:4317
        }
    
        server {
            listen 127.0.0.1:80;
    
            location /hello {
                otel_trace         on;             # 127.0.0.1:80/hello ロケーションに対してのみトレースを有効化
                otel_service_name ${SERVICE_NAME}  # アプリケーション名
                otel_trace_context propagate;         # トレースコンテキストをダウンストリームサービスに挿入
    
                ...
            }
        }
    }

ステップ 3: (オプション) OpenTelemetry Collector をデプロイする

説明
  • NGINX OTel モジュールバージョン ≥ 0.1.2 の場合、OpenTelemetry Collector をデプロイする必要はありません

  • NGINX OTel モジュールバージョン ≤ 0.1.1 の場合、OpenTelemetry Collector をデプロイする必要があります

方法 1: ACK コンソールでのインストール

  1. ACK コンソールにログインします。左側のナビゲーションウィンドウで、[マーケットプレイス] > [マーケットプレイス] を選択します。

  2. [アプリカタログ] ページで、opentelemetry-collector を検索してクリックします。ページの右上隅にある [デプロイ] をクリックします。

  3. [作成] パネルで、opentelemetry-collector をデプロイするクラスターを選択し、[次へ] をクリックします。

  4. [パラメーター] ステップで、次のパラメーターを追加し、[OK] をクリックします。

    説明

    このトピックの「前提条件」セクションで取得した gRPC エンドポイントと認証トークンで ${GRPC_ENDPOINT}${GRPC_ENDPOINT_TOKEN} を置き換えます。

    receivers:
      otlp:
        protocols:
          grpc: 
            endpoint: 0.0.0.0:4317
    
    exporters:
      otlp:
        endpoint: ${GRPC_ENDPOINT}
        tls:
          insecure: true
        headers:
          "Authentication": "${GRPC_ENDPOINT_TOKEN}"
    
    processors:
      batch:
      
    service:
      pipelines:
        traces:
          receivers: [otlp]
          processors: [batch]
          exporters: [otlp]

    例:

    81

方法 2: 手動インストール

次の例は、Docker を使用して OpenTelemetry Collector をデプロイする方法を示しています。詳細については、「Collector のインストール」をご参照ください。

  1. opentelemetry-config.yaml という名前のファイルを作成し、次の内容をファイルにコピーします。

    このファイルは、データの受信、処理、エクスポートの方法など、OpenTelemetry Collector の動作と特徴を定義および構成します。

    説明

    このトピックの「前提条件」セクションで取得した gRPC エンドポイントと認証トークンで ${GRPC_ENDPOINT}${GRPC_ENDPOINT_TOKEN} を置き換えます。

    receivers:
      otlp:
        protocols:
          grpc: 
            endpoint: 0.0.0.0:4317
    
    exporters:
      otlp:
        endpoint: ${GRPC_ENDPOINT}
        tls:
          insecure: true
        headers:
          "Authentication": "${GRPC_ENDPOINT_TOKEN}"
    
    processors:
      batch:
      
    service:
      pipelines:
        traces:
          receivers: [otlp]
          processors: [batch]
          exporters: [otlp]
  2. 次のコマンドを実行して OpenTelemetry Collector を起動します:

    docker run -v $(pwd)/opentelemetry-config.yaml:/etc/otelcol-contrib/config.yaml otel/opentelemetry-collector-contrib:0.105.0

ステップ 4: NGINX トレースを表示する

上記の手順を完了して NGINX を再起動した後、NGINX にリクエストを送信してトレースを生成できます。その後、Managed Service for OpenTelemetry コンソールにログインして、OpenTelemetry によって生成された NGINX トレースを表示できます。

  • [アプリケーション] ページで、NGINX アプリケーションを見つけます。89.jpg

  • [トレース詳細] タブで、リクエスト期間、クライアント IP アドレス、HTTP ステータスコードなどのトレース詳細を表示します。バックエンドサービスも Managed Service for OpenTelemetry に接続されている場合、NGINX とバックエンドサービスのトレースは自動的に関連付けられ、統合されたビューが提供されます。88.jpg

チュートリアル

次の例は、NGINX とバックエンドサービスからトレースデータを収集し、それを Managed Service for OpenTelemetry にレポートする方法を示しています。

ステップ 1: 準備

ステップ 2: プロジェクトディレクトリを作成する

nginx-otel-demo
│
├── docker-compose.yml          # Docker Compose の構成ファイル。
│
├── nginx_conf/                 # NGINX の構成ファイル。
│   ├── default.conf
│   └── nginx.conf              
│
├── otel_conf/                  # OpenTelemetry Collector の構成ファイル。
│   └── config.yaml           
│
└── backend/                    # Node.js を使用して開発されたバックエンドサービス。
    ├── Dockerfile              
    ├── main.js
    ├── package.json
    └── package-lock.json

ディレクトリを作成します。

mkdir nginx-otel-demo && cd nginx-otel-demo

mkdir -p nginx_conf otel_conf backend

ステップ 3: NGINX の構成ファイルを作成する

  1. NGINX のメイン構成ファイル nginx.conf を作成します。

    NGINX OTel モジュールバージョン ≥ 0.1.2

    cat << 'EOF' > nginx_conf/nginx.conf
    load_module modules/ngx_otel_module.so;
    
    user  nginx;
    worker_processes  auto;
    
    error_log  /var/log/nginx/error.log notice;
    pid        /var/run/nginx.pid;
    
    
    events {
        worker_connections  1024;
    }
    
    
    http {
        include       /etc/nginx/mime.types;
        default_type  application/octet-stream;
    
        log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                          '$status $body_bytes_sent "$http_referer" '
                          '"$http_user_agent" "$http_x_forwarded_for"';
    
        access_log  /var/log/nginx/access.log  main;
    
        sendfile        on;
        #tcp_nopush     on;
    
        keepalive_timeout  65;
    
        #gzip  on;
    
        otel_exporter {
            endpoint "${GRPC_ENDPOINT}";
            header Authentication "${GRPC_TOKEN}";
        }
    
        otel_trace on;
    
        otel_trace_context propagate;
    
        otel_service_name nginx;
    
        include /etc/nginx/conf.d/*.conf;
    
    }
    EOF

    NGINX OTel モジュールバージョン ≤ 0.1.1

    load_module modules/ngx_otel_module.so;
    
    user  nginx;
    worker_processes  auto;
    
    error_log  /var/log/nginx/error.log notice;
    pid        /var/run/nginx.pid;
    
    
    events {
        worker_connections  1024;
    }
    
    
    http {
        include       /etc/nginx/mime.types;
        default_type  application/octet-stream;
    
        log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                          '$status $body_bytes_sent "$http_referer" '
                          '"$http_user_agent" "$http_x_forwarded_for"';
    
        access_log  /var/log/nginx/access.log  main;
    
        sendfile        on;
        #tcp_nopush     on;
    
        keepalive_timeout  65;
    
        #gzip  on;
    
        otel_exporter {
            endpoint otel-collector:4317;
        }
    
        otel_trace on;
    
        otel_trace_context propagate;
    
        otel_service_name nginx;
    
        include /etc/nginx/conf.d/*.conf;
    
    }
    EOF
    
  2. NGINX の構成ファイル default.conf を作成します。

    cat << 'EOF' > nginx_conf/default.conf
    server {
        listen       80;
        server_name  localhost;
    
        location / {
            root   /usr/share/nginx/html;
            index  index.html index.htm;
        }
        
        # パラメーターを構成します。
        location /hello {
            proxy_pass http://backend-api:7001/hello;
            proxy_http_version 1.1;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
        }
    
        # サーバーエラーページを静的ページ /50x.html にリダイレクトします
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/share/nginx/html;
        }
    }
    EOF

ステップ 4: (オプション) OpenTelemetry Collector の構成ファイルを作成する

説明
  • NGINX OTel モジュールバージョン ≥ 0.1.2 の場合、OpenTelemetry Collector をデプロイする必要はありません

  • NGINX OTel モジュールバージョン ≤ 0.1.1 の場合、OpenTelemetry Collector をデプロイする必要があります

OpenTelemetry Collector の構成ファイルを作成します。この構成ファイルは、データの受信、処理、レポートの方法を定義します。

説明

このトピックの「前提条件」セクションで取得した gRPC エンドポイントと認証トークンで ${GRPC_ENDPOINT}${GRPC_ENDPOINT_TOKEN} を置き換えます。

cat << 'EOF' > otel_conf/config.yaml
receivers:
  otlp:
    protocols:
      grpc: 
        endpoint: 0.0.0.0:4317

exporters:
  otlp:
    endpoint: ${GRPC_ENDPOINT}
    tls:
      insecure: true
    headers:
      "Authentication": "${GRPC_ENDPOINT_TOKEN}"

processors:
  batch:
  
service:
  pipelines:
    traces:
      receivers: [otlp]
      processors: [batch]
      exporters: [otlp]
EOF

ステップ 5: Node.js を使用してバックエンドサービスを作成する

  1. package.json ファイルを作成します。このファイルには、サービス名、サービスバージョン、依存関係など、バックエンドサービスの構成情報が含まれています。

    cat << 'EOF' > backend/package.json
    {
      "name": "backend",
      "version": "1.0.0",
      "main": "index.js",
      "scripts": {},
      "keywords": [],
      "author": "",
      "license": "ISC",
      "description": "",
      "dependencies": {
        "@opentelemetry/api": "^1.9.0",
        "@opentelemetry/auto-instrumentations-node": "^0.52.0",
        "axios": "^1.7.7",
        "express": "^4.21.1"
      }
    }
    EOF
  2. 基本的な Express Web アプリケーションを定義する main.js ファイルを作成します。

    cat << 'EOF' > backend/main.js
    "use strict";
    const axios = require("axios").default;
    const express = require("express");
    const app = express();
    app.get("/", async (req, res) => {
      const result = await axios.get("http://localhost:7001/hello");
      return res.status(201).send(result.data);
    });
    app.get("/hello", async (req, res) => {
      console.log("hello world!")
      res.json({ code: 200, msg: "success" });
    });
    app.use(express.json());
    app.listen(7001, () => {
      console.log("Listening on http://localhost:7001");
    });
    EOF
  3. Dockerfile を作成します。

    NGINX OTel モジュールバージョン ≥ 0.1.2

    cat << 'EOF' > backend/Dockerfile
    FROM node:20.16.0
    WORKDIR /app
    COPY package*.json ./
    RUN npm install
    COPY . .
    ENV OTEL_TRACES_EXPORTER="otlp"
    ENV OTEL_LOGS_EXPORTER=none
    ENV OTEL_METRICS_EXPORTER=none
    ENV OTEL_EXPORTER_OTLP_TRACES_PROTOCOL=grpc
    ENV OTEL_EXPORTER_OTLP_TRACES_ENDPOINT="${GRPC_ENDPOINT}"
      export OTEL_EXPORTER_OTLP_HEADERS=Authentication=${GRPC_TOKEN}
    ENV OTEL_NODE_RESOURCE_DETECTORS="env,host,os"
    ENV OTEL_SERVICE_NAME="ot-nodejs-demo"
    ENV NODE_OPTIONS="--require @opentelemetry/auto-instrumentations-node/register"
    EXPOSE 7001
    CMD ["node", "main.js"]
    EOF

    NGINX OTel モジュールバージョン ≤ 0.1.1

    cat << 'EOF' > backend/Dockerfile
    FROM node:20.16.0
    WORKDIR /app
    COPY package*.json ./
    RUN npm install
    COPY . .
    ENV OTEL_TRACES_EXPORTER="otlp"
    ENV OTEL_LOGS_EXPORTER=none
    ENV OTEL_METRICS_EXPORTER=none
    ENV OTEL_EXPORTER_OTLP_TRACES_PROTOCOL=grpc
    ENV OTEL_EXPORTER_OTLP_TRACES_ENDPOINT="http://otel-collector:4317"
    ENV OTEL_NODE_RESOURCE_DETECTORS="env,host,os"
    ENV OTEL_SERVICE_NAME="ot-nodejs-demo"
    ENV NODE_OPTIONS="--require @opentelemetry/auto-instrumentations-node/register"
    EXPOSE 7001
    CMD ["node", "main.js"]
    EOF

ステップ 6: Docker Compose の構成ファイルを作成する

Docker Compose の構成ファイルは、リバースプロキシとして機能する NGINX、OpenTelemetry Collector、Node.js バックエンドサービスなど、マルチコンテナーアプリケーションの構成を定義します。このファイルは、コンポーネント間のネットワーク接続とポートマッピングも定義します。

NGINX OTel モジュールバージョン ≥ 0.1.2

cat << 'EOF' > docker-compose.yml
version: "3"

services:
  nginx:
    image: nginx:1.27.5-alpine-otel # NGINX OTel モジュールバージョン 0.1.2 を含むデフォルトの NGINX イメージ
    volumes:
      - ./nginx_conf/nginx.conf:/etc/nginx/nginx.conf:ro 
      - ./nginx_conf/default.conf:/etc/nginx/conf.d/default.conf:ro 
    ports:
      - "80:80"
    networks:
      - nginx-otel-demo

  backend-api:
    build:
      context: ./backend
      dockerfile: Dockerfile
    environment:
      - NODE_ENV=production
    ports:
      - "7001:7001"
    networks:
      - nginx-otel-demo

networks:
  nginx-otel-demo:
    driver: bridge
EOF

NGINX OTel モジュールバージョン ≤ 0.1.1

cat << 'EOF' > docker-compose.yml
version: "3"

services:
  nginx:
    image: nginx:1.27.2-alpine-otel # OpenTelemetry モジュールを含むデフォルトの NGINX イメージ
    volumes:
      - ./nginx_conf/nginx.conf:/etc/nginx/nginx.conf:ro 
      - ./nginx_conf/default.conf:/etc/nginx/conf.d/default.conf:ro 
    ports:
      - "80:80"
    networks:
      - nginx-otel-demo

  otel-collector:
    image: otel/opentelemetry-collector-contrib:latest
    volumes:
      - ./otel_conf/config.yaml:/etc/otelcol-contrib/config.yaml # OpenTelemetry Collector の構成ファイルをロード
    ports:
      - "4317:4317" # OTLP gRPC レシーバー
    networks:
      - nginx-otel-demo

  backend-api:
    build:
      context: ./backend
      dockerfile: Dockerfile
    environment:
      - NODE_ENV=production
    ports:
      - "7001:7001"
    networks:
      - nginx-otel-demo

networks:
  nginx-otel-demo:
    driver: bridge
EOF

ステップ 7: サービスを開始する

  1. nginx-otel-demo ディレクトリで次のコマンドを実行します:

    docker compose up -d

    期待される出力:

    NGINX OTel モジュールバージョン ≥ 0.1.2

    image

    NGINX OTel モジュールバージョン ≤ 0.1.1

    image (14).png

  2. バックエンドサービスにアクセスします。

    curl http://localhost:80/hello

    期待される出力:

    {"code":200,"msg":"success"}
  3. Managed Service for OpenTelemetry コンソールにログインして、NGINX とバックエンドサービスのトレースを表示します。

    この例では、[アプリケーション] ページに NGINX のアプリケーション名として nginx が表示され、バックエンドサービスの名前は ot-nodejs-demo です。

よくある質問

  1. Unable to find a match: nginx-module-otel」というエラーメッセージが表示されて nginx-module-otel のダウンロードに失敗した場合はどうすればよいですか?

    NGINX パッケージリポジトリを構成しているかどうかを確認します。構成していない場合は、nginx-otel を参照して構成します。

  2. NGINX の構成ファイルで NGINX OTel モジュールを構成した後に NGINX の起動に失敗した場合はどうすればよいですか?

    nginx -t コマンドを実行して NGINX の構成が有効かどうかを確認するか、NGINX ログでエラーメッセージを表示します。

    sudo tail -n 50 /var/log/nginx/error.log
  3. NGINX OTel モジュールを有効にした後、Managed Service for OpenTelemetry コンソールで NGINX トレースが利用できない場合はどうすればよいですか?

    NGINX の構成ファイルで otel_exporter.endpoint パラメーターの値が有効かどうかを確認します。このエンドポイントは、OpenTelemetry Collector がデプロイされているサーバーの IP アドレスと、OpenTelemetry Collector が gRPC 経由でレポートされたデータを受信するために使用するポートで構成されます。例: localhost:4317。NGINX ログを表示することで、構成が有効かどうかを確認できます。次の図に示すエラーがレポートされた場合、エンドポイントは無効です。

    image (15).png

  4. NGINX トレースを別のアプリケーションのトレースと関連付けることができない場合はどうすればよいですか?

    NGINX の構成ファイルで otel_trace_context propagate; が構成されているか、また、アプリケーションがトレースコンテキストの伝播に使用するプロトコルが NGINX で使用されるプロトコルと同じであるかどうかを確認します。NGINX OTel モジュールは、トレースコンテキストの伝播に OpenTelemetry プロトコルと W3C 仕様を使用します。したがって、NGINX トレースをアプリケーションのトレースと関連付けることができるのは、アプリケーションもトレースコンテキストの伝播に OpenTelemetry プロトコルと W3C 仕様を使用している場合のみです。

  5. NGINX OTel モジュールは NGINX のパフォーマンスに影響しますか?

    NGINX OTel モジュールは NGINX のネイティブモジュールです。NGINX チームによると、このモジュールが NGINX のパフォーマンスに与える影響は 10% から 15% に限定されます。詳細については、「NGINX Native OpenTelemetry (OTel) Module」をご参照ください。

リファレンス