Siapkan pemantauan, pemberitahuan, dan logging

Last reviewed 2023-08-08 UTC

Dokumen dalam Framework Arsitektur Google Cloud ini menunjukkan cara menyiapkan pemantauan, pemberitahuan, dan logging sehingga Anda dapat bertindak berdasarkan perilaku sistem Anda. Hal ini termasuk mengidentifikasi metrik yang bermakna untuk melacak dan membangun dasbor guna mempermudah Anda melihat informasi tentang sistem Anda.

Program riset DevOps Resource and Assessment (DORA) mendefinisikan pemantauan sebagai:

"Pemantauan adalah proses mengumpulkan, menganalisis, dan menggunakan informasi untuk melacak aplikasi dan infrastruktur untuk mengarahkan keputusan bisnis. Pemantauan adalah sebuah kemampuan utama karena hal ini dapat memberi Anda insight tentang sistem dan pekerjaan Anda."

Pemantauan memungkinkan pemilik layanan untuk:

  • Membuat keputusan yang tepat saat perubahan pada layanan berpengaruh pada performa
  • Menerapkan pendekatan ilmiah untuk respons insiden
  • Mengukur keselarasan layanan Anda dengan sasaran bisnis

Dengan menerapkan pemantauan, logging, dan pemberitahuan, Anda dapat melakukan hal berikut:

  • Menganalisis tren jangka panjang
  • Membandingkan eksperimen dari waktu ke waktu
  • Menentukan pemberitahuan tentang metrik penting
  • Membangun dasbor real-time yang relevan
  • Melakukan analisis retrospektif
  • Memantau metrik berbasis bisnis dan metrik kesehatan sistem
    • Metrik berbasis bisnis membantu Anda memahami seberapa baik sistem mendukung bisnis Anda. Misalnya, gunakan metrik untuk memantau hal berikut:
      • Biaya aplikasi untuk melayani pengguna
      • Perubahan volume traffic situs setelah didesain ulang
      • Waktu yang dibutuhkan pelanggan untuk membeli produk di situs Anda
    • Metrik kesehatan sistem membantu Anda memahami apakah sistem Anda beroperasi dengan benar dan dalam tingkat performa yang dapat diterima.

Gunakan empat sinyal emas berikut untuk memantau sistem Anda:

  • Latensi. Waktu yang diperlukan untuk melayani permintaan.
  • Traffic. Banyaknya permintaan yang ditempatkan pada sistem Anda.
  • Error. Jumlah permintaan yang gagal. Kegagalan dapat bersifat eksplisit (misalnya, HTTP 500), implisit (misalnya, respons sukses HTTP 200 yang digabungkan dengan konten yang tidak tepat), atau menurut kebijakan (misalnya, jika Anda berkomitmen pada waktu respon satu detik, setiap permintaan di atas satu detik akan dianggap error).
  • Saturasi. Seberapa penuh layanan Anda. Saturasi adalah ukuran fraksi sistem Anda, dengan menekankan resource yang paling terbatas (yaitu, dalam sistem yang terbatas memori, menampilkan memori; dalam sistem I/O terbatas, tunjukkan I/O).

Buat rencana pemantauan

Buat rencana pemantauan yang sesuai dengan misi dan strategi operasi organisasi Anda. Sertakan perencanaan pemantauan dan kemampuan observasi selama pengembangan aplikasi. Menyertakan rencana pemantauan di awal pengembangan aplikasi dapat mendorong organisasi menjadi unggul secara operasional.

Sertakan detail berikut dalam rencana pemantauan Anda:

  • Sertakan semua sistem Anda, termasuk resource lokal dan resource cloud.
  • Sertakan pemantauan biaya cloud Anda untuk membantu memastikan bahwa peristiwa penskalaan tidak menyebabkan penggunaan melampaui batas anggaran Anda.
  • Buat berbagai strategi pemantauan untuk mengukur performa infrastruktur, pengalaman pengguna, dan indikator performa utama (KPI) bisnis. Misalnya, batas statis mungkin berfungsi dengan baik untuk mengukur performa infrastruktur, tetapi tidak dapat mencerminkan pengalaman pengguna yang sesungguhnya.

Perbarui rencana seiring dengan matangnya strategi pemantauan Anda. Sempurnakan rencana untuk meningkatkan kesehatan sistem Anda.

Tentukan metrik yang mengukur semua aspek organisasi Anda

Tentukan metrik yang diperlukan untuk mengukur perilaku deployment Anda. Untuk melakukannya:

  • Tentukan tujuan bisnis Anda.
  • Identifikasi metrik dan KPI yang dapat memberi Anda informasi yang terukur untuk mengukur performa. Pastikan definisi metrik Anda tercermin dalam semua aspek organisasi Anda, mulai dari kebutuhan bisnis—termasuk biaya cloud—hingga komponen teknis.
  • Gunakan metrik tersebut untuk membuat indikator tingkat layanan (SLI) untuk aplikasi Anda. Untuk informasi selengkapnya, lihat Memilih SLI yang sesuai.

