Membuat kebijakan pemberitahuan yang tidak ada metrik

Dokumen ini menjelaskan cara menggunakan Konsol Google Cloud untuk membuat kebijakan pemberitahuan yang mengirimkan notifikasi saat deret waktu yang dipantau tidak memiliki data untuk periode durasi tertentu.

Kondisi absensi metrik memerlukan setidaknya satu pengukuran yang berhasil, yaitu pengukuran yang mengambil data, dalam periode durasi maksimum setelah kebijakan diinstal atau diubah. Periode maksimum yang dapat dikonfigurasi adalah 24 jam jika Anda menggunakan Konsol Google Cloud dan 24,5 jam jika menggunakan Cloud Monitoring API.

Misalnya, Anda menetapkan periode durasi dalam kebijakan ketiadaan metrik ke 30 menit. Kondisi ini tidak dapat dipenuhi jika subsistem yang menulis data metrik belum pernah menulis titik data. Subsistem harus menghasilkan setidaknya satu titik data, lalu gagal menghasilkan output titik data tambahan selama 30 menit.

Konten ini tidak berlaku untuk kebijakan pemberitahuan berbasis log. Untuk mengetahui informasi tentang kebijakan pemberitahuan berbasis log, yang memberi tahu Anda saat pesan tertentu muncul di log, lihat Memantau log.

Dokumen ini tidak menjelaskan hal-hal berikut:

Sebelum memulai

  1. Untuk mendapatkan izin yang diperlukan untuk membuat dan mengubah kebijakan pemberitahuan menggunakan Konsol Google Cloud, minta administrator untuk memberi Anda peran IAM Monitoring Editor (roles/monitoring.editor) di project Anda. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses.

    Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.

    Untuk mengetahui informasi selengkapnya tentang peran Cloud Monitoring, lihat Mengontrol akses dengan Identity and Access Management.

  2. Pastikan Anda sudah memahami konsep umum kebijakan pemberitahuan. Untuk mengetahui informasi tentang topik ini, lihat Ringkasan pemberitahuan.

  3. Konfigurasi saluran notifikasi yang ingin Anda gunakan untuk menerima pemberitahuan. Untuk tujuan redundansi, sebaiknya buat beberapa jenis saluran notifikasi. Untuk informasi selengkapnya, lihat Membuat dan mengelola saluran notifikasi.

Membuat kebijakan pemberitahuan

