Kemampuan Observasi Google Cloud mencakup layanan observasi yang membantu Anda memahami perilaku, kondisi, dan performa aplikasi. Visibilitas tentang cara aplikasi berperilaku dan cara komponen terhubung membantu Anda mengantisipasi, mengidentifikasi, dan merespons perubahan yang tidak terduga dengan lebih cepat dan efektif.
Dokumen ini mencakup informasi berikut:
- Ringkasan tentang kemampuan observasi dan alasan kemampuan observasi penting untuk menjaga aplikasi Anda tetap tersedia dan andal.
- Cara Google Cloud Observability membantu Anda memantau dan mempertahankan kondisi aplikasi dan infrastruktur.
- Cara memulai kemampuan observasi di Google Cloud.
Tentang kemampuan observasi
Kemampuan observasi adalah pendekatan menyeluruh untuk mengumpulkan dan menganalisis data telemetri guna memahami status lingkungan Anda. Data telemetri adalah metrik, log, rekaman aktivitas, dan data lainnya yang dihasilkan oleh aplikasi dan infrastruktur aplikasi yang memberikan informasi tentang kondisi dan performa aplikasi.
- Metrik
- Metrik adalah data numerik tentang kondisi kesehatan atau performa yang Anda ukur pada interval reguler seiring waktu, seperti penggunaan CPU dan latensi permintaan. Perubahan yang tidak terduga pada metrik mungkin menunjukkan masalah yang perlu diselidiki. Seiring waktu, Anda juga dapat menganalisis pola metrik untuk lebih memahami pola penggunaan dan mengantisipasi kebutuhan resource.
- Log
Log adalah catatan aktivitas sistem atau aplikasi yang dibuat dari waktu ke waktu. Setiap log adalah kumpulan entri log dengan stempel waktu, dan setiap entri log menjelaskan peristiwa pada titik waktu tertentu.
Log sering kali berisi informasi lengkap dan mendetail yang membantu Anda memahami apa yang terjadi pada bagian tertentu dari aplikasi Anda. Namun, log tidak memberikan informasi yang baik tentang bagaimana perubahan dalam satu komponen aplikasi Anda terkait dengan aktivitas di komponen lain. Rekaman aktivitas dapat membantu menjembatani kesenjangan tersebut.
- Trace
Rekaman aktivitas mewakili jalur permintaan di seluruh bagian aplikasi terdistribusi Anda. Metrik atau entri log di satu komponen aplikasi yang memicu notifikasi pemberitahuan mungkin merupakan gejala masalah yang berasal dari komponen lain. Trace memungkinkan Anda mengikuti alur permintaan dan memeriksa data latensi untuk membantu mengidentifikasi akar masalah.
- Data lainnya
Anda bisa mendapatkan insight tambahan dengan menganalisis metrik, log, dan rekaman aktivitas dalam konteks data lainnya. Misalnya, label untuk tingkat keparahan pemberitahuan atau ID pelanggan yang terkait dengan permintaan dalam log memberikan konteks yang dapat berguna untuk pemecahan masalah dan proses debug.
Pemantauan, proses debug, dan pemecahan masalah aplikasi terdistribusi dapat sulit karena ada banyak komponen sistem dan software yang terlibat, sering kali dengan campuran software open source dan komersial.
Alat observabilitas membantu Anda mengatasi kompleksitas ini dengan mengumpulkan data yang bermakna dan menyediakan fitur untuk menjelajahi, menganalisis, dan mengaitkan data. Lingkungan yang dapat diamati membantu Anda untuk:
- Mendeteksi masalah secara proaktif sebelum memengaruhi pengguna
- Memecahkan masalah umum dan baru
- Men-debug aplikasi selama pengembangan
- Merencanakan dan memahami dampak perubahan pada aplikasi Anda
- Menjelajahi data untuk menemukan insight baru
Singkatnya, lingkungan yang dapat diamati membantu Anda mempertahankan keandalan aplikasi. Aplikasi dapat diandalkan jika memenuhi tujuan Anda dan memiliki ketersediaan dan ketahanan terhadap kegagalan.
Untuk mempelajari lebih lanjut praktik keandalan, termasuk prinsip dan praktik yang terkait dengan visibilitas, baca buku Site Reliability Engineering: How Google Runs Production Systems. Topiknya mencakup:
- Tujuan Tingkat Layanan
- Memantau sistem terdistribusi
- Pemberitahuan
- Pemecahan masalah
- Menguji Keandalan
Google Cloud Observability
Layanan di Google Cloud Observability membantu Anda mengumpulkan, menganalisis, dan melakukan korelasi data telemetri. Dasbor ini juga menyediakan setelan default bawaan untuk membantu Anda memulai lebih cepat, seperti dasbor default dan kebijakan pemberitahuan.
Cloud Monitoring, Cloud Logging, dan Cloud Trace adalah beberapa layanan yang diaktifkan secara default saat Anda membuat project Google Cloud.
Pemantauan: Gunakan metrik yang dikumpulkan untuk memantau kondisi dan performa, mengidentifikasi tren dan masalah, serta memberi tahu tentang perubahan perilaku.
- Mengumpulkan metrik secara otomatis untuk sebagian besar layanan Google Cloud.
- Mengumpulkan metrik sistem dan aplikasi dari aplikasi pihak ketiga.
- Visualisasikan dan analisis metrik dengan dasbor default atau yang disesuaikan.
- Gunakan pemantauan sintetis untuk menguji performa aplikasi Anda.
- Menentukan tujuan tingkat layanan (SLO) untuk memantau keandalan layanan.
- Menerima pemberitahuan saat masalah terjadi.
Logging: Gunakan log yang dikumpulkan untuk men-debug, memecahkan masalah, dan mendapatkan insight tentang aplikasi Anda.
- Mengumpulkan log secara otomatis untuk sebagian besar layanan Google Cloud.
- Mengumpulkan log audit secara otomatis untuk sebagian besar layanan Google Cloud.
- Mengumpulkan log dari software pihak ketiga.
- Jelajahi dan analisis log.
- Gunakan Log Analytics untuk melakukan analisis di seluruh log dan data lainnya dengan BigQuery. Misalnya, Anda dapat menggunakan BigQuery untuk membandingkan URL dalam log dengan set data publik berisi URL berbahaya yang diketahui.
- Membuat metrik dari log.
- Menerima pemberitahuan saat pesan yang ditentukan muncul di log.
Error Reporting: Melihat dan menganalisis error dari layanan cloud yang sedang berjalan:
- Menggabungkan error yang terdeteksi oleh Error Reporting dalam entri log, dan melihat log terkait.
- Menggabungkan error yang dikirim aplikasi Anda ke Error Reporting API.
Trace: Melihat dan menganalisis alur dan latensi permintaan aplikasi saat Anda men-debug dan memecahkan masalah.
- Melacak cara permintaan diterapkan melalui aplikasi Anda.
- Kumpulkan data latensi dari aplikasi Anda dan lihat grafik data.
- Melihat laporan latensi yang menunjukkan penurunan performa.
- Menerima pemberitahuan untuk perubahan pada profil latensi untuk aplikasi Anda.
- Menambahkan anotasi pada rekaman aktivitas dengan atribut khusus.
- Mengekspor rekaman aktivitas ke BigQuery agar Anda dapat mempelajarinya dengan data lain.
Cloud Profiler: Menganalisis penggunaan CPU dan memori untuk aplikasi Anda agar Anda dapat mengidentifikasi peluang untuk meningkatkan performa.
- Kumpulkan data penggunaan CPU dan alokasi memori dari aplikasi Anda.
- Identifikasi bagian aplikasi yang paling banyak menggunakan resource dan dapatkan insight tentang performa aplikasi secara keseluruhan.
Mulai
Bagian ini menjelaskan langkah-langkah yang dapat Anda lakukan untuk memahami fitur observabilitas di Google Cloud.
Mencoba panduan memulai
Coba panduan memulai untuk memahami layanan yang tersedia.
Melihat data yang dikumpulkan secara otomatis
Sebagian besar layanan Google Cloud secara otomatis membuat metrik dan log yang telah ditetapkan. Artinya, Anda dapat mulai melihat beberapa data visibilitas untuk layanan Google Cloud yang didukung tanpa konfigurasi tambahan.
- Beberapa layanan Google Cloud seperti Google Kubernetes Engine (GKE), Compute Engine, dan Cloud SQL menyediakan dasbor default di konsol Google Cloud untuk melihat data kemampuan observasi dalam konteks layanan.
- Compute Engine, GKE, dan Cloud Run menghasilkan metrik dan log sistem secara default, dan Anda mengonfigurasi pengumpulan data tambahan.
- Fungsi Cloud Run dan App Engine secara otomatis menghasilkan metrik, log, dan trace.
Anda juga dapat memetakan metrik yang dikumpulkan di Metrics Explorer, melihat log di Logs Explorer, atau melihat rekaman aktivitas di Trace. Untuk meninjau data terkait secara bersamaan, buat dasbor kustom. Misalnya, Anda dapat membuat dasbor yang menyertakan log, metrik performa, dan kebijakan pemberitahuan untuk virtual machine.
Mengonfigurasi VM Compute Engine untuk mengumpulkan data tambahan
VM Compute Engine hanya mengumpulkan metrik dan log sistem dasar secara default tanpa agen Ops
Instal Agen Operasional untuk mengumpulkan data telemetri tambahan (log, metrik, dan rekaman aktivitas) dari instance dan aplikasi Compute Engine Anda untuk pemecahan masalah, pemantauan performa, dan pemberitahuan.
- Mengumpulkan metrik host secara otomatis seperti metrik CPU, GPU, memori, dan proses.
- Mengumpulkan log sistem secara otomatis seperti syslog dari VM Linux dan Log Peristiwa Windows dari VM Windows.
- Amati aplikasi Anda dengan:
- Integrasi aplikasi pihak ketiga untuk software populer seperti Postgres, MongoDB, dan Java Virtual Machine dengan dasbor dan kebijakan pemberitahuan yang telah dikonfigurasi sebelumnya
- Metrik Prometheus
- Metrik dan trace OpenTelemetry Protocol (OTLP)
- Log aplikasi
- Untuk ringkasan data telemetri yang dikumpulkan, lihat ringkasan Ops Agent.
Mengonfigurasi cluster GKE untuk mengumpulkan data tambahan
Secara default, cluster GKE mengirim log sistem dan metrik sistem ke Logging dan Monitoring. Google Cloud Managed Service for Prometheus menangani pengumpulan metrik pihak ketiga dan yang ditentukan pengguna.
- Gunakan paket metrik visibilitas untuk lebih memahami status aplikasi dan resource cluster Anda. Misalnya, metrik bidang kontrol berguna untuk membuat SLO guna memantau ketersediaan dan latensi layanan.
- Memantau aplikasi pihak ketiga seperti Postgres, MongoDB, dan Redis. Integrasi ini menyediakan dasbor dan kebijakan pemberitahuan yang telah dikonfigurasi sebelumnya.
Mengonfigurasi Cloud Run untuk mengumpulkan data kustom
Jika memiliki layanan Cloud Run yang menulis metrik Prometheus, Anda dapat menggunakan sidecar Prometheus untuk mengirim metrik ke Cloud Monitoring.
Jika layanan Cloud Run Anda menulis metrik OTLP, Anda dapat menggunakan file bantuan OpenTelemetry. Sebagai contoh, lihat tutorial untuk mengumpulkan metrik OTLP menggunakan sidecar.
Menginstrumentasikan aplikasi
Instrumentasi adalah kode yang Anda tambahkan ke aplikasi untuk memunculkan data telemetri. Ada beberapa framework instrumentasi open source yang memungkinkan Anda mengumpulkan metrik, log, dan trace dari aplikasi dan mengirim data tersebut ke vendor mana pun, termasuk Google Cloud. Namun, Anda mungkin tidak perlu menginstrumentasikan aplikasi. Misalnya, Cloud Run, fungsi Cloud Run, dan App Engine menyediakan pelacakan otomatis.
Untuk melengkapi aplikasi Anda, sebaiknya gunakan framework instrumentasi netral vendor yang bersifat open source, seperti OpenTelemetry, bukan API atau library klien khusus vendor dan produk. Untuk informasi tentang cara melengkapi aplikasi Anda, lihat Instrumentasi dan observabilitas.
Untuk contoh kode yang menggambarkan cara melengkapi aplikasi Anda untuk mengirim telemetri ke Google Cloud, lihat hal berikut:
- Membuat trace dan metrik dengan Go.
- Membuat trace dan metrik dengan Java.
- Membuat trace dan metrik dengan Node.js.
- Membuat trace dan metrik dengan Python.
Anda mungkin juga tertarik untuk mempelajari topik berikut:
- Pelajari opsi instrumentasi untuk rekaman aktivitas
- Pelajari cara mengumpulkan metrik yang ditentukan pengguna
- Pelajari cara menulis log aplikasi