Metrik umum untuk berbagai komponen

Metrik dibuat di semua tingkat layanan Anda, mulai dari infrastruktur dan jaringan hingga logika bisnis. Contoh:

  • Metrik infrastruktur:
    • Statistik mesin virtual, termasuk instance, CPU, memori, penggunaan, dan jumlah
    • Statistik berbasis container, termasuk pemanfaatan cluster, kapasitas cluster, pemanfaatan level pod, dan jumlah
    • Statistik networking, termasuk traffic masuk/keluar, bandwidth antarkomponen, latensi, dan throughput
    • Permintaan per detik, seperti yang diukur oleh load balancer
    • Total disk block yang dibaca, per disk
    • Paket yang dikirim melalui antarmuka jaringan tertentu
    • Ukuran heap memori untuk proses tertentu
    • Distribusi latensi respons
    • Jumlah kueri tidak valid yang ditolak oleh instance database
  • Metrik aplikasi:
    • Perilaku khusus aplikasi, termasuk kueri per detik, penulisan per detik, dan pesan terkirim per detik
  • Metrik statistik layanan terkelola:
    • QPS, throughput, latensi, pemakaian untuk layanan yang dikelola Google (API atau produk seperti BigQuery, App Engine, dan Bigtable)
  • Metrik statistik network connectivity:
    • Statistik terkait VPN/interconnect terkait cara menghubungkan ke sistem lokal atau sistem lokal yang berada di luar Google Cloud.
  • SLI
    • Metrik yang terkait dengan kesehatan sistem secara keseluruhan.

Siapkan pemantauan

Siapkan pemantauan untuk memantau resource lokal dan resource cloud.

Pilih solusi pemantauan yang:

  • Tidak bergantung pada platform
  • Memberikan kemampuan yang seragam untuk memantau lingkungan lokal, hybrid, dan multi-cloud

Dengan menggunakan satu platform untuk menggabungkan data pemantauan yang masuk dari berbagai sumber, Anda dapat membuat metrik yang seragam dan dasbor visualisasi.

Saat Anda menyiapkan pemantauan, otomatisasi tugas pemantauan yang dapat diubah menjadi otomatis.

Memantau menggunakan Google Cloud

Menggunakan layanan pemantauan, seperti Cloud Monitoring, lebih mudah daripada membuat layanan pemantauan sendiri. Memantau aplikasi yang kompleks itu sendiri sudah merupakan upaya teknis yang besar. Meskipun sudah ada infrastruktur untuk instrumentasi, pengumpulan dan penampilan data, serta pemberitahuan yang diterapkan, membuat dan mengelola hal ini memerlukan usaha dan waktu yang tinggi.

Coba gunakan Cloud Monitoring untuk mendapatkan visibilitas terkait performa, ketersediaan, dan kesehatan aplikasi serta infrastruktur Anda, baik untuk resource lokal maupun cloud.

Cloud Monitoring adalah layanan terkelola yang merupakan bagian dari Kemampuan Observasi Google Cloud. Anda dapat menggunakan Cloud Monitoring untuk memantau layanan Google Cloud dan metrik kustom. Cloud Monitoring menyediakan API untuk integrasi dengan alat pemantauan pihak ketiga.

Cloud Monitoring menggabungkan metrik, log, dan peristiwa dari infrastruktur berbasis cloud sistem Anda. Dengan data tersebut, developer dan operator memiliki banyak sinyal untuk diamati, yang dapat mempercepat analisis akar masalah dan mengurangi waktu rata-rata untuk melakukan penyelesaian. Anda dapat menggunakan Cloud Monitoring untuk menentukan pemberitahuan dan metrik kustom yang sesuai dengan tujuan bisnis Anda dan membantu Anda menggabungkan, memvisualisasikan, dan memantau kesehatan sistem.

Cloud Monitoring menyediakan dasbor default untuk layanan aplikasi cloud dan open source. Dengan model metrik, Anda dapat menentukan dasbor kustom dengan alat visualisasi yang canggih dan mengonfigurasi diagram di Metrics Explorer.

Menyiapkan pemberitahuan

Sistem peringatan yang baik akan meningkatkan kemampuan Anda untuk merilis fitur. Fitur ini membantu membandingkan performa dari waktu ke waktu untuk menentukan kecepatan rilis fitur atau kebutuhan untuk melakukan roll back rilis fitur. Untuk informasi tentang rollback, lihat Memulihkan rilis sebelumnya dengan lancar.

