Dokumen ini menjelaskan cara menggunakan konsol Google Cloud untuk membuat kebijakan pemberitahuan yang mengirim notifikasi saat deret waktu yang dipantau tidak memiliki data selama jangka waktu tertentu.
Kondisi ketiadaan metrik memerlukan setidaknya satu pengukuran yang berhasil — pengukuran yang mengambil data — dalam jangka waktu maksimum setelah kebijakan diinstal atau diubah. Jangka waktu ini disebut waktu ketidakhadiran pemicu. Waktu ketidakhadiran pemicu maksimum yang dapat dikonfigurasi adalah 23,5 jam.
Misalnya, Anda menetapkan waktu ketidakhadiran pemicu dalam kebijakan ketidakhadiran metrik ke 30 menit. Kondisi ini tidak akan terpenuhi jika subsistem yang menulis data metrik belum pernah menulis titik data. Subsistem perlu mengekspor minimal satu titik data, lalu gagal mengekspor 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 berikut:
- Cara mendapatkan notifikasi saat nilai metrik lebih besar dari, atau lebih kecil dari, batas. Untuk mengetahui informasi selengkapnya, lihat Membuat kebijakan pemberitahuan batas metrik.
- Cara mendapatkan notifikasi berdasarkan nilai prediksi metrik. Untuk informasi selengkapnya, lihat Membuat kebijakan pemberitahuan nilai metrik yang diperkirakan.
Cara membuat kebijakan pemberitahuan menggunakan Cloud Monitoring API. Untuk informasi selengkapnya, lihat Membuat kebijakan pemberitahuan menggunakan API.
Cara membuat kebijakan pemberitahuan yang kondisinya menyertakan kueri Monitoring Query Language (MQL). Kebijakan ini dapat menggunakan nilai minimum statis atau dinamis. Untuk informasi selengkapnya, baca dokumen berikut:
Sebelum memulai
-
Untuk mendapatkan izin yang diperlukan 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 informasi selengkapnya tentang peran Cloud Monitoring, lihat Mengontrol akses dengan Identity and Access Management.
Pastikan Anda sudah memahami konsep umum kebijakan pemberitahuan. Untuk informasi tentang topik ini, lihat Ringkasan pemberitahuan.
Konfigurasikan saluran notifikasi yang ingin Anda gunakan untuk menerima notifikasi. 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 mengirim notifikasi saat deret waktu yang dipantau tidak memiliki data untuk waktu tidak ada pemicu tertentu, lakukan hal berikut:
-
Di konsol Google Cloud, buka halaman notifications Alerting:
Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Monitoring.
- Pilih Create policy.
Pilih deret waktu yang akan dipantau:
Klik Select a metric, buka 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 filter_list.
Misalnya, jika Anda memasukkan
util
, Anda akan membatasi menu untuk menampilkan entri yang menyertakanutil
. Entri ditampilkan jika lulus pengujian "berisi" yang tidak peka huruf besar/kecil.
Anda dapat memantau metrik bawaan atau metrik yang ditentukan pengguna.
- Untuk menemukan jenis metrik tertentu, gunakan
Panel filter filter_list.
Misalnya, jika Anda memasukkan
Opsional: Untuk memantau subset deret waktu yang cocok dengan metrik dan jenis resource yang Anda pilih di langkah sebelumnya, klik Tambahkan 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 denganus
dan diakhiri dengana
. Untuk informasi selengkapnya, lihat Memfilter deret waktu yang dipilih.Opsional: Untuk mengubah cara penyelarasan titik dalam deret waktu, di bagian Transform data, tetapkan kolom Rolling window dan Rolling window function.
Jika Anda memantau metrik berbasis log, sebaiknya menu Periode rolling disetel ke minimal 10 menit.
Kolom ini menentukan cara menggabungkan titik yang dicatat dalam jendela. Misalnya, asumsikan bahwa 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: regulasi dalam seri.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 dapat menghitung rata-rata penggunaan 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:
- Di bagian Sepanjang deret waktu, klik expand_more Luaskan.
- Tetapkan kolom Agregasi deret waktu ke nilai selain
none
. Misalnya, untuk menampilkan nilai rata-rata deret waktu, pilihmean
. - Pastikan kolom Time series group by kosong.
Untuk menggabungkan, atau mengelompokkan, deret waktu menurut nilai label, lakukan hal berikut:
- Di bagian Sepanjang deret waktu, klik expand_more Luaskan.
- Tetapkan kolom Agregasi deret waktu ke nilai selain
none
. - Di kolom Time series group by, pilih label yang akan digunakan untuk mengelompokkan.
Misalnya, jika Anda mengelompokkan menurut label
zone
, lalu menetapkan kolom agregasi ke nilaimean
, 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.Klik Berikutnya.
Konfigurasikan pemicu kondisi:
Pilih Metric absence untuk jenis kondisi.
Opsional: Perbarui menu Pemicu pemberitahuan, yang memiliki nilai berikut:
Deret waktu mana pun melanggar: Setelan default. Setiap deret waktu dengan data yang tidak ada selama seluruh waktu tidak ada pemicu akan menyebabkan kondisi terpenuhi.
Persentase deret waktu melanggar: Persentase deret waktu harus memiliki data tidak ada untuk seluruh waktu tidak ada pemicu sebelum kondisi terpenuhi. Misalnya, Anda dapat menerima notifikasi saat 50% deret waktu yang dipantau tidak memiliki data untuk seluruh waktu tidak ada pemicu.
Jumlah deret waktu yang melanggar: Jumlah deret waktu tertentu harus memiliki data yang tidak ada selama seluruh waktu tidak ada pemicu sebelum kondisi terpenuhi. Misalnya, Anda dapat menerima notifikasi saat 32 deret waktu yang dipantau tidak memiliki data untuk seluruh waktu tidak ada pemicu.
Semua deret waktu melanggar: Semua deret waktu harus memiliki data tidak ada untuk seluruh waktu tidak ada pemicu sebelum kondisi terpenuhi.
Untuk informasi tentang interval yang digunakan Monitoring untuk menyelaraskan dan mengukur data deret waktu, lihat Periode penyelarasan dan periode pengujian ulang.
Tentukan berapa lama data metrik harus tidak ada sebelum Monitoring memberi tahu Anda menggunakan kolom Waktu tidak ada pemicu.
Klik Berikutnya.
Opsional: Buat kebijakan pemberitahuan dengan beberapa kondisi.
Sebagian besar kebijakan memantau satu jenis metrik, misalnya, kebijakan mungkin 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 informasinya, lihat Kebijakan dengan beberapa kondisi.
Untuk membuat kebijakan pemberitahuan dengan beberapa kondisi, lakukan langkah berikut:
- Untuk setiap kondisi tambahan, klik Tambahkan kondisi pemberitahuan, lalu konfigurasikan kondisi tersebut.
- Klik Berikutnya dan konfigurasi cara kondisi digabungkan.
- Klik Berikutnya untuk melanjutkan ke penyiapan notifikasi dan dokumentasi.
Konfigurasikan notifikasi:
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.
Opsional: Untuk menerima notifikasi saat insiden ditutup, pilih Beri tahu saat insiden ditutup. Secara default, saat Anda membuat kebijakan pemberitahuan dengan konsol Google Cloud, notifikasi hanya dikirim saat insiden dibuat.
Opsional: Untuk mengubah durasi tunggu Monitoring sebelum menutup insiden setelah data berhenti masuk, pilih opsi dari menu Incident autoclose duration. Secara default, saat data berhenti masuk, Monitoring akan menunggu tujuh hari sebelum menutup insiden yang terbuka.
Pilih opsi dari menu Tingkat keparahan kebijakan. Insiden dan notifikasi menampilkan tingkat keparahan.
Opsional: Untuk menambahkan label kustom ke kebijakan pemberitahuan, di bagian Label pengguna kebijakan, lakukan hal berikut:
- Klik Tambahkan label, dan 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
. - 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 Menambahkan anotasi pada insiden dengan label.
- Klik Tambahkan label, dan 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
Opsional: Di bagian Documentation, masukkan konten apa pun yang ingin Anda sertakan dengan 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 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. Template dokumentasi kemudian mengarahkan pembaca ke halaman eksternal untuk membantu proses debug.Saat notifikasi dibuat, Monitoring akan mengganti variabel dokumentasi dengan nilainya. Nilai tersebut hanya menggantikan variabel 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
Untuk informasi selengkapnya, lihat Menambahkan anotasi pada notifikasi dengan dokumentasi yang ditentukan pengguna dan Menggunakan kontrol saluran.
Klik Alert name dan masukkan nama untuk kebijakan pemberitahuan itu.
Klik Create policy.
Memfilter deret waktu yang dipilih
Filter memastikan bahwa hanya deret waktu yang memenuhi beberapa kumpulan 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 kumpulan kriteria yang digunakan. Saat Anda menerapkan filter, akan ada lebih sedikit deret waktu yang dievaluasi, yang 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 apa pun 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 akan dipantau.
Untuk menambahkan filter, klik Tambahkan filter, lengkapi dialog, lalu klik Selesai. Dalam dialog, Anda menggunakan kolom Filter untuk memilih kriteria yang akan digunakan untuk memfilter, memilih operator perbandingan, lalu memilih nilai. Setiap baris dalam tabel berikut mencantumkan operator perbandingan, maknanya, dan contohnya:
Operator | Arti | Contoh |
---|---|---|
= |
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") |