全部产品
Search
文档中心

Container Service for Kubernetes:Aktifkan tracing untuk NGINX Ingress controller

更新时间:Jul 06, 2025

Container Service for Kubernetes (ACK) memungkinkan Anda mengaktifkan tracing untuk NGINX Ingress controller dan mengimpor data jejak ke Managed Service for OpenTelemetry. Managed Service for OpenTelemetry menyimpan data jejak dan menggabungkan serta menghitung data jejak secara real-time untuk menghasilkan data pemantauan, termasuk detail jejak dan topologi waktu nyata. Anda dapat menganalisis masalah berdasarkan data pemantauan tersebut.

Prasyarat

Deskripsi versi

Dukungan untuk tracing bervariasi berdasarkan versi NGINX Ingress controller. Tabel berikut menjelaskan versi NGINX Ingress controller yang mendukung dan tidak mendukung tracing.

Versi NGINX Ingress controller

OpenTelemetry

OpenTracing

≥ 1.10.2-aliyun.1

Didukung

Tidak didukung

v1.9.3-aliyun.1

Didukung

Didukung

v1.8.2-aliyun.1

Didukung

Didukung

< v1.8.2-aliyun.1

Tidak didukung

Didukung

Prosedur

Ikuti langkah-langkah berikut sesuai dengan versi NGINX Ingress controller yang terpasang di kluster Anda.

OpenTelemetry

Langkah 1: Dapatkan endpoint dari Managed Service for OpenTelemetry

Versi baru konsol Managed Service for OpenTelemetry

  1. Masuk ke Konsol Managed Service for OpenTelemetry. Di panel navigasi sisi kiri, klik Integration Center.

  2. Di bagian Open Source Frameworks, klik kartu OpenTelemetry.

  3. Di panel OpenTelemetry, pilih wilayah dari mana Anda ingin mengimpor data jejak.

  4. Catat endpoint yang digunakan untuk mengimpor data melalui gRPC.ot-新版-中文.jpg

    Catatan

    NGINX Ingress controller diterapkan di Alibaba Cloud dan berada di wilayah yang sama dengan agen Managed Service for OpenTelemetry dalam contoh ini. Oleh karena itu, kami sarankan Anda menggunakan endpoint virtual private cloud (VPC). Jika NGINX Ingress controller dan agen Managed Service for OpenTelemetry diterapkan di wilayah yang berbeda, gunakan endpoint publik.

Versi sebelumnya konsol Managed Service for OpenTelemetry

  1. Masuk ke Konsol Managed Service for OpenTelemetry.

  2. Di panel navigasi sisi kiri, klik Cluster Configurations. Di sisi kanan halaman yang muncul, klik tab Access point information.

  3. Di bagian atas halaman, pilih wilayah dari mana Anda ingin mengimpor data jejak.

  4. Pilih Show Token di bagian Cluster Information dan klik OpenTelemetry di bagian Client. Lalu, catat endpoint yang digunakan untuk mengimpor data melalui gRPC.

    ot-旧版-中文.jpg

    Catatan

    NGINX Ingress controller diterapkan di Alibaba Cloud dan berada di wilayah yang sama dengan agen Managed Service for OpenTelemetry dalam contoh ini. Oleh karena itu, kami sarankan Anda menggunakan endpoint VPC. Jika NGINX Ingress controller dan agen Managed Service for OpenTelemetry diterapkan di wilayah yang berbeda, gunakan endpoint publik.