Saat Anda menyiapkan pemberitahuan, petakan pemberitahuan langsung ke metrik yang penting. Metrik penting ini mencakup:

  • Empat sinyal emas:
    • Latensi
    • Traffic
    • Error
    • Saturasi
  • Kesehatan sistem
  • Service usage
  • Peristiwa keamanan
  • Pengalaman pengguna

Buat pemberitahuan dapat ditindaklanjuti untuk meminimalisasi waktu penyelesaian. Caranya, untuk setiap pemberitahuan:

  • Sertakan deskripsi yang jelas, termasuk menyatakan apa yang dipantau dan dampaknya terhadap bisnis.
  • Berikan semua informasi yang diperlukan untuk segera bertindak. Jika diperlukan beberapa klik dan navigasi untuk memahami suatu pemberitahuan, maka masih sulit bagi staf siaga untuk bertindak.
  • Tentukan tingkat prioritas untuk berbagai pemberitahuan.
  • Identifikasi orang atau tim yang bertanggung jawab untuk merespons pemberitahuan dengan jelas.

Untuk aplikasi dan layanan penting, integrasikan tindakan pemulihan mandiri ke dalam pemberitahuan yang dipicu karena kondisi kesalahan umum, seperti kegagalan service health, perubahan konfigurasi, atau lonjakan throughput.

Saat menyiapkan pemberitahuan, cobalah untuk menghilangkan toil. Misalnya, hilangkan toil dengan menghilangkan error yang sering terjadi, atau mengotomatiskan perbaikan untuk error tersebut sehingga dapat menghindari memicu munculnya pemberitahuan. Dengan menghilangkan toil, staf yang siaga dapat berfokus untuk membuat komponen operasional aplikasi Anda menjadi andal. Untuk informasi selengkapnya, lihat Menciptakan budaya otomatisasi.

Buat dasbor pemantauan dan pemberitahuan

Setelah pemantauan diterapkan, buatlah dasbor yang relevan dan tidak rumit yang menyertakan informasi dari sistem pemantauan dan pemberitahuan Anda.

Memilih cara yang tepat untuk memvisualisasikan dasbor bisa jadi sulit untuk dikaitkan dengan sasaran keandalan Anda. Buatlah dasbor untuk memvisualisasikan:

  • Analisis jangka pendek dan real-time
  • Analisis jangka panjang

Untuk mengetahui informasi selengkapnya tentang menerapkan pengelolaan visual, lihat artikel kemampuan Pengelolaan visual.

Aktifkan logging untuk aplikasi penting

Layanan logging sangatlah penting untuk memantau sistem Anda. Metrik membentuk dasar item tertentu yang akan dipantau, sedangkan log berisi informasi berharga yang Anda perlukan untuk proses debug, analisis terkait keamanan, dan persyaratan kepatuhan.

Melakukan logging atas data yang dihasilkan sistem membantu Anda memastikan postur keamanan yang efektif. Untuk informasi selengkapnya tentang logging dan keamanan, lihat Menerapkan kontrol logging dan detektif dalam kategori keamanan Framework Arsitektur.

Cloud Logging adalah layanan logging terintegrasi yang dapat Anda gunakan untuk menyimpan, menelusuri, menganalisis, memantau, serta membuat pemberitahuan terkait data dan peristiwa log. Logging akan otomatis mengumpulkan log dari layanan Google Cloud dan penyedia cloud lainnya. Anda dapat menggunakan log tersebut untuk membuat metrik guna memantau dan membuat ekspor logging ke layanan eksternal seperti Cloud Storage BigQuery, dan Pub/Sub.

Menyiapkan jejak audit

Untuk membantu menjawab pertanyaan seperti "siapa yang melakukan apa, di mana, dan kapan" dalam project Google Cloud Anda, gunakan Cloud Audit Logs.

Cloud Audit Logs merekam beberapa jenis aktivitas, seperti berikut:

  • Log Aktivitas Admin berisi entri log untuk panggilan API atau tindakan administratif lainnya yang mengubah konfigurasi atau metadata resource. Log Aktivitas Admin selalu dalam kondisi diaktifkan.
  • Log audit Akses Data merekam panggilan API yang membuat, mengubah, atau membaca data yang disediakan pengguna. Log audit Akses Data dinonaktifkan secara default karena ukurannya yang kadang cukup besar. Anda dapat mengonfigurasi layanan Google Cloud mana yang menghasilkan log akses data.

Untuk mengetahui daftar layanan Google Cloud yang menghasilkan log audit, lihat Layanan Google dengan log audit. Gunakan kontrol Identity and Access Management (IAM) untuk membatasi siapa yang memiliki akses untuk melihat log audit.

Langkah selanjutnya