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

Application Real-Time Monitoring Service:NGINX Ingress Controller のトレーシング有効化

最終更新日:Jun 19, 2026

Kubernetesコンテナサービス (ACK) は、ACK クラスターの NGINX Ingress Controller コンポーネントから Managed Service for OpenTelemetry にトレースを送信できるトレース機能を提供します。Managed Service for OpenTelemetry

前提条件

バージョンの互換性

トレースのサポートは、Nginx Ingress Controller コンポーネントのバージョンによって異なります。ご利用のバージョンに適した設定方法を選択する必要があります。

Nginx Ingress Controller のバージョン

OpenTelemetry

OpenTracing

v1.10.2-aliyun.1 以降

サポート対象

サポート対象外

v1.9.3-aliyun.1

サポート対象

サポート対象

v1.8.2-aliyun.1

サポート対象

サポート対象

v1.8.2-aliyun.1 より前

サポート対象外

サポート対象

手順

OpenTelemetry

手順1:エンドポイント情報の取得

  1. ARMS コンソールにログインします。左側のナビゲーションペインで、アクセスセンター をクリックします。

  2. サーバーアプリケーション エリアで、[OpenTelemetry] カードをクリックします。

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

  4. エンドポイント情報を記録します。[Parameters] セクションで、[Connection Method][Alibaba Cloud イントラネット] に、[Report Method][gRPC] に設定します。次に、[Endpoint Information] セクションから、gRPC エンドポイントアドレス (例: http://tracing-analysis-dc-hz-internal.aliyuncs.com:8090) と認証トークンをコピーします。

    説明

    お使いの NGINX Ingress Controller が Managed Service for OpenTelemetry と同じ Alibaba Cloud リージョンにデプロイされている場合は、VPC ネットワークエンドポイントを使用します。それ以外の場合は、パブリックエンドポイントを使用します。

手順2:NGINX Ingress Controller での OpenTelemetry の有効化Managed Service for OpenTelemetry

  1. ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。

  2. [クラスター] ページで、管理するクラスターの名前をクリックします。 左側のウィンドウで、[ワークロード] > [デプロイ] を選択します。

  3. [デプロイメント] ページで、[名前空間] を [kube-system] に設定します。nginx-ingress-controller デプロイメントを見つけ、[アクション] 列の [編集] をクリックします。

  4. 編集 ページで、[nginx-ingress-controller] コンテナを選択します。環境変数 タブで 新規追加 をクリックして、次の環境変数を追加します。

    タイプ

    変数名

    説明

    カスタム

    OTEL_EXPORTER_OTLP_HEADERS

    authentication=<認証トークン>

    手順1 で取得した認証トークンを使用します。例: authentication=bfXXXXXXXe@7bXXXXXXX1_bXXXXXe@XXXXXXX1

    追加が完了したら、編集 ページの右側にある 更新 をクリックし、表示されるダイアログボックスで 確定する をクリックします。

  5. 左側のナビゲーションペインで、[設定] > [ConfigMap] を選択します。

  6. [ConfigMap] ページで、[名前空間] を [kube-system] に設定します。nginx-configuration ConfigMap を見つけ、[アクション] 列の [編集] をクリックします。

  7. [編集] パネルで [追加] をクリックして次のキーと値のペアを追加し、[OK] をクリックします。

    パラメーター

    説明

    enable-opentelemetry

    OpenTelemetry トレーシングを有効にするかどうかを指定します。

    • true:トレーシングを有効にします。

    • false:トレーシングを無効にします。

    true

    main-snippet

    -

    env OTEL_EXPORTER_OTLP_HEADERS;

    env OTEL_EXPORTER_OTLP_HEADERS;

    otel-service-name

    サービス名。

    カスタム名。

    nginx-ingress

    otlp-collector-host

    gRPC レポートエンドポイントのドメイン名。

    手順1 で取得した VPC ネットワークエンドポイントを使用します。http:// プレフィックスとポート番号を削除します。例: tracing-analysis-XX-XX-XXXXX.aliyuncs.com

    tracing-analysis-XX-XX-XXXXX.aliyuncs.com

    otlp-collector-port

    gRPC レポートエンドポイントのポート。

    実際のポート番号。

    8090

    opentelemetry-trust-incoming-span

    他のサービスやシステムからの受信トレースを信頼するかどうかを指定します。

    • true:受信トレースを信頼します。

    • false:受信トレースを信頼しません。

    true

    opentelemetry-operation-name

    トレーススパンのフォーマット。

    HTTP $request_method $service_name $uri

    HTTP $request_method $service_name $uri

    otel-sampler

    サンプリングルール。

    詳細については、「NGINX Ingress Controller のドキュメント」をご参照ください。

    TraceIdRatioBased

    otel-sampler-ratio

    サンプリングレート。

    0.0 から 1.0 までの値で、小数点以下 2 桁まで指定できます。値 0.0 はサンプリングを無効にし、1.0 はすべてのトレースをサンプリングします。

    詳細については、「NGINX Ingress Controller のドキュメント」をご参照ください。

    0.1

    otel-sampler-parent-based

    アップストリームサービスからサンプリングの決定を継承するかどうかを指定します。

    • false:(デフォルト) アップストリームのサンプリング決定を継承しません。otel-samplerotel-sampler-ratio パラメーターが有効になります。

    • true:アップストリームのサンプリング決定を継承して再利用します。otel-samplerotel-sampler-ratio パラメーターは有効になりません。

    詳細については、「NGINX Ingress Controller のドキュメント」をご参照ください。

    false

手順3:ARMS コンソールでのトレースの表示

  1. ARMS コンソールにログインします。左側のナビゲーションペインで、アプリケーションモニタリング > アプリケーションリスト を選択します。

  2. アプリケーションリスト ページの上部にあるドロップダウンリストからリージョンを選択します。次に、アプリケーション [nginx-ingress] をクリックします。

  3. アプリケーションの詳細ページでトレース情報を確認します。

    • アプリケーション概要 タブで、リクエスト数やエラー数などのメトリクスを確認できます。应用概览-中.jpg

    • トレース分析 タブでは、ページ上部で呼び出し数、エラー数、期間のチャートを表示できます。チャートの下には、TraceId、スパン名、アプリケーション名、期間、ステータス (例: 200 または 404) などの列があるトレースのリストが表示されます。

    • トレース分析 タブのトレースリストから TraceId をクリックして、その詳細ページを開きます。このページには、タイムラインビューと各スパンの詳細情報が表示されます。これには、アプリケーション名 (例: nginx-ingress)、操作名 (例: HTTP GET my-nginx-svc /)、開始時刻と終了時刻、期間が含まれます。[Attributes] タブには、http.methodhttp.status_codehttp.hosthttp.user_agent などの HTTP 属性や、net.host.port などのネットワーク情報が表示されます。

OpenTracing

手順1:エンドポイント情報の取得

  1. ARMS コンソールにログインします。左側のナビゲーションペインで、アクセスセンター をクリックします。

  2. サーバーアプリケーション エリアで、[Zipkin] カードをクリックします。

    説明

    この例では Zipkin を使用します。

  3. 表示される [Zipkin] パネルで、データをレポートするリージョンを選択します。

  4. エンドポイント情報を記録します。[Connection Method][Alibaba Cloud イントラネット] を選択します。ページには、[v2 エンドポイント][v1 エンドポイント] の 2 つの VPC ネットワークエンドポイント URL が表示されます。後で使用するために、[v1 エンドポイント] の URL をコピーします。

    説明

    お使いの NGINX Ingress Controller が Managed Service for OpenTelemetry と同じ Alibaba Cloud リージョンにデプロイされている場合は、VPC ネットワークエンドポイントを使用します。それ以外の場合は、パブリックエンドポイントを使用します。

手順2:NGINX Ingress Controller での OpenTracing の有効化Managed Service for OpenTelemetry

  1. ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。

  2. [クラスター] ページで、管理するクラスターの名前をクリックします。 左側のナビゲーションウィンドウで、[設定] > [設定] を選択します。

  3. [ConfigMap] ページで、[名前空間] を [kube-system] に設定します。nginx-configuration ConfigMap を見つけ、操作 列の 編集 をクリックします。

  4. 編集 パネルで 追加 をクリックして次のキーと値のペアを追加し、[OK] をクリックします。

    パラメーター

    説明

    enable-opentracing

    トレーシングを有効にするかどうかを指定します。

    • true:トレーシングを有効にします。

    • false:トレーシングを無効にします。

    true

    zipkin-service-name

    サービス名。

    カスタム名。

    nginx-ingress

    zipkin-collector-host

    レポートエンドポイントのドメイン名。

    手順1 で取得したエンドポイント URL を変更します。http:// プレフィックスを削除し、末尾に疑問符 (?) を追加します。例:

    • 元のエンドポイント: http://tracing-analysis-dc-hz-internal.aliyuncs.com/adapt_******_******/api/v1/spans

    • 変更後の値: tracing-analysis-dc-hz-internal.aliyuncs.com/adapt_******_******/api/v1/spans?

    tracing-analysis-dc-hz-internal.aliyuncs.com/adapt_******_******/api/v1/spans?

    opentracing-trust-incoming-span

    他のサービスやシステムからの受信トレースを信頼するかどうかを指定します。

    • true:受信トレースを信頼します。

    • false:受信トレースを信頼しません。

    true

    zipkin-sample-rate

    サンプリングレート。

    0 から 1 までの値です。値 0 はサンプリングなしを意味し、1 はすべてのデータがサンプリングされることを意味します。

    0.1

手順 3: ARMS コンソールでトレースを表示する

  1. ARMS コンソールにログインします。左側のナビゲーションペインで、アプリケーションモニタリング > アプリケーションリスト をクリックします。

  2. アプリケーションリスト ページの上部にあるドロップダウンリストからリージョンを選択します。次に、アプリケーション [nginx-ingress] をクリックします。

  3. アプリケーションの詳細ページの左側のナビゲーションペインで、[インターフェイス呼び出し] をクリックします。

    • 概要 タブには、現在のアプリケーションのサービストポロジと呼び出し関係が表示されます。他に利用可能なタブには、[アップストリーム][ダウンストリーム][トレース] があります。

    • [トレース] タブには、アプリケーションの実行時間が最も長いトレースが最大 100 件リストされます。トレースデータの詳細については、「インターフェイス呼び出し」をご参照ください。テーブルには、[時間][スパン名][ホスト/IP][期間][ステータス][TraceId][アクション] などの列が含まれます。[期間が次より大きい][例外] で結果をフィルタリングできます。

    • [トレース] タブで TraceId をクリックして、トレースの詳細を表示します。[トレース詳細] ページには、TraceId、開始時刻、合計期間が表示されます。また、各スパンの階層と相対的な期間を視覚化するウォーターフォールチャートも表示されます。たとえば、/api/currency へのリクエストは、nginx-otlpfrontendproxyfrontendcurrencyservice などのサービスを通過し、合計期間は約 15 ms になる場合があります。各スパンは、トレース全体に対する相対的な期間を示す水平バーで表されます。

(オプション) OpenTelemetry プロパゲーターの切り替え

デフォルトでは、OpenTelemetry メソッドを使用する場合、NGINX Ingress Controller は W3C トレースコンテキストフォーマットでトレースコンテキストを伝播します。フロントエンドとバックエンドのアプリケーションで、B3 (Zipkin で使用) や Jaeger など、別のコンテキストフォーマットを使用している場合は、すべてのサービス間でトレースを正しく関連付けるために、プロパゲーターを変更する必要があります。このセクションでは、NGINX Ingress Controller のプロパゲーターを変更する方法について説明します。

  1. OpenTelemetry プロシージャのステップ 2.4 で説明されているのと同じ方法で、OTEL_PROPAGATORS 環境変数を追加します。次に、設定を保存し、nginx-ingress-controller を再デプロイします。

    環境変数

    説明

    OTEL_PROPAGATORS

    tracecontext,baggage,b3,jaeger

    使用するプロパゲーターのカンマ区切りのリストです。詳細については、「Specify the format of propagation headers for OpenTelemetry」をご参照ください。

  2. 次に、OTEL_PROPAGATORS 環境変数を適用するため、OpenTelemetry プロシージャのステップ 2.7 の説明に従って main-snippet の設定を変更します。

    パラメーター

    説明

    main-snippet

    env OTEL_EXPORTER_OTLP_HEADERS; env OTEL_PROPAGATORS;

    環境変数を読み込みます。

関連ドキュメント

  • Managed Service for OpenTelemetry の詳細については、「What is Managed Service for OpenTelemetry?」をご参照ください。

  • Container Service for Kubernetes (ACK) の詳細については、「What is Container Service for Kubernetes (ACK)?」をご参照ください。

  • nginx-configuration ConfigMap に必要なキーは、使用するトレーシングツール (例:Zipkin、Jaeger、SkyWalking) によって異なります。Managed Service for OpenTelemetry への接続方法の詳細については、「Preparations」をご参照ください。