Untuk membuat kebijakan pemberitahuan yang mengirimkan notifikasi saat deret waktu yang dipantau tidak memiliki data selama periode durasi tertentu, lakukan hal berikut:

  1. Di panel navigasi konsol Google Cloud, pilih Monitoring, lalu pilih  Alerting:

    Buka Alerting

  2. Pilih Create policy.
  3. Pilih deret waktu yang akan dipantau:

    1. Klik Select a metric, jelajahi menu untuk memilih jenis resource dan jenis metrik, lalu klik Apply.

      Menu Select a metric berisi fitur yang membantu Anda menemukan jenis metrik yang tersedia:

      • Untuk menemukan jenis metrik tertentu, gunakan Panel filter . Misalnya, jika Anda memasukkan util, Anda akan membatasi menu untuk menampilkan entri yang menyertakan util. Entri akan ditampilkan saat lulus pengujian "contains" yang tidak peka huruf besar/kecil.

      Anda dapat memantau setiap metrik bawaan atau metrik yang ditentukan pengguna.

    2. Opsional: Untuk memantau subset deret waktu yang cocok dengan metrik dan jenis resource yang Anda pilih di langkah sebelumnya, klik Add filter. Dalam dialog filter, pilih label yang akan digunakan untuk memfilter, pembanding, lalu nilai filter. Misalnya, filter zone =~ ^us.*.a$ menggunakan ekspresi reguler untuk mencocokkan semua data deret waktu yang nama zonanya dimulai dengan us dan diakhiri dengan a. Untuk informasi selengkapnya, lihat Memfilter deret waktu yang dipilih.

    3. Opsional: Untuk mengubah cara titik-titik dalam deret waktu disejajarkan, di bagian Mentransformasi data, tetapkan kolom Rolling window dan Rolling window function.

      Kolom ini menentukan cara titik-titik yang dicatat di jendela digabungkan. Misalnya, anggaplah periodenya 15 menit dan fungsi jendela adalah max. Titik yang disejajarkan adalah nilai maksimum semua titik dalam 15 menit terakhir. Untuk informasi selengkapnya, lihat Perataan: regularisasi dalam deret.

    4. Opsional: Gabungkan deret waktu jika Anda ingin mengurangi jumlah deret waktu yang dipantau oleh kebijakan, atau saat Anda hanya ingin memantau sekumpulan deret waktu. Misalnya, daripada memantau penggunaan CPU setiap instance VM, sebaiknya Anda menghitung rata-rata pemakaian CPU untuk semua VM di zona, lalu memantau rata-rata tersebut. Secara default, deret waktu tidak digabungkan. Untuk informasi umum, lihat Pengurangan: menggabungkan deret waktu.

      Untuk menggabungkan semua deret waktu, lakukan hal berikut:

      1. Di bagian Di sepanjang deret waktu, klik Luaskan.
      2. Tetapkan kolom Agregasi deret waktu ke nilai selain none. Misalnya, untuk menampilkan nilai rata-rata deret waktu, pilih mean.
      3. Pastikan kolom Time series group by kosong.

      Untuk menggabungkan, atau mengelompokkan, deret waktu menurut nilai label, lakukan tindakan berikut:

      1. Di bagian Di sepanjang deret waktu, klik Luaskan.
      2. Tetapkan kolom Agregasi deret waktu ke nilai selain none.
      3. Di kolom Time series group by, pilih label yang akan dikelompokkan.

      Misalnya, jika Anda mengelompokkan menurut label zone, lalu menetapkan kolom agregasi ke nilai mean, diagram akan menampilkan satu deret waktu untuk setiap zona yang datanya berisi data. Deret waktu yang ditampilkan untuk zona tertentu adalah rata-rata dari semua deret waktu dengan zona tersebut.

    5. Klik Next.

  4. Konfigurasikan pemicu kondisi:

    1. Pilih Ketiadaan metrik untuk jenis kondisi.
    2. Pilih nilai untuk menu Alert trigger. Menu ini memungkinkan Anda menentukan subset deret waktu yang tidak boleh memiliki data sebelum kondisinya terpenuhi.
    3. Tentukan berapa lama data metrik tidak boleh ada sebelum pemberitahuan memberi tahu Anda menggunakan kolom Trigger missing time.
    4. Klik Next.
  5. Opsional: Buat kebijakan pemberitahuan dengan beberapa kondisi.

    Sebagian besar kebijakan memantau satu jenis metrik, misalnya kebijakan memantau jumlah byte yang ditulis ke instance VM. Jika Anda ingin memantau beberapa jenis metrik, buat kebijakan dengan beberapa kondisi. Setiap kondisi memantau satu jenis metrik. Setelah membuat kondisi, tentukan cara kondisi digabungkan. Untuk informasi selengkapnya, lihat Kebijakan dengan beberapa ketentuan.

    Untuk membuat kebijakan pemberitahuan dengan beberapa kondisi, lakukan hal berikut:

    1. Untuk setiap kondisi tambahan, klik Add alert condition, lalu konfigurasi kondisi tersebut.
    2. Klik Berikutnya dan konfigurasikan cara kondisi digabungkan.
    3. Klik Next untuk melanjutkan ke penyiapan notifikasi dan dokumentasi.
  6. Konfigurasi notifikasi:

    1. Luaskan menu Notifikasi dan nama lalu pilih saluran notifikasi Anda. Untuk tujuan redundansi, sebaiknya tambahkan beberapa jenis saluran notifikasi ke kebijakan pemberitahuan. Untuk informasi lebih lanjut, lihat artikel Mengelola saluran notifikasi.

    2. Opsional: Untuk menerima notifikasi saat insiden ditutup, pilih Beri tahu saat penutupan insiden. Secara default, saat Anda membuat kebijakan pemberitahuan dengan Konsol Google Cloud, notifikasi hanya dikirim saat insiden dibuat.

    3. Opsional: Untuk mengubah waktu tunggu Monitoring sebelum menutup insiden setelah data berhenti masuk, pilih opsi dari menu Durasi penutupan otomatis insiden. Secara default, saat data berhenti masuk, Monitoring akan menunggu tujuh hari sebelum menutup insiden terbuka.

    4. Pilih salah satu opsi dari menu Tingkat keseriusan kebijakan. Insiden dan notifikasi menampilkan tingkat keparahan.

    5. Opsional: Untuk menambahkan label kustom ke kebijakan pemberitahuan, di bagian Label pengguna kebijakan, lakukan tindakan berikut:

      1. Klik Tambahkan label, lalu di kolom Kunci, masukkan nama untuk label tersebut. Nama label harus diawali dengan huruf kecil, serta dapat berisi huruf kecil, angka, garis bawah, dan tanda hubung. Misalnya, masukkan severity.
      2. Klik Nilai lalu masukkan nilai untuk label Anda. Nilai label dapat berisi huruf kecil, angka, garis bawah, dan tanda pisah. Misalnya, masukkan critical.

      Untuk mengetahui informasi tentang cara menggunakan label kebijakan guna membantu Anda mengelola pemberitahuan, lihat Menganotasi pemberitahuan dengan label.

  7. Opsional: Di bagian Dokumentasi, masukkan konten apa pun yang ingin disertakan dalam notifikasi.

    Untuk memformat dokumentasi, Anda dapat menggunakan teks biasa, Markup, dan variabel. Anda juga dapat menyertakan link untuk membantu pengguna men-debug insiden, seperti link ke playbook internal, dasbor Google Cloud, dan halaman eksternal. Misalnya, template dokumentasi berikut menjelaskan insiden penggunaan CPU untuk resource gce_instance dan menyertakan beberapa variabel untuk mereferensikan kebijakan pemberitahuan dan resource REST kondisi. Kemudian, template dokumentasi mengarahkan pembaca ke halaman eksternal untuk membantu proses debug.

    Saat notifikasi dibuat, Monitoring akan mengganti variabel dokumentasi dengan nilainya. Nilainya hanya menggantikan variabel dalam notifikasi. Panel pratinjau dan tempat lain di konsol Google Cloud hanya menampilkan format Markdown.

    Pratinjau

    ## CPU utilization exceeded
    
    ### Summary
    
    The ${metric.display_name} of the ${resource.type}
    ${resource.label.instance_id} in the project ${resource.project} has
    exceeded 90% for over 15 minutes.
    
    ### Additional resource information
    
    Condition resource name: ${condition.name}
    Alerting policy resource name: ${policy.name}
    
    ### Troubleshooting and Debug References
    
    Repository with debug scripts: example.com
    Internal troubleshooting guide: example.com
    ${resource.type} dashboard: example.com
    

    Format dalam notifikasi

    Contoh cara dokumentasi dirender dalam notifikasi.

    Untuk mengetahui informasi selengkapnya, lihat Menganotasi pemberitahuan dengan dokumentasi yang ditentukan pengguna dan Menggunakan kontrol saluran.

  8. Klik Alert name dan masukkan nama untuk kebijakan pemberitahuan itu.

  9. Klik Create policy.

