Kemampuan observasi untuk developer aplikasi

Jika Anda menulis aplikasi, Anda dapat menginstrumentasikan kode untuk membuat telemetri dan mendapatkan kemampuan observasi mendalam ke dalam perilaku runtime internal aplikasi. Halaman ini memperkenalkan konsep instrumentasi dalam proses, menjelaskan manfaat framework netral vendor seperti OpenTelemetry, dan mengarahkan Anda ke panduan khusus bahasa dan contoh kode untuk Google Cloud Observability.

Apa yang dimaksud dengan instrumentasi dan kemampuan observasi?

Instrumentasi mengacu pada kode tertentu yang membuat atau mengumpulkan data tentang perilaku runtime aplikasi Anda. Di dalam aplikasi, instrumentasi, seperti yang disediakan oleh OpenTelemetry, dapat mengumpulkan informasi khusus domain tentang runtime bahasa, framework, atau logika aplikasi, lalu mengirimkan data tersebut ke a Google Cloud project atau ke tujuan lain. Data ini, yang juga dikenal sebagai telemetri, mencakup log, metrik, dan trace.

Metrik tingkat sistem seperti penggunaan CPU, penggunaan memori, dan penggunaan disk sangat berharga untuk mendeteksi masalah pada aplikasi Anda, tetapi tidak memberikan banyak insight tentang masalah tingkat aplikasi. Instrumentasi dapat membantu aplikasi Anda membuat data yang diperlukan untuk mendiagnosis penyebab utama masalah, karena telemetri yang dihasilkan menunjukkan apa yang terjadi di dalam aplikasi Anda. Misalnya, log sering kali menyertakan konteks tentang program Anda seperti pesan error atau stacktrace tertentu, dan lokasi dalam kode sumber Anda. Demikian pula, trace terdistribusi membantu Anda memahami cara beberapa layanan berinteraksi saat memproses permintaan. Metrik memungkinkan Anda menentukan kapan aplikasi tidak berperilaku dengan benar.

Menginstrumentasikan aplikasi Anda melibatkan pembuatan telemetri dan pengirimannya ke sistem tempat data dapat disimpan dan dikueri. Misalnya, instrumentasi Anda dapat mengirim telemetri ke a Google Cloud project. Layanan di Google Cloud Observability membantu Anda mengumpulkan, menganalisis, dan mengorelasikan data telemetri. Layanan ini juga menyediakan nilai default bawaan untuk membantu Anda memulai lebih cepat, seperti dasbor default dan kebijakan pemberitahuan. Untuk mengetahui informasi selengkapnya tentang Google Cloud Observability, lihat Kemampuan Observasi di Google Cloud.

Gambar berikut mengilustrasikan cara aplikasi menggunakan instrumentasi untuk membuat dan mengirim telemetri ke sistem penyimpanan:

Gambar yang mengilustrasikan arsitektur instrumentasi dalam proses.

Seperti yang diilustrasikan pada gambar sebelumnya, kode instrumentasi ada dalam proses aplikasi Anda dan berinteraksi dengan aplikasi untuk membuat data telemetri. Framework instrumentasi kemudian mengekspor telemetri Anda ke sistem penyimpanan yang dikonfigurasi. Pada gambar, sistem penyimpanan adalah your Google Cloud project.

Alasan Anda harus menggunakan framework instrumentasi netral vendor

Meskipun Anda berencana mengirim telemetri hanya ke Google Cloud, sebaiknya Anda menggunakan framework instrumentasi open source netral vendor untuk menginstrumentasikan aplikasi Anda. Jenis framework ini memiliki beberapa manfaat utama:

Tidak ada keterikatan pada vendor
Framework netral vendor tidak terikat pada vendor tertentu dan menyediakan model datanya sendiri untuk telemetri yang dihasilkan. Oleh karena itu, Anda dapat mengirim data ke beberapa vendor, dan biasanya dapat mengubah vendor yang digunakan tanpa mengubah kode.
Prosedur standar untuk mengumpulkan telemetri
Framework yang dirancang dengan baik, seperti OpenTelemetry, menyediakan pendekatan standar untuk mengumpulkan telemetri dari aplikasi. Anda dapat menggunakan framework yang sama untuk aplikasi yang ditulis dalam bahasa yang didukung. Karena framework distandardisasi, Anda dapat mengumpulkan dan membandingkan telemetri dari semua layanan.
Library yang dapat dioperasikan
Framework instrumentasi mencakup ekosistem library yang kaya yang mengumpulkan sinyal telemetri, dan library ini dapat dioperasikan. Misalnya, OpenTelemetry menyediakan library untuk mengumpulkan data trace dan mengumpulkan data metrik. Anda dapat menggunakan salah satu library, atau kedua library.

Menentukan strategi instrumentasi

Contoh dan panduan penerapan