Membuat kebijakan pemberitahuan tanpa metrik

Dokumen ini menjelaskan cara menggunakan konsol Google Cloud untuk membuat kebijakan pemberitahuan yang mengirim notifikasi saat deret waktu yang dipantau tidak memiliki data untuk jangka waktu tertentu.

Kondisi tidak adanya metrik memerlukan setidaknya satu pengukuran yang berhasil — yang mengambil data — dalam jangka waktu maksimum setelah kebijakan diinstal atau diubah. Periode waktu ini disebut waktu tidak adanya pemicu. Waktu tidak adanya pemicu maksimum yang dapat dikonfigurasi adalah 23,5 jam.

Misalnya, Anda menetapkan waktu tidak ada pemicu dalam kebijakan tidak ada metrik menjadi 30 menit. Kondisi tidak akan terpenuhi jika subsistem yang menulis data metrik belum pernah menulis titik data. Subsistem harus menghasilkan setidaknya satu titik data, lalu gagal menghasilkan 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 Anda, lihat Memantau log Anda.

Dokumen ini tidak menjelaskan hal berikut:

Fitur ini hanya didukung untuk Google Cloud project. Untuk konfigurasi App Hub, pilih project host App Hub atau project pengelolaan folder yang mendukung aplikasi.

Sebelum memulai

  1. Untuk mendapatkan izin yang Anda perlukan guna 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 ke project, folder, dan organisasi.

    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 notifikasi. Untuk tujuan redundansi, sebaiknya buat beberapa jenis saluran notifikasi. Untuk mengetahui 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 untuk waktu tidak adanya pemicu tertentu, lakukan hal berikut:

  1. Di konsol Google Cloud , buka halaman  Pemberitahuan:

    Buka Alerting

    Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Monitoring.

  2. Di toolbar konsol Google Cloud , pilih Google Cloud project Anda. Untuk konfigurasi App Hub, pilih project host App Hub atau project pengelolaan folder yang mendukung aplikasi.
  3. Pilih Buat kebijakan.
  4. Pilih deret waktu yang akan dipantau:

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

      Menu Pilih metrik berisi fitur yang membantu Anda menemukan jenis metrik yang tersedia:

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

      Anda dapat memantau metrik bawaan atau metrik yang ditentukan pengguna.

    2. Opsional: Untuk memantau subset deret waktu yang cocok dengan jenis metrik dan resource yang Anda pilih pada langkah sebelumnya, klik Tambahkan filter. Pada 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 mengetahui informasi selengkapnya, lihat Memfilter deret waktu yang dipilih.

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

      Jika Anda memantau metrik berbasis log, sebaiknya menu Jendela geser disetel ke minimal 10 menit.

      Kolom ini menentukan cara menggabungkan titik yang direkam dalam jendela. Misalnya, anggap periode waktunya adalah 15 menit dan fungsi periode waktunya adalah max. Titik yang diselaraskan adalah nilai maksimum dari semua titik dalam 15 menit terakhir. Untuk mengetahui informasi selengkapnya, lihat Perataan: regularisasi dalam deret.

    4. Opsional: Gabungkan deret waktu jika Anda ingin mengurangi jumlah deret waktu yang dipantau oleh kebijakan, atau jika Anda hanya ingin memantau kumpulan deret waktu. Misalnya, daripada memantau penggunaan CPU setiap instance VM, Anda mungkin ingin menghitung rata-rata penggunaan CPU untuk semua VM dalam suatu 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 seluruh 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 Kelompokkan deret waktu menurut kosong.

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

      1. Di bagian Di seluruh deret waktu, klik Luaskan.
      2. Tetapkan kolom Agregasi deret waktu ke nilai selain none.
      3. Di kolom Kelompokkan deret waktu menurut, pilih label yang akan digunakan untuk pengelompokan.

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

    5. Klik Berikutnya.

  5. Konfigurasi pemicu kondisi:

    1. Pilih Metric absence untuk jenis kondisi.

    2. Opsional: Perbarui menu Pemicu pemberitahuan, yang memiliki nilai berikut:

      • Deret waktu mana pun melanggar: Setelan default. Deret waktu apa pun yang tidak memiliki data selama seluruh waktu tidak adanya pemicu akan menyebabkan kondisi terpenuhi.

      • Persen deret waktu yang melanggar: Persentase deret waktu harus memiliki data yang tidak ada untuk seluruh waktu tidak adanya pemicu sebelum kondisi terpenuhi. Misalnya, Anda dapat menerima notifikasi saat 50% deret waktu yang dipantau tidak memiliki data selama waktu tidak adanya pemicu.

      • Jumlah deret waktu yang melanggar: Sejumlah deret waktu tertentu harus tidak memiliki data selama waktu tidak adanya pemicu secara keseluruhan sebelum kondisi terpenuhi. Misalnya, Anda dapat diberi tahu saat 32 deret waktu yang dipantau tidak memiliki data selama waktu tidak adanya pemicu.

      • Semua deret waktu melanggar: Semua deret waktu harus memiliki data yang tidak ada selama seluruh waktu tidak adanya pemicu sebelum kondisi terpenuhi.

      Untuk mengetahui informasi tentang interval yang digunakan Monitoring untuk menyelaraskan dan mengukur data deret waktu, lihat Periode penyelarasan dan periode pengujian ulang.

    3. Tentukan durasi data metrik harus tidak ada sebelum Monitoring memberi tahu Anda menggunakan kolom Waktu pemicu tidak ada.

    4. Klik Berikutnya.

  6. Opsional: Buat kebijakan pemberitahuan dengan beberapa kondisi.

    Sebagian besar kebijakan memantau satu jenis metrik, misalnya, kebijakan dapat 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, Anda menentukan cara menggabungkan kondisi. Untuk mengetahui informasi, lihat Kebijakan dengan beberapa kondisi.

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

    1. Untuk setiap kondisi tambahan, klik Tambahkan kondisi pemberitahuan, lalu konfigurasi kondisi tersebut.
    2. Klik Berikutnya dan konfigurasi cara menggabungkan kondisi.
    3. Klik Berikutnya untuk melanjutkan ke penyiapan notifikasi dan dokumentasi.
  7. Konfigurasi notifikasi dan tambahkan label pengguna:

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

    2. Opsional: Untuk menggunakan baris subjek kustom dalam notifikasi, bukan default, perbarui kolom Baris subjek notifikasi.

    3. Opsional: Untuk menerima notifikasi saat insiden ditutup, pilih Notify on incident closure. Secara default, saat Anda membuat kebijakan pemberitahuan dengan konsol Google Cloud , notifikasi hanya dikirim saat insiden dibuat.

    4. Opsional: Untuk mengubah berapa lama Monitoring menunggu sebelum menutup insiden setelah data berhenti tiba, pilih opsi dari menu Incident autoclose duration. Secara default, saat data berhenti masuk, Monitoring akan menunggu selama tujuh hari sebelum menutup insiden yang terbuka.

    5. Opsional: Untuk mengaitkan kebijakan pemberitahuan dengan aplikasi App Hub, di bagian Label aplikasi, pilih aplikasi dan layanan atau beban kerja. Insiden dan notifikasi menampilkan label ini.

    6. Opsional: Pilih opsi dari menu Tingkat keseriusan kebijakan. Insiden dan notifikasi menampilkan tingkat keparahan.

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

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

      Untuk mengetahui informasi tentang cara menggunakan label kebijakan untuk membantu Anda mengelola notifikasi, lihat Menganotasi insiden dengan label.

  8. Opsional: Di bagian Dokumentasi, masukkan konten apa pun yang ingin Anda sertakan dalam notifikasi.

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

    Saat notifikasi dibuat, Monitoring akan mengganti variabel dokumentasi dengan nilainya. Nilai menggantikan variabel hanya dalam notifikasi. Panel pratinjau dan tempat lain di konsol Google Cloud hanya menampilkan pemformatan 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 ditampilkan dalam notifikasi.

    Untuk mengetahui informasi selengkapnya, lihat Anotasi notifikasi dengan dokumentasi yang ditentukan pengguna dan Menggunakan kontrol channel.

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

  10. Klik Create policy.

Memfilter deret waktu yang dipilih

Filter memastikan bahwa hanya deret waktu yang memenuhi beberapa set kriteria yang dipantau. Saat menerapkan filter, Anda dapat mengurangi jumlah garis 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 beberapa set kriteria yang digunakan. Saat Anda menerapkan filter, ada lebih sedikit deret waktu yang perlu dievaluasi, sehingga dapat meningkatkan performa pemberitahuan.

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

Saat memfilter menurut 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 menurut grup resource.

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

Untuk menambahkan filter, klik Tambahkan filter, lengkapi dialog, lalu klik Selesai. Dalam dialog, Anda menggunakan kolom Filter untuk memilih kriteria yang akan difilter, memilih operator perbandingan, lalu memilih nilai. Setiap baris dalam tabel berikut mencantumkan operator perbandingan, artinya, dan contoh:

OperatorArtiContoh
= Equality resource.labels.zone = "us-central1-a"
!= Ketidaksetaraan resource.labels.zone != "us-central1-a"
=~ Kesamaan Regular expression2 monitoring.regex.full_match("^us.*")
!=~ Ketidaksetaraan Regular expression2 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")