全部产品
Search
文档中心

Managed Service for OpenTelemetry:Praktik terbaik pelacakan ujung-ke-ujung

更新时间:Jul 06, 2025

Nilai inti dari pelacakan terletak pada "koneksi." Terminal pengguna, gateway, aplikasi backend, dan layanan dependen (seperti basis data, sistem pesan, dan model besar) secara kolektif membentuk peta topologi pelacakan. Semakin luas cakupan topologi ini, semakin besar nilai yang dapat diberikan oleh pelacakan. Pelacakan ujung-ke-ujung adalah praktik terbaik yang mencakup semua sistem TI terkait, memberikan catatan lengkap perilaku pengguna di seluruh panggilan sistem dan status.

Alur Kerja

Application Real-Time Monitoring Service (ARMS) dan Managed Service for OpenTelemetry mendukung pelacakan ujung-ke-ujung di antara terminal pengguna (seperti browser, Android, dan iOS), gateway cloud (seperti Application Load Balancer, Microservice Engine, NGINX Ingress Controller, dan Service Mesh), aplikasi backend (seperti Java, Go, Python, dan .NET), serta layanan dependen (seperti basis data, antrian pesan, dan model besar), seperti yang ditunjukkan pada gambar berikut.

image.png

Instrumen pelacakan: menyediakan ARMS agent untuk Java, Go, dan Python, meningkatkan cakupan multi-bahasa dengan kompatibilitas open-source

Untuk bahasa utama seperti Java, Go, dan Python, kami merekomendasikan penggunaan ARMS agent yang dikembangkan sendiri untuk meningkatkan kualitas, kinerja, stabilitas, dan kemudahan penggunaan instrumen pelacakan. Managed Service for OpenTelemetry kompatibel dengan empat alat pelacakan utama: OpenTelemetry, SkyWalking, Zipkin, dan Jaeger. Layanan ini juga mendukung implementasi pelacakan dan pelaporan data dalam lebih dari 10 bahasa, seperti yang ditunjukkan dalam tabel berikut.

ARMS sepenuhnya interoperabel dengan Managed Service for OpenTelemetry. Kami merekomendasikan penggunaannya bersama dalam skenario multi-bahasa.

Bahasa

Pemantauan Aplikasi ARMS

(agen mandiri dengan SLA terjamin)

Managed Service for OpenTelemetry

(klien sumber terbuka dan swa-manajemen)

Opsi yang direkomendasikan

Java

Instrumentasi otomatis

Instrumentasi otomatis

ARMS

Go

Instrumentasi otomatis

Instrumentasi otomatis

ARMS

Python

Instrumentasi otomatis

Instrumentasi otomatis

ARMS

Node.js

Tidak didukung

Instrumentasi otomatis

OpenTelemetry

.NET

Tidak didukung

Instrumentasi otomatis

OpenTelemetry

PHP

Tidak didukung

Instrumentasi otomatis

OpenTelemetry

Erlang

Tidak didukung

Instrumentasi otomatis

OpenTelemetry

C++

Tidak didukung

Instrumentasi manual

OpenTelemetry

Swift

Tidak didukung

Instrumentasi manual

OpenTelemetry

Ruby

Tidak didukung

Instrumentasi manual

OpenTelemetry

Rust

Tidak didukung

Instrumentasi manual

SkyWalking

ARMS agent untuk Java v4.0, dirilis pada tahun 2024, sepenuhnya merangkul ekosistem OpenTelemetry. Fondasi agen telah ditingkatkan sepenuhnya berdasarkan kerangka OpenTelemetry dan menyediakan pemantauan tambahan untuk berbagai sumber daya, diagnostik kinerja, serta data keamanan aplikasi. Selain data yang lebih kaya, ARMS agent untuk Java v4.0 mendukung fitur-fitur canggih, seperti kebijakan sampling jejak yang lebih fleksibel, manajemen agen yang ramah pengguna, pemantauan diri yang komprehensif, dan degradasi fitur dinamis, menjadikannya lebih cocok untuk lingkungan produksi tingkat perusahaan.

Pengumpulan dan pemrosesan jejak: terintegrasi mendalam dengan Alibaba Cloud, memungkinkan konfigurasi jejak yang mudah untuk layanan cloud

Tantangan besar bagi perusahaan yang beralih ke cloud adalah ketergantungan berat mereka pada ketersediaan layanan cloud. Pelacakan ujung-ke-ujung dapat dengan cepat menemukan node permintaan lambat atau gagal, meningkatkan pemulihan kesalahan, dan mengurangi kerugian bisnis.

Managed Service for OpenTelemetry bekerja sama dengan hampir 10 layanan Alibaba Cloud, menerapkan pelacakan internal dan pelaporan data. Pengguna perusahaan cukup mengaktifkan opsi pelacakan di konsol layanan cloud untuk melihat jejak, sangat mengurangi biaya pengumpulan. Integrasi pelacakan untuk Application Load Balancer (ALB), Microservice Engine (MSE), dan ARMS User Experience Monitoring (RUM) diilustrasikan di bawah ini.

