Membuat kebijakan pemberitahuan nilai metrik yang diperkirakan

Dokumen ini menjelaskan cara menggunakan Konsol Google Cloud untuk membuat kebijakan pemberitahuan yang mengirim notifikasi saat kebijakan tersebut memprediksi bahwa nilai minimum akan dilanggar dalam periode perkiraan mendatang. Perkiraan memprediksi apakah deret waktu akan melanggar batas dalam periode perkiraan, yang merupakan jangka waktu di masa mendatang. Periode perkiraan dapat berkisar dari 1 jam (3.600 detik) hingga 2,5 hari (216.000 detik).

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:

Tentang kondisi perkiraan

Anda dapat menggunakan perkiraan saat memantau sebagian besar metrik. Namun, saat Anda memantau resource yang dibatasi, seperti kuota, kapasitas disk, atau penggunaan memori, kondisi perkiraan dapat memberi tahu Anda sebelum batas ini dilanggar. Kemampuan tersebut memberi Anda lebih banyak waktu untuk merespons penggunaan resource yang dibatasi tersebut sebelum batas dilanggar.

Untuk setiap deret waktu yang dipantau kondisi perkiraan, kondisi tersebut membuat instance algoritma keputusan. Setelah dilatih, algoritma tersebut akan menghasilkan perkiraan setiap kali kondisi dievaluasi. Setiap perkiraan adalah prediksi bahwa deret waktunya akan melanggar, atau tidak akan melanggar, nilai minimum dalam periode perkiraan. Jika deret waktu yang dipantau memiliki periodisitas teratur, maka algoritma keputusan untuk deret waktu tersebut akan memasukkan perilaku berkala ke dalam perkiraannya.

Kondisi perkiraan terpenuhi saat salah satu, atau kedua, hal berikut terjadi:

  • Semua nilai deret waktu selama periode durasi tertentu melanggar batas.
  • Semua perkiraan untuk deret waktu tertentu yang dibuat dalam periode durasi memprediksi bahwa deret waktu akan melanggar nilai minimum dalam periode perkiraan.

Waktu pelatihan awal untuk algoritma keputusan adalah dua kali lebih lama dari periode perkiraan. Misalnya, jika periode perkiraan adalah satu jam, maka waktu pelatihan yang diperlukan adalah dua jam. Algoritma keputusan untuk setiap deret waktu dilatih secara terpisah. Saat algoritma keputusan sedang dilatih, deret waktunya hanya memenuhi kondisi jika nilai deret waktu melanggar batas untuk periode durasi yang ditentukan.

Setelah pelatihan awal selesai, setiap algoritma keputusan terus dilatih menggunakan data yang membentang hingga enam kali panjang periode perkiraan. Misalnya, jika periode perkiraan adalah satu jam, data dari enam jam terakhir akan digunakan selama pelatihan berkelanjutan.

Jika Anda mengonfigurasi kondisi perkiraan, lalu data berhenti tiba selama lebih dari 10 menit, perkiraan akan dinonaktifkan dan kondisi tersebut beroperasi sebagai kondisi batas metrik.