Langkah 2: Aktifkan Managed Service for OpenTelemetry untuk NGINX Ingress controller

  1. Masuk ke Konsol ACK. Di panel navigasi sisi kiri, klik Clusters.

  2. Di halaman Clusters, temukan kluster yang ingin Anda kelola dan klik namanya. Di panel sisi kiri, pilih Workloads > Deployments.

  3. Di bagian atas halaman, pilih kube-system dari daftar drop-down Namespace. Lalu, masukkan nginx-ingress-controller di kotak pencarian dan klik ikon pencarian. Temukan nginx-ingress-controller dan klik Edit di kolom Actions.

  4. Di bagian atas halaman Edit, pilih kontainer nginx-ingress-controller. Pada tab Environments, klik Add untuk menambahkan variabel lingkungan berikut.

    Tipe

    Kunci Variabel

    Nilai/ValueFrom

    Deskripsi

    Kustom

    OTEL_EXPORTER_OTLP_HEADERS

    authentication=<Token Otentikasi>

    Tentukan token otentikasi yang Anda peroleh di Langkah 1: Dapatkan endpoint dari Managed Service for OpenTelemetry. Contoh: authentication=bfXXXXXXXe@7bXXXXXXX1_bXXXXXe@XXXXXXX1.

    image

    Setelah menambahkan variabel lingkungan, klik Update di sisi kanan halaman Edit. Di pesan yang muncul, klik Confirm.

  5. Di panel navigasi sisi kiri, pilih Configurations > ConfigMaps.

  6. Di bagian atas halaman ConfigMap, pilih kube-system dari daftar drop-down Namespace. Kemudian, masukkan nginx-configuration di kotak pencarian Nama dan klik ikon pencarian. Temukan nginx-configuration dan klik Edit di kolom Actions.

  7. Di panel Edit, klik Add untuk menambahkan konfigurasi berikut dan klik OK.

    Nama

    Deskripsi

    Nilai valid

    Contoh

    enable-opentelemetry

    Menentukan apakah akan mengaktifkan Managed Service for OpenTelemetry.

    • true: mengaktifkan Managed Service for OpenTelemetry.

    • false: tidak mengaktifkan Managed Service for OpenTelemetry.

    true

    main-snippet

    -

    env OTEL_EXPORTER_OTLP_HEADERS;

    env OTEL_EXPORTER_OTLP_HEADERS;

    otel-service-name

    Masukkan nama layanan.

    Konfigurasikan nilai kustom.

    nginx-ingress

    otlp-collector-host

    Nama domain yang digunakan untuk mengimpor data melalui gRPC.

    Hapus http:// dan nomor port dari endpoint VPC yang Anda peroleh di Langkah 1: Dapatkan endpoint dari Managed Service for OpenTelemetry. Contoh: tracing-analysis-XX-XX-XXXXX.aliyuncs.com.

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

    otlp-collector-port

    Port yang digunakan untuk mengimpor data melalui gRPC.

    Masukkan nilai berdasarkan kebutuhan bisnis Anda.

    8090

    opentelemetry-trust-incoming-span

    Menentukan apakah akan mempercayai jejak panggilan dari layanan atau sistem lain.

    • true: mempercayai jejak panggilan dari layanan atau sistem lain.

    • false: tidak mempercayai jejak panggilan dari layanan atau sistem lain.

    true

    opentelemetry-operation-name

    Format rentang jejak panggilan.

    HTTP $request_method $service_name $uri

    HTTP $request_method $service_name $uri

    otel-sampler

    Aturan sampling.

    Untuk informasi lebih lanjut, lihat opentelemetry.

    TraceIdRatioBased

    otel-sampler-ratio

    Tingkat sampling.

    Nilai valid: 0 hingga 1. Nilai bisa akurat hingga dua tempat desimal. Nilai 0 menunjukkan bahwa tidak ada data yang dikumpulkan. Nilai 1 menunjukkan bahwa semua data dikumpulkan. Untuk informasi lebih lanjut, lihat opentelemetry.

    0.1

    otel-sampler-parent-based

    Menentukan apakah akan mewarisi flag sampled upstream.

    • false: tidak mewarisi flag sampled upstream. Ini adalah nilai default. Dalam kasus ini, otel-sampler dan otel-sampler-ratio berlaku.

    • true: mewarisi flag sampled upstream. Dalam kasus ini, otel-sampler dan otel-sampler-ratio tidak berlaku dan flag sampled upstream digunakan kembali.

    Untuk informasi lebih lanjut, lihat opentelemetry.

    false