image.png

Karena karakteristik layanan, layanan cloud yang berbeda menggunakan skema instrumen pelacakan yang berbeda. Pengumpulan data jejak umumnya dibagi menjadi dua jenis:

  • Pelaporan jejak langsung atau diteruskan: Seperti yang terlihat di RUM, instrumen pelacakan internal melaporkan langsung melalui Exporter, memberikan instrumen yang lebih rinci dan fleksibel.

  • Konversi data log menjadi jejak: Di ALB, sistem backend mengonversi log akses menjadi data jejak, menawarkan instrumen yang kurang invasif.

Kedua skema tersebut memiliki kelebihan dan kekurangannya masing-masing. Pelaporan jejak langsung atau diteruskan biasanya direkomendasikan karena lebih standar. Namun, jika persyaratan kinerja tinggi atau sulit untuk mengaktifkan pelacakan pada sistem, Anda dapat mengonversi log menjadi jejak asalkan konteks jejak seperti TraceId telah ditambahkan ke log.

Tabel berikut mencantumkan layanan cloud yang didukung dan protokol pelacakan, serta menyediakan referensi terkait.

Kategori

Sumber

Referensi

Protokol pelacakan

Terminal pengguna

Aplikasi web, aplikasi HTML5, dan mini program

Aktifkan pelacakan ujung-ke-ujung untuk aplikasi web atau mini program

W3C, B3, Jaeger, dan SkyWalking

Aplikasi Android dan iOS

Aktifkan pelacakan ujung-ke-ujung untuk aplikasi

W3C dan SkyWalking

Gateway

MSE

Aktifkan analisis pelacakan untuk gateway cloud-native

W3C, B3, dan SkyWalking

NGINX Ingress Controller

Aktifkan pelacakan untuk controller NGINX Ingress

W3C, B3, dan Jaeger

ALB

Aktifkan Managed Service for OpenTelemetry untuk ALB

B3

Service Mesh

Aktifkan pelacakan terdistribusi di ASM

B3

API Gateway

Konfigurasikan analisis pelacakan

B3

Aplikasi backend

Aplikasi Java, Go, dan Python yang dipantau oleh ARMS agent

Ikhtisar Pemantauan Aplikasi

W3C, B3, Jaeger, SkyWalking, dan EagleEye

Aplikasi dalam bahasa lain seperti .NET dan Node.js

Panduan integrasi

W3C, B3, Jaeger, dan SkyWalking

Layanan dependen

Lebih dari 100 didukung sebagai komponen untuk pemantauan, mencakup berbagai jenis termasuk panggilan prosedur jarak jauh (RPC), antrian pesan, basis data, dan penjadwalan tugas.

Propagasi konteks jejak: menstandarkan protokol pelacakan ujung-ke-ujung Alibaba Cloud, mendukung konversi protokol ganda dengan ARMS agent

Menyelesaikan instrumen dan pengumpulan data dari satu aplikasi dianggap berhasil ketika data jejak yang sesuai muncul di konsol. Namun, pelacakan ujung-ke-ujung memerlukan penghubungan jejak hulu dan hilir dengan protokol terpadu untuk memastikan kontinuitas, menimbulkan tantangan teknis dan koordinasi.

Managed Service for OpenTelemetry telah mencapai konektivitas jejak ujung-ke-ujung berdasarkan protokol W3C OpenTelemetry dan akan secara bertahap mencakup lebih banyak protokol dan layanan untuk ekosistem pelacakan yang komprehensif dan fleksibel, seperti yang ditunjukkan pada diagram berikut.

image.png

Dibandingkan dengan aplikasi baru, aplikasi yang sudah ada menghadapi tantangan yang lebih besar dalam menyatukan protokol ujung-ke-ujung, terutama selama transisi tumpukan teknologi (misalnya, migrasi dari SkyWalking ke OpenTelemetry). Memastikan operasi berkelanjutan dari sistem pemantauan yang ada sambil memvalidasi yang baru dan memungkinkan koeksistensi dua sistem pelacakan yang berbeda merupakan hambatan utama untuk meningkatkan atau menghubungkan aplikasi yang ada.

Untuk mengatasi hal ini, ARMS agent yang dikembangkan sendiri telah menjalani optimasi kompatibilitas yang luas, mencapai koeksistensi dual-agent untuk memastikan kedua sistem beroperasi dengan benar dan stabil hingga migrasi selesai, seperti yang diilustrasikan di bawah ini.

image.png

ARMS agent mendukung pengenalan dan transmisi multi-protokol. Dalam skenario di mana sistem hulu dan hilir tidak dapat dengan mudah berubah, agen dapat bertindak sebagai mediator protokol. Misalnya, aplikasi hulu A menggunakan protokol Jaeger, ARMS agent menerima data Jaeger dan meneruskannya sambil mengonversinya ke format Jaeger dan Zipkin B3, dan aplikasi hilir B menggunakan protokol Zipkin B3. Ini memastikan transmisi data jejak yang mulus antara sistem yang menggunakan protokol berbeda, serta kontinuitas dan konektivitas jejak.