Gambaran umum OpenTelemetry

Microsoft sangat antusias untuk merangkul OpenTelemetry sebagai masa depan instrumentasi telemetri. Anda, pelanggan kami, telah meminta instrumentasi vendor netral, dan kami dengan senang hati bermitra dengan komunitas OpenTelemetry untuk membuat API dan SDK yang konsisten di seluruh bahasa.

Microsoft bekerja dengan pemangku kepentingan proyek dari dua proyek telemetri sumber terbuka yang sebelumnya populer, OpenCensus dan OpenTracing. Bersama-sama, kami membantu membuat satu proyek, OpenTelemetry. OpenTelemetry mencakup kontribusi dari semua vendor cloud utama dan Manajemen Performa Aplikasi (APM) dan tinggal dalam Cloud Native Computing Foundation (CNCF). Microsoft adalah Anggota Platinum dari CNCF.

Konsep

Telemetri, data yang dikumpulkan untuk mengamati aplikasi Anda, dapat dipecah menjadi tiga jenis atau "pilar":

  • Pelacakan Terdistribusi
  • Metrik
  • Catatan

Awalnya, komunitas OpenTelemetry mengambil 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.

Sumber berikut menjelaskan tiga pilar:

Di bagian berikut, kita akan membahas beberapa dasar-dasar pengumpulan telemetri.

Instrumen aplikasi Anda

Pada tingkat dasar, "instrumenting" hanya memungkinkan aplikasi untuk menangkap telemetri.

Ada dua metode untuk menginstrumentasikan aplikasi Anda:

  • Instrumentasi manual
  • Instrumentasi otomatis (instrumentasi otomatis)

Instrumentasi manual dikodekan terhadap API OpenTelemetry. Dalam konteks pengguna, biasanya mengacu pada penginstalan SDK khusus bahasa dalam aplikasi. Paket instrumentasi manual terdiri dari penawaran pratinjau pengekspor berbasis OpenTelemetry Azure Monitor untuk .NET, Python, dan JavaScript.

Penting

"Manual" tidak berarti Anda akan diminta untuk menulis kode kompleks untuk menentukan rentang untuk jejak terdistribusi, meskipun tetap menjadi opsi. Satu set perpustakaan instrumentasi yang berkembang dan kaya yang dikelola oleh kontributor OpenTelemetry akan memungkinkan Anda untuk dengan mudah mengambil sinyal telemetri di seluruh kerangka kerja dan perpustakaan umum.

Subset pustaka instrumentasi OpenTelemetry akan didukung oleh Azure Monitor, yang diinformasikan oleh umpan balik pelanggan. Kami juga berupaya melengkapi SDK Layanan Azure paling populer menggunakan OpenTelemetry.

Instrumentasi otomatis memungkinkan pengumpulan telemetri melalui konfigurasi tanpa menyentuh kode aplikasi. Meskipun lebih nyaman, cenderung kurang dapat dikonfigurasi. Ini juga tidak tersedia dalam semua bahasa. Penawaran instrumentasi otomatis berbasis OpenTelemetry Azure Monitor terdiri dari penawaran GA berbasis OpenTelemetry Java 3.X. Kami terus berinvestasi di dalamnya yang diinformasikan oleh umpan balik pelanggan. Komunitas OpenTelemetry juga bereksperimen dengan instrumentasi otomatis C# dan Python, tetapi Azure Monitor berfokus pada pembuatan cerita instrumentasi manual yang sederhana dan efektif dalam jangka waktu dekat.

Mengirim telemetri Anda

Ada dua cara untuk mengirim data Anda ke Azure Monitor (atau vendor apa pun):

  • Melalui pengekspor langsung
  • Melalui agen

Pengekspor langsung mengirim telemetri dalam proses (dari kode aplikasi) langsung ke titik akhir penyerapan Azure Monitor. Keuntungan utama dari pendekatan ini adalah kesederhanaan onboarding.

Semua penawaran berbasis OpenTelemetry yang saat ini didukung di Azure Monitor menggunakan pengekspor langsung.

Atau, mengirim telemetri melalui agen akan menyediakan jalur untuk setiap bahasa yang didukung OpenTelemetry untuk dikirim ke Azure Monitor melalui Open Telemetry Protocol (OTLP). Menerima OTLP akan memungkinkan pelanggan mengamati aplikasi yang ditulis dalam bahasa pemrogram yang tidak tercakup dalam bahasa yang kami didukung.

Catatan

Beberapa pelanggan telah mulai menggunakan OpenTelemetry-Collector sebagai alternatif agen meskipun Microsoft belum secara resmi mendukung pendekatan "melalui agen" untuk pemantauan aplikasi. Sementara itu, komunitas sumber terbuka telah berkontribusi pada OpenTelemetry-Collector pengekspor Azure Monitor yang digunakan beberapa pelanggan untuk mengirim data ke Azure Monitor Application Insights.

Istilah

Untuk terminologi, lihat glosarium dalam spesifikasi OpenTelemetry.

Beberapa istilah warisan dalam Application Insights membingungkan karena konvergensi industri pada OpenTelemetry. Tabel berikut menyoroti perbedaan ini. Akhirnya, istilah Application Insights akan digantikan oleh istilah OpenTelemetry.

Application Insights OpenTelemetry
Pengumpul otomatis Pustaka instrumentasi
Saluran Pengekspor
Tanpa Kode / Berbasis Agen Instrumentasi otomatis
Traces Log

Langkah berikutnya

Situs web berikut terdiri dari panduan bahasa demi bahasa untuk mengaktifkan dan mengonfigurasi penawaran berbasis OpenTelemetry Microsoft. Fungsionalitas dan batasan yang tersedia dari setiap penawaran dijelaskan sehingga Anda dapat menentukan apakah OpenTelemetry tepat untuk proyek Anda.