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

Container Service for Kubernetes:NGINX Ingress controller のトレーシングの有効化

最終更新日:Sep 09, 2026

Container Service for Kubernetes (ACK) では、NGINX Ingress controller のトレースを有効にして、トレースデータを Managed Service for OpenTelemetry に送信できます。Managed Service for OpenTelemetry は、このトレースデータをリアルタイムで集約、処理、保存します。このサービスは、NGINX Ingress controller の問題に対するトラブルシューティングと診断のために、詳細なトレースやリアルタイムトポロジーマップなどのモニタリングデータを生成します。

重要

Ingress-NGINX オープンソースプロジェクトは、2026年3月をもってメンテナンスが終了します。これに伴い、Container Service for Kubernetes も NGINX Ingress コントローラーのメンテナンスを終了します。続行する前に、リスクをご理解ください。詳細については、「NGINX Ingress コントローラー コンポーネントのメンテナンス終了に関する製品に関するお知らせ」をご参照ください。

前提条件

バージョンの互換性

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

サポート対象外

サポート

操作手順

お使いの NGINX Ingress controller のバージョンに対応する手順を選択してください。

OpenTelemetry

手順1:エンドポイントの取得 Managed Service for OpenTelemetry

新しいコンソール

  1. Managed Service for OpenTelemetry コンソールにログインします。 左側メニューで、アクセスセンター をクリックします。

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

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

  4. gRPC レポート方式のエンドポイントを記録します。 [接続方式][Alibaba Cloud 内部ネットワーク] に設定し、[レポート方式][gRPC] に設定します。 [gRPC 経由でのデータレポート] 領域で、Alibaba Cloud VPC ネットワークエンドポイント (例: http://tracing-analysis-dc-hz-internal.aliyuncs.com:8090) と [認証トークン] を取得します。 Golang 言語を使用してデータをレポートする場合は、エンドポイントから http:// を削除します。

    説明

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

以前のコンソール

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

  2. 左側メニューで、クラスター設定 をクリックします。 表示されたページで、AccessPointFeature タブをクリックします。

  3. ページの上部で、接続するリージョンを選択します。

  4. クラスター情報 セクションで、[トークンの表示] スイッチをオンにします。 [クライアント] セクションで [OpenTelemetry] をクリックし、gRPC レポート方式のエンドポイントを記録します。

    gRPC レポート方式の場合、Alibaba Cloud VPC ネットワークエンドポイントは http://tracing-analysis-dc-hz-internal.aliyuncs.com:8090 です。 認証トークンは、エンドポイント情報に表示されるトークンの値です。

    説明

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

手順2:NGINX Ingress controller の設定 Managed Service for OpenTelemetry

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

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

  3. [Deployments] ページで、[Namespace] を kube-system に設定します。 nginx-ingress-controller を検索し、[編集] をクリックします。

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

    タイプ

    変数キー

    値/値のソース

    説明

    カスタム

    OTEL_EXPORTER_OTLP_HEADERS

    authentication=<authentication token>

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

    変数を追加した後、編集 ページの右側のパネルで 更新 をクリックします。 表示されるダイアログボックスで、OK をクリックします。

  5. 左側メニューで、設定 > ConfigMap を選択します。

  6. 構成 ページで、[Namespace] を kube-system に設定します。 nginx-configuration を検索し、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

    サンプリング戦略。

    パラメーターの詳細については、「opentelemetry」をご参照ください。

    TraceIdRatioBased

    otel-sampler-ratio

    サンプリングレート。

    値は 0 から 1 の間で、小数点以下 2 桁まで指定できます。 値 0 はリクエストがサンプリングされないこと、1 はすべてのリクエストがサンプリングされることを意味します。

    パラメーターの詳細については、「opentelemetry」をご参照ください。

    0.1

    otel-sampler-parent-based

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

    • false (デフォルト):アップストリームのサンプリング決定を継承しません。 サンプリングは、otel-sampler および otel-sampler-ratio パラメーターに基づいています。

    • true:アップストリームのサンプリング決定を継承します。 otel-sampler および otel-sampler-ratio パラメーターは無視されます。

    パラメーターの詳細については、「opentelemetry」をご参照ください。

    false

手順3:トレースデータの表示 Managed Service for OpenTelemetry

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

  2. 左側メニューで、アプリケーションリスト をクリックします。

  3. アプリケーションリスト ページの上部でリージョンを選択し、[nginx-ingress] アプリケーション名をクリックします。

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

    • 呼び出しチェーン分析 タブでは、呼び出し数、エラー数、平均期間などのチャートや、トレースリストを表示できます。 リストには、TraceId、インターフェイス名、アプリケーション名、期間、ステータス、開始時刻、ホストアドレスなどのフィールドが含まれます。

    • 呼び出しチェーン分析 タブで Trace ID をクリックすると、トレースの詳細が表示されます。

OpenTracing

手順1:エンドポイントの取得 Managed Service for OpenTelemetry

新しいコンソール

  1. Managed Service for OpenTelemetry コンソールにログインします。 左側メニューで、アクセスセンター をクリックします。

  2. オープンソースフレームワーク セクションで、[Zipkin] カードをクリックします。

    説明

    取得するエンドポイントは、使用するクライアントによって異なります。 このトピックでは、Zipkin を例として使用します。

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

  4. エンドポイント情報を記録します。

    説明

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

以前のコンソール

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

  2. 左側メニューで、クラスター設定 をクリックします。 表示されたページで、AccessPointFeature タブをクリックします。

  3. ページの上部で、接続するリージョンを選択します。

  4. クラスター情報 セクションで、[トークンの表示] スイッチをオンにします。 [クライアント] セクションで [Zipkin] をクリックし、エンドポイント情報を記録します。

    [Zipkin] タブの表に、中国 (杭州) リージョンのエンドポイント情報が表示されます。 この表には v2 エンドポイントと v1 エンドポイントが含まれており、各バージョンにはパブリックエンドポイント URL と Alibaba Cloud VPC ネットワークエンドポイント URL があります。 パスが /api/v1/spans で終わる v1 バージョンの [Alibaba Cloud VPC ネットワークエンドポイント] アドレスを記録します。 ほとんどの場合、v2 インターフェイスを選択します。 Istio や Molten などの特定のシナリオでは、v1 インターフェイスを選択します。 Sleuth コンポーネントを使用する場合、baseUrl には /api/v2/spans は含まれません。

    説明

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

手順2:NGINX Ingress controller の設定 Managed Service for OpenTelemetry

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

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

  3. 構成 ページで、[Namespace] を kube-system に設定します。 nginx-configuration を検索し、nginx-configuration ConfigMap の 操作 列で 編集 をクリックします。

  4. 編集 パネルで 追加 をクリックし、次の設定を追加してから [OK] をクリックします。

    パラメーター

    説明

    enable-opentracing

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

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

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

    true

    zipkin-service-name

    サービス名。

    カスタム。

    nginx-ingress

    zipkin-collector-host

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

    手順1:エンドポイントの取得」で取得したエンドポイントを変更します。 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 の間で、小数点以下 2 桁まで指定できます。 値 0 はリクエストがサンプリングされないこと、1 はすべてのリクエストがサンプリングされることを意味します。

    0.1

手順3:トレースデータの表示 Managed Service for OpenTelemetry

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

  2. 左側メニューで、アプリケーションリスト をクリックします。

  3. アプリケーションリスト ページの上部でリージョンを選択し、[nginx-ingress] アプリケーション名をクリックします。

  4. アプリケーション詳細ページの左側メニューで、インターフェースの呼び出し をクリックします。 右側の領域で、トレース情報を表示します。

    • 概要 タブにトレースのトポロジーが表示されます。

    • [トレース] タブをクリックして、アプリケーションで最も時間がかかったトレースを最大 100 件表示します。 トレースデータの詳細については、「インターフェイス呼び出し」をご参照ください。 トレースリストには、[生成時刻][スパン名][ホスト/IP][期間][ステータス][TraceId][アクション] などの列が表示されます。 上部のフィルター条件を使用して、[期間が次より大きい] (ミリ秒単位) でトレースを絞り込んだり、[異常] を選択したりできます。 [アクション] 列には、[ログの表示] リンクがあります。

    • [トレース] タブで Trace ID をクリックして、トレースの詳細を表示します。 トレース詳細ページには、リクエストの完全な呼び出しチェーンが表示されます。これには、階層的なネスト関係が含まれます。

      • HTTP GET opentelemetry-demo-frontendproxy /api/currency (nginx-otlp, cpp): 15.12 ms

      • ingress (frontendproxy): 13.82 ms

      • router frontend egress (frontendproxy): 13.64 ms

      • GET (frontend, nodejs): 8.84 ms

      • grpc.oteldemo.CurrencyService/GetSupportedCurrencies (frontend, nodejs): 6.83 ms

      • CurrencyService/GetSupportedCurrencies (currencyservice, cpp): 1.35 ms

トレース伝播プロトコルの変更 (オプション)

NGINX Ingress コントローラーのトレーシングに OpenTelemetry を使用する場合、OpenTelemetry はデフォルトで W3C Trace Context フォーマットでトレースコンテキストを認識し、ダウンストリームに伝播します。フロントエンドアプリケーションとバックエンドアプリケーションが Jaeger や Zipkin などの他のプロトコルを使用している場合は、フロントエンドアプリケーション、NGINX Ingress コントローラー、バックエンドアプリケーションのトレースをリンクするために、OpenTelemetry のトレース伝播プロトコルを変更する必要があります。このトピックでは、NGINX Ingress コントローラーで使用する OpenTelemetry のトレース伝播プロトコルを変更する方法について説明します。

  1. ステップ 2 のサブステップ 4 の設定に加えて、OTEL_PROPAGATORS 環境変数を追加します。変更を保存し、nginx-ingress-controller を再デプロイします。

    変数キー

    説明

    OTEL_PROPAGATORS

    tracecontext,baggage,b3,jaeger

    伝播フォーマット。詳細については、「OpenTelemetry の伝播ヘッダーフォーマットの指定」をご参照ください。

  2. ステップ 2 のサブステップ 7 の設定に加えて、main-snippet の設定を変更して、OTEL_PROPAGATORS 環境変数を適用します。

    パラメーター

    説明

    main-snippet

    env OTEL_EXPORTER_OTLP_HEADERS; env OTEL_PROPAGATORS;

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

関連ドキュメント

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

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

  • nginx-configuration ConfigMap の必須フィールドは、トレーシングソリューション (Zipkin、Jaeger、SkyWalking など) によって異なります。これらのソリューションと Managed Service for OpenTelemetry との統合に関する詳細については、「準備」をご参照ください。