Kemampuan observasi di Google Cloud

Kemampuan Observasi Google Cloud mencakup layanan kemampuan observasi yang membantu Anda memahami perilaku, kondisi, dan performa aplikasi Anda. Visibilitas terkait perilaku aplikasi dan cara komponen terhubung membantu Anda mengantisipasi, mengidentifikasi, dan merespons perubahan yang tidak terduga dengan lebih cepat dan efektif.

Dokumen ini menyertakan informasi berikut:

Tentang kemampuan observasi

Kemampuan observasi adalah pendekatan holistik untuk mengumpulkan dan menganalisis data telemetri untuk memahami status lingkungan Anda. Data telemetri adalah metrik, log, trace, dan data lain yang dihasilkan oleh aplikasi Anda serta infrastruktur aplikasi yang memberikan informasi tentang kondisi dan performa aplikasi.

Metrik
Metrik adalah data numerik terkait kondisi atau performa yang Anda ukur pada interval reguler dari waktu ke waktu, seperti penggunaan CPU dan latensi permintaan. Perubahan yang tidak terduga pada metrik mungkin mengindikasikan adanya masalah yang harus diselidiki. Seiring waktu, Anda juga dapat menganalisis pola metrik untuk lebih memahami pola penggunaan dan mengantisipasi kebutuhan resource.
Log

Log adalah kumpulan data aktivitas sistem atau aplikasi yang dihasilkan dari waktu ke waktu. Setiap log adalah kumpulan entri log yang diberi stempel waktu, dan setiap entri log mendeskripsikan 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 berkaitan dengan aktivitas di komponen lain. Rekaman aktivitas dapat membantu menjembatani kesenjangan tersebut.

Trace

Rekaman aktivitas mewakili jalur permintaan di seluruh bagian aplikasi terdistribusi Anda. Entri metrik atau log dalam satu komponen aplikasi yang memicu notifikasi pemberitahuan mungkin merupakan gejala dari masalah yang berasal dari komponen lain. Rekaman aktivitas memungkinkan Anda mengikuti alur permintaan dan memeriksa data latensi untuk membantu mengidentifikasi penyebab utama suatu masalah.

Data lainnya

Anda dapat memperoleh insight tambahan dengan menganalisis metrik, log, dan trace 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 menjadi proses yang sulit karena ada banyak komponen sistem dan software yang terlibat, sering kali dengan kombinasi software open source dan komersial.

Alat kemampuan observasi membantu Anda mengatasi kompleksitas ini dengan mengumpulkan data yang bermakna dan menyediakan fitur untuk menjelajahi, menganalisis, dan menghubungkan data. Lingkungan yang dapat diamati membantu Anda:

  • Deteksi masalah secara proaktif sebelum berdampak pada pengguna Anda
  • Memecahkan masalah umum dan masalah 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 akan dianggap andal jika memenuhi tujuan Anda saat ini untuk ketersediaan dan ketahanan terhadap kegagalan.

Untuk mempelajari praktik keandalan lebih lanjut, termasuk prinsip dan praktik terkait kemampuan observasi, baca buku Site Reliability Engineering: Cara Google Menjalankan Sistem Produksi. Topiknya mencakup:

Kemampuan Observasi Google Cloud

Layanan di Google Cloud Observability membantu Anda mengumpulkan, menganalisis, dan menghubungkan data telemetri. Keduanya 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.

Monitoring: Gunakan metrik yang dikumpulkan untuk memantau kondisi dan performa, mengidentifikasi tren dan masalah, serta memberi tahu perubahan perilaku.

  • Mengumpulkan metrik secara otomatis untuk sebagian besar layanan Google Cloud.
  • Mengumpulkan metrik sistem dan aplikasi dari aplikasi pihak ketiga.
  • Visualisasi dan analisis metrik dengan dasbor default atau kustom.
  • Gunakan pemantauan sintetis untuk menguji performa aplikasi Anda.
  • Tentukan tujuan tingkat layanan (SLO) untuk memantau keandalan layanan.
  • Menerima pemberitahuan saat terjadi masalah.

Logging: Menggunakan 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.
  • Menjelajahi dan menganalisis log.
  • Gunakan Log Analytics untuk melakukan analisis di seluruh log Anda dan data lainnya dengan BigQuery. Misalnya, Anda dapat menggunakan BigQuery untuk membandingkan URL di log dengan set data publik berisi URL berbahaya yang diketahui.
  • Membuat metrik dari log.
  • Menerima notifikasi saat pesan tertentu muncul di log.

