Sidecar Envoy di Service Mesh (ASM) menghasilkan rentang jejak terdistribusi untuk setiap permintaan. Anda dapat mengekspor rentang ini ke Alibaba Cloud Managed Service for OpenTelemetry atau ke backend yang dikelola sendiri seperti Zipkin atau SkyWalking. Metode ekspor bergantung pada versi ASM Anda.
Cara kerja
Saat tracing diaktifkan, setiap sidecar Envoy menghasilkan rentang jejak untuk permintaan inbound dan outbound. ASM meneruskan rentang ini melalui salah satu dari dua jalur berikut:
Ekspor langsung (versi sebelum 1.18.0.124, dan 1.22.6.89 atau lebih baru) — ASM mengirim rentang secara langsung ke Managed Service for OpenTelemetry. Aktifkan fitur ini di konsol ASM.
Ekspor berbasis Collector (versi 1.18.0.124 hingga sebelum 1.22.6.89) — Deploy OpenTelemetry Collector di kluster Container Service for Kubernetes (ACK), lalu arahkan ASM ke Collector tersebut. Collector meneruskan rentang ke Managed Service for OpenTelemetry melalui gRPC.
Sidecar Envoy menghasilkan rentang yang independen. Untuk menggabungkan rentang menjadi jejak end-to-end, aplikasi Anda harus menyebarkan header konteks jejak antar layanan. Teruskan header berikut dalam setiap permintaan:
x-request-idtraceparentdantracestate(W3C Trace Context)Untuk Zipkin:
x-b3-traceid,x-b3-spanid,x-b3-parentspanid,x-b3-sampled,x-b3-flags(format B3). Tanpa propagasi header, jejak akan muncul sebagai rentang yang terputus, bukan sebagai jejak terkorelasi tunggal.
Prasyarat
Sebelum memulai, pastikan Anda telah memiliki:
Kluster ACK yang ditambahkan ke instans ASM. Lihat Tambahkan kluster ke instans ASM
Managed Service for OpenTelemetry yang diaktifkan untuk Akun Alibaba Cloud Anda. Untuk informasi penagihan, lihat Aturan penagihan
Gerbang masuk yang dibuat di instans ASM. Lihat Buat gerbang masuk
Periksa versi ASM Anda
Langkah konfigurasi berbeda tergantung versi ASM. Untuk memeriksa versi Anda:
Masuk ke Konsol ASM.
Di panel navigasi sebelah kiri, pilih Service Mesh > Mesh Management.
Klik nama instans ASM Anda. Versi akan ditampilkan di halaman Base Information.
Untuk melakukan peningkatan, lihat Perbarui instans ASM.
Ekspor ke Managed Service for OpenTelemetry
Pilih prosedur yang sesuai dengan versi ASM Anda.
Versi sebelum 1.17.2.35
Masuk ke Konsol ASM. Di panel navigasi sebelah kiri, pilih Service Mesh > Mesh Management.
Klik nama instans ASM target. Di panel navigasi sebelah kiri, pilih ASM Instance > Base Information.
Di halaman Base Information, klik Settings. Di panel Settings Update:
Pilih Enable Tracing Analysis.
Tetapkan Sampling Percentage.
Untuk Sampling Method, pilih Enable Managed Service for OpenTelemetry.
Klik OK.
Di panel navigasi sebelah kiri, pilih Observability Management Center > Tracing Analysis. Konsol Managed Service for OpenTelemetry akan terbuka dan menampilkan data tracing ASM.

Untuk informasi selengkapnya tentang Managed Service for OpenTelemetry, lihat Apa itu Managed Service for OpenTelemetry?
Versi 1.17.2.35 hingga sebelum 1.18.0.124
Masuk ke Konsol ASM. Di panel navigasi sebelah kiri, pilih Service Mesh > Mesh Management.
Klik nama instans ASM target. Di panel navigasi sebelah kiri, pilih Observability Management Center > Tracing Analysis.
Klik Collect ASM Tracing Data to Managed Service for OpenTelemetry. Di dialog Submit, klik OK.
Klik Open the Managed Service for OpenTelemetry Console untuk melihat data tracing.