Memfilter deret waktu yang dipilih

Filter memastikan bahwa hanya deret waktu yang memenuhi beberapa kriteria yang dipantau. Saat menerapkan filter, Anda dapat mengurangi jumlah baris pada diagram, yang dapat meningkatkan performa diagram. Anda juga dapat mengurangi jumlah data yang dipantau dengan menerapkan agregasi. Filter memastikan bahwa hanya deret waktu yang memenuhi sejumlah kriteria yang akan digunakan. Saat Anda menerapkan filter, deret waktu yang harus dievaluasi menjadi lebih sedikit, sehingga dapat meningkatkan performa pemberitahuan.

Filter terdiri dari label, pembanding, dan nilai. Misalnya, untuk mencocokkan semua deret waktu yang label zone-nya diawali dengan "us-central1", Anda dapat menggunakan filter zone=~"us-central1.*" yang menggunakan ekspresi reguler untuk melakukan perbandingan.

Saat memfilter berdasarkan project ID atau penampung resource, Anda harus menggunakan operator sama dengan, (=). Saat memfilter menurut label lain, Anda dapat menggunakan pembanding yang didukung. Biasanya, Anda dapat memfilter label metrik dan resource, serta berdasarkan grup resource.

Jika Anda memberikan beberapa kriteria pemfilteran, hanya deret waktu yang memenuhi semua kriteria yang akan dipantau.

Untuk menambahkan filter, klik Add filter, selesaikan dialog, lalu klik Done. Dalam dialog yang muncul, gunakan kolom Filter untuk memilih kriteria yang akan digunakan untuk memfilter, memilih operator perbandingan, lalu memilih nilainya. Setiap baris dalam tabel berikut mencantumkan operator perbandingan, artinya, dan contohnya:

OperatorArtiContoh
= Persamaan resource.labels.zone = "us-central1-a"
!= Ketidaksetaraan resource.labels.zone != "us-central1-a"
=~ Persamaan ekspresi reguler2 monitoring.regex.full_match("^us.*")
!=~ Ketidaksetaraan ekspresi reguler2 monitoring.regex.full_match("^us.*")
starts_with Nilai diawali dengan resource.labels.zone = starts_with("us")
ends_with Nilai diakhiri dengan resource.labels.zone = ends_with("b")
has_substring Nilai berisi resource.labels.zone = has_substring("east")
one_of Salah satu resource.labels.zone = one_of("asia-east1-b", "europe-north1-a")
!starts_with Nilai tidak diawali dengan resource.labels.zone != starts_with("us")
!ends_with Nilai tidak diakhiri dengan resource.labels.zone != ends_with("b")
!has_substring Nilai tidak berisi resource.labels.zone != has_substring("east")
!one_of Nilai bukan salah satu dari resource.labels.zone != one_of("asia-east1-b", "europe-north1-a")