Cara insiden dibuat dan dikelola untuk pemberitahuan perkiraan sama dengan cara untuk kondisi batas metrik dan tidak ada metrik. Insiden akan otomatis ditutup saat perkiraan memprediksi bahwa deret waktu tidak akan melanggar batas dalam periode perkiraan.

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 berdasarkan perkiraan, lakukan langkah 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.
      • Untuk menampilkan semua jenis metrik, bahkan yang tanpa data, klik Aktif. Secara default, menu hanya menampilkan jenis metrik dengan data. Untuk mengetahui informasi selengkapnya, lihat Metrik yang tidak tercantum dalam menu.

      Anda dapat memantau metrik bawaan atau jenis metrik yang ditentukan pengguna yang memiliki jenis nilai double atau int64, yang merupakan metrik batasan, dan yang bukan metrik untuk instance VM Amazon.

      Jika Anda memilih jenis metrik yang menyebabkan lebih dari 64 deret waktu dipantau, Monitoring akan membuat perkiraan untuk 64 deret waktu yang nilainya paling dekat dengan nilai minimum, atau yang sudah melanggar nilai minimum tersebut. Untuk deret waktu lainnya, nilainya dibandingkan dengan nilai minimum.

    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.

      Anda juga dapat memantau laju perubahan nilai metrik dengan menggunakan kolom Rolling window function untuk percent change. Untuk informasi selengkapnya, lihat Memantau laju perubahan.

    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 Perkiraan untuk jenis kondisi.

    2. Pilih nilai untuk menu Alert trigger. Menu ini memungkinkan Anda menentukan subset deret waktu yang harus melanggar nilai minimum sebelum kondisinya terpenuhi.

    3. Pilih nilai untuk Periode perkiraan. Nilai yang Anda pilih adalah jumlah waktu di masa mendatang untuk perkiraan. Anda harus menetapkan nilai ini minimal 1 jam (3.600 detik) dan maksimal 2,5 hari (216.000 detik).

    4. Masukkan saat nilai prediksi metrik yang dipilih melanggar batas dengan menggunakan kolom Posisi batas dan Nilai minimum. Misalnya, jika Anda menetapkan nilai ini ke Di atas nilai minimum dan 10, nilai prediksi apa pun yang lebih tinggi dari 10 akan melanggar nilai minimum tersebut.

    5. Opsional: Luaskan Advanced options lalu tetapkan nilai Retest window. Nilai default kolom ini adalah Tidak ada tes ulang. Sebaiknya tetapkan kolom ini minimal ke 10 menit.

      Misalnya, Anda mengonfigurasi kondisi perkiraan sehingga deret waktu apa pun dapat menyebabkan kondisi terpenuhi. Anggaplah Periode pengujian ulang disetel ke 15 menit, Periode perkiraan disetel ke 1 jam, dan pelanggaran akan terjadi jika nilai deret waktu lebih tinggi dari Threshold yang ditetapkan ke 10. Kondisi ini terpenuhi jika salah satu dari hal berikut terjadi:

      • Semua nilai deret waktu menjadi lebih tinggi dari 10 dan tetap di sana selama setidaknya 15 menit.
      • Dalam interval 15 menit, setiap perkiraan untuk satu deret waktu memprediksi bahwa nilainya akan naik lebih tinggi dari nilai minimum 10 dalam satu jam ke depan.
    6. Opsional: Untuk menentukan cara Monitoring mengevaluasi kondisi saat data tidak lagi tiba, luaskan Advanced options, lalu gunakan menu Evaluation missing data.

      Menu Evaluation missing data dinonaktifkan jika nilai Retest window adalah No retest.

      Jika data tidak ada selama lebih dari 10 menit, kondisi perkiraan berhenti membuat perkiraan dan menggunakan nilai kolom Evaluasi data yang hilang untuk menentukan cara mengelola insiden. Saat pengamatan dimulai ulang, perkiraan dimulai ulang.

      Google Cloud Console
      Kolom "Evaluasi data yang hilang"
      Ringkasan Detail
      Data tidak ada kosong Insiden terbuka tetap terbuka.
      Insiden baru tidak dibuka.

      Untuk kondisi yang terpenuhi, kondisi tersebut akan terus terpenuhi saat data berhenti tiba. Jika terbuka untuk kondisi ini, insiden tersebut akan tetap terbuka. Saat insiden terbuka dan tidak ada data yang diterima, timer tutup otomatis akan dimulai setelah penundaan setidaknya 15 menit. Jika timer berakhir, insiden akan ditutup.

      Untuk kondisi yang tidak terpenuhi, kondisi tersebut tetap tidak akan terpenuhi saat data berhenti tiba.

      Titik data yang tidak ada diperlakukan sebagai nilai yang melanggar ketentuan kebijakan Insiden terbuka tetap terbuka.
      Insiden baru dapat dibuka.

      Untuk kondisi yang terpenuhi, kondisi tersebut akan terus terpenuhi saat data berhenti tiba. Jika terbuka untuk kondisi ini, insiden tersebut akan tetap terbuka. Saat insiden terbuka dan tidak ada data yang masuk untuk durasi penutupan otomatis ditambah 24 jam, insiden tersebut akan ditutup.

      Untuk kondisi yang tidak terpenuhi, setelan ini menyebabkan kondisi batas metrik berperilaku seperti metric-absence condition. Jika data tidak muncul pada waktu yang ditentukan oleh periode pengujian ulang, kondisi akan dievaluasi sebagai terpenuhi. Untuk kebijakan pemberitahuan dengan satu kondisi, kondisi yang terpenuhi menyebabkan insiden dibuka.

      Titik data yang tidak ada diperlakukan sebagai nilai yang tidak melanggar ketentuan kebijakan Insiden terbuka ditutup.
      Insiden baru tidak dibuka.

      Untuk kondisi yang terpenuhi, kondisi akan berhenti terpenuhi saat data berhenti tiba. Jika terbuka untuk kondisi ini, berarti insiden tersebut ditutup.

      Untuk kondisi yang tidak terpenuhi, kondisi tersebut tetap tidak akan terpenuhi saat data berhenti tiba.

    7. 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")

