Apa itu Pelacakan Terdistribusi?

Munculnya arsitektur cloud dan microservices modern telah memunculkan layanan sederhana dan dapat digunakan secara independen yang dapat membantu mengurangi biaya sekaligus meningkatkan ketersediaan dan throughput. Tetapi sementara gerakan ini telah membuat layanan individu lebih mudah dipahami secara keseluruhan, mereka membuat sistem keseluruhan lebih sulit untuk dibujuk dan debug.

Dalam arsitektur monolitik, kita sudah terbiasa dengan penelusuran kesalahan dengan tumpukan panggilan. Tumpukan panggilan adalah alat hebat untuk menunjukkan aliran eksekusi (Metode A yang disebut Metode B, yang disebut Metode C), sekaligus detail dan parameter tentang masing-masing panggilan tersebut. Ini bagus untuk monolit atau layanan yang berjalan pada satu proses, tetapi bagaimana kita men-debug ketika panggilan berada di batas proses, bukan hanya referensi pada tumpukan lokal?

Di situlah pelacakan terdistribusi terlibat.

Pelacakan terdistribusi setara dengan tumpukan panggilan untuk arsitektur cloud dan layanan mikro modern, dengan penambahan profiler performa sederhana yang disertakan. Pada Azure Monitor, kami menyediakan dua pengalaman untuk mengonsumsi data jejak terdistribusi. Yang pertama adalah tampilan diagnostik transaksi kami, yang seperti tumpukan panggilan dengan dimensi waktu yang ditambahkan. Tampilan diagnostik transaksi memberikan visibilitas ke dalam satu transaksi/permintaan tunggal, dan sangat membantu untuk menemukan akar penyebab masalah keandalan dan penyempitan performa berdasarkan per permintaan.

Azure Monitor juga menawarkan tampilan peta aplikasi yang menggabungkan berbagai transaksi untuk menunjukkan sudut pandang topologis tentang bagaimana sistem berinteraksi, serta berapa laju rata-rata performa dan kesalahan.

Cara Mengaktifkan Pelacakan Terdistribusi

Mengaktifkan pelacakan terdistribusi di seluruh layanan dalam aplikasi semudah menambahkan agen, SDK, atau pustaka yang tepat ke setiap layanan, berdasarkan bahasa yang diterapkan pada layanan.

Mengaktifkan melalui Application Insights melalui instrumentasi otomatis atau SDK

Agen Application Insights dan/atau SDK untuk .NET, .NET Core, Java, Node.js, dan JavaScript, semua mendukung pelacakan terdistribusi secara natif. Petunjuk untuk menginstal dan mengonfigurasi setiap SDK Application Insights tersedia di bawah ini:

Dengan terinstal dan terkonfigurasinya SDK Application Insights yang tepat, informasi pelacakan secara otomatis dikumpulkan untuk kerangka kerja, pustaka, dan teknologi populer oleh kolektor otomatis dependensi SDK. Daftar lengkap teknologi yang didukung tersedia dalam dokumentasi pengumpulan otomatis Dependensi.

Selain itu, semua teknologi dapat dilacak secara manual dengan panggilan ke TrackDependency pada TelemetryClient.

Aktifkan melalui OpenTelemetry

Application Insights sekarang mendukung penelusuran terdistribusi melalui OpenTelemetry. OpenTelemetry menyediakan instrumentasi vendor-netral untuk mengirim jejak, metrik, dan log ke Application Insights. Awalnya komunitas OpenTelemetry menggunakan Pelacakan Terdistribusi. Metrik dan Log masih dalam proses. Cerita pengamatan lengkap mencakup ketiga pilar, tetapi saat ini penawaran pratinjau pengekspor berbasis OpenTelemetry Azure Monitor kami untuk .NET, Python, dan JavaScript hanya menyertakan Pelacakan Terdistribusi. Namun, penawaran Azure Monitor berbasis Java OpenTelemetry kami adalah GA dan didukung penuh.

Halaman-halaman berikut terdiri dari panduan bahasa demi bahasa untuk mengaktifkan dan mengonfigurasi penawaran berbasis OpenTelemetry Microsoft. Yang penting, kami berbagi fungsionalitas dan batasan yang tersedia dari setiap penawaran sehingga Anda dapat menentukan apakah OpenTelemetry tepat untuk proyek Anda.

Mengaktifkan melalui OpenCensus

Selain SDK Application Insights, Application Insights juga mendukung pelacakan terdistribusi melalui OpenCensus. OpenCensus adalah distribusi tunggal pustaka sumber terbuka dan vendor-agnostic untuk menyediakan pengumpulan metrik dan pelacakan terdistribusi untuk layanan. OpenCensus juga memungkinkan komunitas sumber terbuka untuk mengaktifkan pelacakan terdistribusi dengan teknologi populer seperti Redis, Memcached, atau MongoDB. Microsoft berkolaborasi pada OpenCensus dengan beberapa mitra pemantauan dan cloud lainnya.

Python

Situs web OpenCensus memelihara dokumentasi referensi API untuk Python dan Go, serta berbagai panduan berbeda untuk menggunakan OpenCensus.

Langkah berikutnya