Untuk informasi selengkapnya tentang Managed Service for OpenTelemetry, lihat Apa itu Managed Service for OpenTelemetry?
Versi 1.18.0.124 hingga sebelum 1.22.6.89
Pada rentang versi ini, konsol ASM tidak menyediakan integrasi bawaan dengan Managed Service for OpenTelemetry. Sebagai gantinya, deploy OpenTelemetry Collector di kluster ACK dan konfigurasikan ASM untuk mengirim rentang ke Collector tersebut.
Langkah 1: Deploy OpenTelemetry Operator
Hubungkan ke kluster ACK dengan kubectl. Buat namespace
opentelemetry-operator-system:kubectl create namespace opentelemetry-operator-systemInstal OpenTelemetry Operator dengan Helm:
helm repo add open-telemetry https://open-telemetry.github.io/opentelemetry-helm-charts helm install --namespace=opentelemetry-operator-system opentelemetry-operator open-telemetry/opentelemetry-operator \ --set "manager.collectorImage.repository=otel/opentelemetry-collector-k8s" \ --set admissionWebhooks.certManager.enabled=false \ --set admissionWebhooks.autoGenerateCert.enabled=trueVerifikasi bahwa Operator sedang berjalan: Output yang diharapkan:
STATUSbernilaiRunningmenunjukkan bahwa Operator siap digunakan.kubectl get pod -n opentelemetry-operator-systemNAME READY STATUS RESTARTS AGE opentelemetry-operator-854fb558b5-pvllj 2/2 Running 0 1m
Langkah 2: Deploy OpenTelemetry Collector
Buat file bernama
collector.yamldengan konten berikut. Ganti kedua placeholder sebelum menerapkan:Catatan Konfigurasi contoh ini mendeploy Collector dengan satu replika tanpa penyimpanan persisten. Untuk beban kerja produksi, tingkatkan jumlah replika dan konfigurasikan permintaan serta batas resource yang sesuai.Placeholder Deskripsi Cara mendapatkan ${ENDPOINT}Titik akses gRPC VPC untuk Managed Service for OpenTelemetry Lihat Petunjuk akses dan otentikasi ${TOKEN}Token otentikasi Lihat Petunjuk akses dan otentikasi Terapkan Collector ke kluster:
kubectl apply -f collector.yamlVerifikasi bahwa Pod Collector sedang berjalan: Output yang diharapkan:
kubectl get pod -n opentelemetry-operator-systemNAME READY STATUS RESTARTS AGE opentelemetry-operator-854fb558b5-pvllj 2/2 Running 0 3m default-collector-5cbb4497f4-2hjqv 1/1 Running 0 30sVerifikasi bahwa layanan Collector tersedia: Output yang diharapkan: Layanan
default-collectoryang mendengarkan pada port 4317 menunjukkan deployment berhasil.kubectl get svc -n opentelemetry-operator-systemopentelemetry-operator ClusterIP 172.16.138.165 <none> 8443/TCP,8080/TCP 3m opentelemetry-operator-webhook ClusterIP 172.16.127.0 <none> 443/TCP 3m default-collector ClusterIP 172.16.145.93 <none> 4317/TCP 30s default-collector-headless ClusterIP None <none> 4317/TCP 30s default-collector-monitoring ClusterIP 172.16.136.5 <none> 8888/TCP 30s
Langkah 3: Aktifkan tracing di konsol ASM
Masuk ke Konsol ASM. Di panel navigasi sebelah kiri, pilih Service Mesh > Mesh Management.
Klik nama instans ASM target. Di panel navigasi sebelah kiri, pilih Observability Management Center > Observability Settings.
Di halaman Observability Configuration, pada bagian Link Tracking Settings, atur Sampling Percentage ke 100, lalu klik Submit.
Di panel navigasi sebelah kiri, pilih Observability Management Center > Link Tracking. Konfigurasikan bidang berikut:
Field Value Opentelemetry Service Address/domain Name default-collector.opentelemetry-operator-system.svc.cluster.localOpenTelemetry Service Port 4317Klik Collect Service Mesh Link Tracking Data To Opentelemetry.
Versi 1.22.6.89 atau lebih baru (disarankan)
Masuk ke Konsol ASM. Di panel navigasi sebelah kiri, pilih Service Mesh > Mesh Management.
Klik nama instans ASM target. Di panel navigasi sebelah kiri, pilih Observability Management Center > Tracing Analysis.
Di halaman Tracing Analysis, atur Export Method ke Export to Alibaba Cloud Observable link, pilih protokol pengiriman data di bawah Fill in the configuration (misalnya, Zipkin), lalu klik Submission.
Klik Go To Alibaba Cloud Observable link OpenTelemetry console untuk melihat data tracing. Untuk informasi selengkapnya, lihat Apa itu Managed Service for OpenTelemetry?
Catatan Untuk menonaktifkan tracing, klik Disable Collection di halaman Tracing Analysis. Di dialog Submit, klik OK.
Ekspor ke sistem tracing yang dikelola sendiri
Jika Anda menjalankan backend kompatibel OpenTelemetry, Zipkin, atau SkyWalking yang dikelola sendiri, konfigurasikan ASM untuk mengekspor rentang secara langsung ke sistem tersebut.
Versi sebelum 1.18.0.124
Sebelum 1.17.2.28: Masuk ke konsol ASM. Di halaman Basic Information, klik Settings, pilih Enable Tracing Analysis, konfigurasikan pengaturan, lalu klik OK.
1.17.2.28 hingga sebelum 1.18.0.124: Lihat bagian Pengaturan Analisis Tracing di "Konfigurasikan pengaturan observabilitas".
Versi 1.18.0.124 hingga sebelum 1.22.6.89
Masuk ke Konsol ASM. Arahkan ke Observability Management Center > Link Tracking dan konfigurasikan parameter berikut:
| Parameter | Deskripsi |
|---|---|
| OpenTelemetry Domain Name (FQDN) | Nama domain lengkap (FQDN) dari backend yang dikelola sendiri. Contoh: otel.istio-system.svc.cluster.local |
| OpenTelemetry Service Port | Port layanan dari backend yang dikelola sendiri. Contoh: 8090 |
Versi 1.22.6.89 atau lebih baru
Masuk ke Konsol ASM, lalu navigasi ke Observability Management Center > Link Tracking untuk memilih dan mengonfigurasi sistem yang dikelola sendiri.
Backend tracing yang dikelola sendiri harus dideploy di dalam instans ASM atau didaftarkan melalui ServiceEntry. Jika backend berjalan di luar mesh, buat ServiceEntry agar dapat diakses. Lihat ServiceEntry.
Parameter konfigurasi bergantung pada protokol ekspor:
OpenTelemetry (gRPC)
| Parameter | Deskripsi |
|---|---|
| Service domain name (full FQDN) | FQDN dari backend. Contoh: otel.istio-system.svc.cluster.local |
| Service Port | Port layanan. Contoh: 8090 |
| Timeout | Opsional. Timeout permintaan dalam detik. Contoh: 1. Dinonaktifkan secara default. |
| Request Header | Opsional. Header kustom. Contoh: authentication: token-xxx. Kosong secara default. |
OpenTelemetry (HTTP)
| Parameter | Deskripsi |
|---|---|
| Service domain name (full FQDN) | FQDN dari backend. Contoh: otel.istio-system.svc.cluster.local |
| Service Port | Port layanan. Contoh: 8090 |
| Request Path | Path permintaan HTTP. Contoh: /api/v2/spans. Default: / |
| Timeout | Opsional. Timeout permintaan dalam detik. Contoh: 1. Dinonaktifkan secara default. |
| Request Header | Opsional. Header kustom. Contoh: authentication: token-xxx. Kosong secara default. |
Zipkin
| Parameter | Deskripsi |
|---|---|
| Service domain name (full FQDN) | FQDN dari backend. Contoh: zipkin.istio-system.svc.cluster.local |
| Service Port | Port layanan. Contoh: 8090 |
| Request Path | Path permintaan HTTP. Contoh: /api/v2/spans. Default: /api/v2/spans |
SkyWalking
| Parameter | Deskripsi |
|---|---|
| Service domain name (full FQDN) | FQDN dari backend. Contoh: skywalking.istio-system.svc.cluster.local |
| Service Port | Port layanan. Contoh: 8090 |
Verifikasi data tracing
Setelah konfigurasi, hasilkan traffic dan pastikan jejak muncul di backend.
Deploy aplikasi contoh
Deploy aplikasi Bookinfo dan sleep ke kluster data-plane untuk menghasilkan traffic yang dapat dilacak.
Buat file bernama
bookinfo.yamldan salin konten berikut ke dalamnya.Deploy aplikasi Bookinfo ke kluster data-plane:
kubectl --kubeconfig=${DATA_PLANE_KUBECONFIG} apply -f bookinfo.yamlBuat file bernama
sleep.yamldan salin konten berikut ke dalamnya.Deploy aplikasi sleep:
kubectl --kubeconfig=${DATA_PLANE_KUBECONFIG} apply -f sleep.yaml
Hasilkan traffic uji
Dari Pod sleep, kirim 100 permintaan ke productpage Bookinfo:
kubectl exec -it deploy/sleep -- sh -c 'for i in $(seq 1 100); do curl -s productpage:9080/productpage > /dev/null; done'Lihat jejak di Managed Service for OpenTelemetry
Masuk ke Konsol Managed Service for OpenTelemetry.
Di panel navigasi sebelah kiri, klik Application List. Layanan Bookinfo akan muncul sebagai aplikasi terpisah, masing-masing menampilkan rentang masuk dan keluar.