Memecahkan masalah

Bagian ini berisi tips pemecahan masalah.

Metrik tidak tercantum di menu metrik yang tersedia

Untuk memantau metrik yang tidak tercantum di menu Select a metric, lakukan salah satu tindakan berikut:

  • Untuk membuat kebijakan pemberitahuan yang memantau metrik Google Cloud, luaskan menu Select a metric, lalu klik Active. Jika dinonaktifkan, menu akan mencantumkan semua metrik untuk layanan Google Cloud, dan semua metrik dengan data.

  • Guna mengonfigurasi kondisi untuk jenis metrik kustom sebelum jenis metrik tersebut menghasilkan data, Anda harus menentukan jenis metrik dengan menggunakan filter Monitoring:

    1. Pilih ? di header bagian Select metric, lalu pilih Direct filter mode di tooltip.
    2. Masukkan filter pemantauan atau pemilih deret waktu. Untuk mengetahui informasi tentang sintaksis, lihat dokumen berikut:

Memantau laju perubahan

Untuk memantau laju perubahan nilai metrik, tetapkan kolom Rolling window function ke percent change, lalu Monitoring membandingkan laju perubahan metrik dengan ambang batas. Saat Anda memilih fungsi percent change, Monitoring akan melakukan hal berikut:

  1. Jika deret waktu memiliki jenis metrik DELTA atau CUMULATIVE, deret waktu akan dikonversi menjadi deret waktu yang memiliki jenis metrik GAUGE. Untuk informasi tentang konversi, lihat Jenis, jenis, dan konversi.
  2. Menghitung persentase yang diubah dengan membandingkan nilai rata-rata dalam periode 10 menit terakhir dengan nilai rata-rata dari periode 10 menit sebelum periode pengujian ulang.

Periode lihat balik 10 menit adalah nilai tetap; Anda tidak dapat mengubahnya. Namun, Anda menentukan periode pengujian ulang saat membuat kondisi.

Pembatasan

  • Anda dapat mengonfigurasi kondisi dengan menggunakan antarmuka berbasis menu di Google Cloud Console atau dengan menggunakan filter Monitoring. Anda tidak dapat mengonfigurasi kondisi menggunakan Bahasa Kueri Monitoring atau PromQL.
  • Semua metrik yang memiliki jenis nilai double atau int64 didukung, kecuali yang berasal dari instance VM Amazon.

Langkah selanjutnya