Langkah 3: Lihat data jejak di konsol Managed Service for OpenTelemetry

  1. Masuk ke Konsol Managed Service for OpenTelemetry.

  2. Di panel navigasi sisi kiri, klik Applications.

  3. Di bagian atas halaman Applications, pilih wilayah dari mana Anda ingin mengimpor data jejak. Lalu, klik nginx-ingress.

  4. Di halaman detail aplikasi, Anda dapat melihat data jejak.

    • Di tab Application Overview, Anda dapat melihat jumlah permintaan dan jumlah kesalahan.应用概览-中.jpg

    • Di tab Trace Analysis, Anda dapat melihat daftar jejak dan durasi rata-rata.调用链分析-中.jpg

    • Di tab Trace Analysis, Anda dapat mengklik ID jejak untuk melihat detail jejak.trace详情-中.jpg

OpenTracing

Langkah 1: Dapatkan endpoint dari Managed Service for OpenTelemetry

Versi baru konsol Managed Service for OpenTelemetry

  1. Masuk ke Konsol Managed Service for OpenTelemetry. Di panel navigasi sisi kiri, klik Integration Center.

  2. Di bagian Open Source Frameworks, klik kartu Zipkin.

    Catatan

    Dapatkan endpoint klien yang digunakan untuk mengumpulkan data. Dalam contoh ini, klien Zipkin digunakan.

  3. Di panel Zipkin, pilih wilayah dari mana Anda ingin mengimpor data jejak.

  4. Catat endpoint.zipkin-新版-中.jpg

    Catatan

    NGINX Ingress controller diterapkan di Alibaba Cloud dan berada di wilayah yang sama dengan agen Managed Service for OpenTelemetry dalam contoh ini. Oleh karena itu, kami sarankan Anda menggunakan endpoint VPC. Jika NGINX Ingress controller dan agen Managed Service for OpenTelemetry diterapkan di wilayah yang berbeda, gunakan endpoint publik.

Versi sebelumnya konsol Managed Service for OpenTelemetry

  1. Masuk ke Konsol Managed Service for OpenTelemetry.

  2. Di panel navigasi sisi kiri, klik Cluster Configurations. Di halaman yang muncul, klik tab Access point information.

  3. Di bagian atas halaman, pilih wilayah dari mana Anda ingin mengimpor data jejak.

  4. Pilih Show Token di bagian Cluster Information dan klik Zipkin di bagian Client. Lalu, catat endpoint.

    zipkin-旧版-中文.jpg

    Catatan

    NGINX Ingress controller diterapkan di Alibaba Cloud dan berada di wilayah yang sama dengan agen Managed Service for OpenTelemetry dalam contoh ini. Oleh karena itu, kami sarankan Anda menggunakan endpoint VPC. Jika NGINX Ingress controller dan agen Managed Service for OpenTelemetry diterapkan di wilayah yang berbeda, gunakan endpoint publik.

Langkah 2: Aktifkan Managed Service for OpenTelemetry untuk NGINX Ingress controller

  1. Masuk ke Konsol ACK. Di panel navigasi sisi kiri, klik Clusters.

  2. Di halaman Clusters, klik nama kluster yang ingin Anda ubah. Di panel navigasi sisi kiri, pilih Configurations > ConfigMaps.

  3. Di bagian atas halaman ConfigMap, pilih kube-system dari daftar drop-down Namespace. Lalu, masukkan nginx-configuration di kotak pencarian Name dan klik ikon pencarian. Temukan nginx-configuration dan klik Edit di kolom Actions.

  4. Di panel Edit, klik Tambah untuk menambahkan konfigurasi berikut dan klik OK.

    Nama

    Deskripsi

    Nilai valid

    Contoh

    enable-opentracing

    Menentukan apakah akan mengaktifkan Analisis Jejak.

    • true: mengaktifkan Analisis Jejak.

    • false: tidak mengaktifkan Analisis Jejak.

    true

    zipkin-service-name

    Nama layanan.

    Konfigurasikan nilai kustom.

    nginx-ingress

    zipkin-collector-host

    Nama domain yang digunakan untuk mengimpor data melalui gRPC.

    Modifikasi informasi endpoint yang diperoleh di Langkah 1: Dapatkan endpoint dari Managed Service for OpenTelemetry. Hapus http:// dan tambahkan tanda tanya di akhir. Contoh:

    • Informasi endpoint asli adalah http://tracing-analysis-dc-hz-internal.aliyuncs.com/adapt_******_******/api/v1/spans.

    • Nilai yang dimodifikasi adalah 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

    Menentukan apakah akan mempercayai jejak panggilan dari layanan atau sistem lain.

    • true: mempercayai jejak panggilan dari layanan atau sistem lain.

    • false: tidak mempercayai jejak panggilan dari layanan atau sistem lain.

    true

    zipkin-sample-rate

    Tingkat sampling.

    Nilai valid: 0 hingga 1. Nilai bisa akurat hingga dua tempat desimal. Nilai 0 menunjukkan bahwa tidak ada data yang dikumpulkan. Nilai 1 menunjukkan bahwa semua data dikumpulkan.

    0.1

Langkah 3: Lihat data jejak di Managed Service for OpenTelemetry konsol

  1. Masuk ke Konsol Managed Service for OpenTelemetry.

  2. Di panel navigasi sisi kiri, klik Applications.

  3. Di bagian atas halaman Applications, pilih wilayah dari mana Anda ingin mengimpor data jejak. Lalu, klik nginx.

  4. Di panel navigasi sisi kiri halaman detail, klik Interface Calls. Di sisi kanan halaman, Anda dapat melihat data jejak.

    • Di tab Overview, Anda dapat melihat topologi jejak.3.jpg

    • Klik tab Traces untuk melihat 100 jejak paling memakan waktu dari aplikasi. Untuk informasi lebih lanjut, lihat Pemanggilan antarmuka.调用链路

    • Di tab Traces, Anda dapat mengklik ID jejak untuk melihat detail jejak.2.jpg

(Opsional) Ubah protokol yang digunakan oleh Managed Service for OpenTelemetry untuk mengirim data jejak

Jika Anda menggunakan Managed Service for OpenTelemetry untuk mengaktifkan tracing pada NGINX Ingress controller, Managed Service for OpenTelemetry mengirim data jejak dalam spesifikasi konteks jejak W3C ke layanan downstream. Jika aplikasi frontend dan backend menggunakan protokol lain, seperti Jaeger atau Zipkin, Anda harus mengubah protokol yang digunakan oleh Managed Service for OpenTelemetry untuk mengirim data jejak. Dengan cara ini, jejak aplikasi frontend, NGINX Ingress, dan aplikasi backend dapat disinkronkan. Contoh berikut menjelaskan cara mengubah protokol yang digunakan oleh Managed Service for OpenTelemetry untuk mengirim data jejak:

  1. Tambahkan variabel lingkungan OTEL_PROPAGATORS di langkah keempat sub-langkah kedua. Lalu, simpan perubahan dan redeploy nginx-ingress-controller.

    Kunci variabel

    Nilai

    Deskripsi

    OTEL_PROPAGATORS

    tracecontext,baggage,b3,jaeger

    Protokol yang digunakan untuk mengirim data jejak. Untuk informasi lebih lanjut, lihat Tentukan format untuk mengirim data jejak.

  2. Ubah konfigurasi main-snippet di langkah ketujuh sub-langkah kedua agar variabel lingkungan OTEL_PROPAGATORS berlaku.

    Nama

    Nilai

    Deskripsi

    main-snippet

    env OTEL_EXPORTER_OTLP_HEADERS; env OTEL_PROPAGATORS;

    Muat variabel lingkungan OTEL_PROPAGATORS.

Referensi

  • Untuk informasi lebih lanjut tentang Managed Service for OpenTelemetry, lihat Apa itu Managed Service for OpenTelemetry?

  • Untuk informasi lebih lanjut tentang ACK, lihat Apa itu Container Service for Kubernetes?

  • Untuk menggunakan klien yang berbeda untuk mengumpulkan data jejak, seperti Zipkin, Jaeger, dan SkyWalking, Anda harus mengonfigurasi parameter yang berbeda di ConfigMap nginx-configuration. Untuk informasi lebih lanjut tentang cara mengimpor data ke Managed Service for OpenTelemetry, lihat Persiapan.