全部产品
Search
文档中心

Application Real-Time Monitoring Service:Aktifkan penelusuran untuk NGINX Ingress Controller

更新时间:Jul 06, 2025

Anda dapat mengaktifkan penelusuran untuk NGINX Ingress Controller yang diterapkan dalam kluster Container Service for Kubernetes (ACK) dan mengimpor data jejak ke Managed Service for OpenTelemetry. Setelah itu, Anda dapat melihat jejak dan topologi di Managed Service for OpenTelemetry untuk menyelesaikan masalah terkait NGINX Ingress Controller. Topik ini menjelaskan cara mengaktifkan penelusuran untuk NGINX Ingress Controller.

Prasyarat

Deskripsi versi

Dukungan untuk penelusuran bervariasi berdasarkan versi kontroler NGINX Ingress. Tabel berikut menjelaskan versi kontroler NGINX Ingress yang mendukung dan tidak mendukung penelusuran.

Versi kontroler NGINX Ingress

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

Managed Service for OpenTelemetry

Langkah 1: Dapatkan informasi endpoint

  1. Masuk ke Konsol ARMS. Di panel navigasi kiri, klik Integration Center.

  2. Di halaman Integration Center, klik kartu OpenTelemetry di bagian Server-side Applications.

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

  4. Catat endpoint.76.jpg

    Catatan

    Karena NGINX Ingress Controller diterapkan di wilayah yang sama dengan agen Managed Service for OpenTelemetry dalam contoh ini, kami sarankan Anda menggunakan endpoint virtual private cloud (VPC). Jika NGINX Ingress Controller dan agen 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 kiri, klik Clusters.

  2. Di halaman Clusters, temukan kluster yang ingin Anda kelola dan klik namanya. Di panel 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>

    Gunakan token otentikasi yang diperoleh di Langkah 1: Dapatkan informasi endpoint. Contoh: authentication=bfXXXXXXXe@7bXXXXXXX1_bXXXXXe@XXXXXXX1.

    image

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

  5. Di panel navigasi kiri, pilih Konfigurasi > ConfigMaps.

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

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

    Item

    Deskripsi

    Contoh

    enable-opentelemetry

    Menentukan apakah akan mengaktifkan Managed Service for OpenTelemetry.

    true: mengaktifkan Managed Service for OpenTelemetry.

    main-snippet

    -

    env OTEL_EXPORTER_OTLP_HEADERS;

    otel-service-name

    Nama layanan kustom.

    nginx-ingress

    otlp-collector-host

    Nama domain yang digunakan untuk mengimpor data melalui gRPC. Hapus http:// dan nomor port dari endpoint VPC yang diperoleh di Langkah 1.

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

    otlp-collector-port

    Port yang digunakan untuk mengimpor data melalui gRPC.

    8090

    opentelemetry-trust-incoming-span

    Menentukan apakah mempercayai jejak layanan atau sistem lain.

    true: mempercayai jejak layanan atau sistem lain.

    opentelemetry-operation-name

    Format rentang.

    HTTP $request_method $service_name $uri

    otel-sampler

    Aturan pengambilan sampel. Untuk informasi tentang parameter lainnya, lihat OpenTelemetry.

    TraceIdRatioBased

    otel-sampler-ratio

    Tingkat pengambilan sampel. Rentang: 0 hingga 1 (dengan dua tempat desimal).

    • 0: tidak mengambil sampel data apa pun.

    • 1: mengambil sampel semua data.

    Untuk informasi tentang parameter lainnya, lihat OpenTelemetry.

    0.1

    otel-sampler-parent-based

    Menentukan apakah akan mewarisi flag pengambilan sampel upstream.

    • false (default): tidak mewarisi flag tersebut, dan mengaktifkan otel-sampler dan otel-sampler-ratio.

    • true: Mewarisi flag tersebut, dan menonaktifkan otel-sampler dan otel-sampler-ratio.

    Untuk informasi tentang parameter lainnya, lihat OpenTelemetry.

    • false

    • true

Langkah 3: Lihat data jejak di konsol ARMS

  1. Masuk ke Konsol ARMS. Di panel navigasi kiri, pilih Application Monitoring > Applications.

  2. Di bilah navigasi atas halaman Applications, pilih wilayah dan klik aplikasi nginx-ingress.

  3. Di halaman detail aplikasi, lihat data jejak.

    • Di tab Overview, lihat jumlah permintaan dan jumlah kesalahan.应用概览-中.jpg

    • Di tab Trace Explorer, lihat daftar jejak dan durasi rata-rata.调用链分析-中.jpg

    • Di tab Trace Explorer, klik ID jejak untuk melihat detail jejak.trace详情-中.jpg

OpenTracing

Langkah 1: Dapatkan informasi endpoint

  1. Masuk ke Konsol ARMS. Di panel navigasi kiri, klik Integration Center.

  2. Di halaman Pusat Integrasi, klik kartu Zipkin di bagian Server-side Applications.

    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 melaporkan data.

  4. Catat endpoint.74.jpg

    Catatan

    Karena NGINX Ingress Controller diterapkan di wilayah yang sama dengan agen Managed Service for OpenTelemetry dalam contoh ini, kami sarankan Anda menggunakan endpoint virtual private cloud (VPC). Jika NGINX Ingress Controller dan agen 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 kiri, klik Clusters.

  2. Di halaman Clusters, klik nama yang ingin Anda ubah. Di panel navigasi 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 Nama dan klik ikon pencarian. Temukan nginx-configuration dan klik Edit di kolom Actions.

  4. Konfigurasikan Zipkin sebagai klien untuk mengumpulkan data jejak.

    Di panel Edit, klik Add. Masukkan zipkin-collector-host di bidang Name dan masukkan endpoint yang diperoleh di Langkah 1: Dapatkan Informasi Endpoint di bidang Value.

    Penting

    Hapus http:// dari endpoint dan tambahkan tanda tanya (?) di akhir endpoint. Contoh:

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

    • Endpoint yang dimodifikasi: tracing-analysis-dc-hz-internal.aliyuncs.com/adapt_******_******/api/v1/spans?

  5. Aktifkan penelusuran.

    Klik Add. Masukkan enable-opentracing di bidang Name dan true di bidang Value. Lalu, klik OK.

    image

Langkah 3: Lihat data jejak di konsol ARMS

  1. Masuk ke Konsol ARMS. Di panel navigasi kiri, pilih Application Monitoring > Applications.

  2. Di bilah navigasi atas halaman Applications, pilih wilayah dan klik aplikasi nginx.

  3. Di panel navigasi kiri halaman detail, klik Interface Calls. Di sisi kanan halaman, lihat data jejak.

    • Di tab Overview, lihat topologi jejak.3.jpg

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

    • Di tab Traces, klik 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 penelusuran untuk kontroler NGINX Ingress, 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 2.4: Tambahkan Variabel Lingkungan OTEL_EXPORTER_OTLP_HEADERS. Lalu, simpan perubahan dan redeploy nginx-ingress-controller.

    Variabel lingkungan

    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 2.7: Ubah ConfigMap nginx-configuration agar variabel lingkungan OTEL_PROPAGATORS berlaku.

    Nama konfigurasi

    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.