Error Reporting: Melihat dan menganalisis error saat menjalankan layanan cloud:

  • Gabungkan error yang terdeteksi oleh Error Reporting dalam entri log, dan lihat log terkait.
  • Gabungkan error yang dikirim aplikasi Anda ke Error Reporting API.

Trace: Melihat dan menganalisis alur dan latensi permintaan aplikasi saat Anda melakukan proses debug dan pemecahan masalah.

  • Melacak cara permintaan ditransmisikan di seluruh aplikasi Anda.
  • Kumpulkan data latensi dari aplikasi Anda dan lihat grafik data.
  • Lihat laporan latensi yang menunjukkan penurunan performa.
  • Terima pemberitahuan untuk perubahan profil latensi untuk aplikasi Anda.
  • Menganotasi rekaman aktivitas dengan atribut khusus.
  • Mengekspor rekaman aktivitas ke BigQuery sehingga Anda dapat mempelajarinya dengan data lain.

Cloud Profiler: Menganalisis penggunaan CPU dan memori untuk aplikasi sehingga Anda dapat mengidentifikasi peluang untuk meningkatkan performa.

  • Kumpulkan data penggunaan CPU dan alokasi memori dari aplikasi Anda.
  • Identifikasi bagian aplikasi yang mengonsumsi resource paling banyak dan dapatkan insight tentang performa aplikasi secara keseluruhan.

Mulai

Bagian ini menjelaskan langkah-langkah yang dapat Anda lakukan untuk membiasakan diri dengan fitur kemampuan observasi di Google Cloud.

Coba panduan memulai

Coba panduan memulai untuk membiasakan diri dengan layanan yang tersedia.

Melihat data yang dikumpulkan secara otomatis

Sebagian besar layanan Google Cloud secara otomatis membuat metrik dan log yang telah ditentukan. Artinya, Anda dapat mulai melihat beberapa data kemampuan observasi 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 membuat metrik dan log sistem secara default, dan Anda mengonfigurasi pengumpulan data tambahan.
  • Cloud Functions, dan App Engine secara otomatis menghasilkan metrik, log, dan trace.

Anda juga dapat membuat diagram metrik yang dikumpulkan di Metrics Explorer, melihat log di Logs Explorer, atau melihat trace di Trace. Untuk meninjau data terkait bersama-sama, buat dasbor kustom. Misalnya, Anda dapat membuat dasbor yang mencakup log, metrik performa, dan kebijakan pemberitahuan untuk virtual machine.

Mengonfigurasi VM Compute Engine untuk mengumpulkan data tambahan

VM Compute Engine hanya mengumpulkan metrik sistem dasar dan log secara default tanpa agen Operasional

Instal Agen Operasional untuk mengumpulkan data telemetri tambahan (log, metrik, dan trace) dari instance dan aplikasi Compute Engine Anda untuk pemecahan masalah, pemantauan performa, dan pemberitahuan.

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 metrik yang ditentukan pengguna.

  • Gunakan paket metrik kemampuan observasi untuk lebih memahami status aplikasi dan resource cluster Anda. Misalnya, metrik bidang kontrol berguna untuk membuat SLO guna memantau ketersediaan dan latensi layanan.
  • Pantau 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 bantuan 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 file bantuan.

Menginstrumentasikan aplikasi Anda

Instrumentasi adalah kode yang Anda tambahkan ke aplikasi untuk memancarkan data telemetri. Ada beberapa framework instrumentasi open source yang dapat Anda gunakan untuk mengumpulkan metrik, log, dan trace dari aplikasi serta mengirim data tersebut ke vendor mana pun, termasuk Google Cloud. Namun, Anda mungkin tidak perlu melengkapi aplikasi. Misalnya, Cloud Run, Cloud Functions, dan App Engine menyediakan pelacakan otomatis.

Untuk melengkapi aplikasi Anda, sebaiknya gunakan framework instrumentasi netral vendor yang merupakan open source, seperti OpenTelemetry, bukan API atau library klien khusus vendor dan produk. Untuk mengetahui informasi tentang instrumentasi aplikasi, lihat Instrumentasi dan kemampuan observasi.

Untuk contoh kode yang menggambarkan cara menginstrumentasikan aplikasi untuk mengirim telemetri ke Google Cloud, lihat artikel berikut:

Anda juga mungkin tertarik untuk mempelajari topik-topik berikut: