Dokumen ini menjelaskan cara mengatur dan memprioritaskan insiden dengan memberinya label yang ditentukan pengguna. Label ini dikonfigurasi pada kebijakan pemberitahuan dan tercantum pada kebijakan pemberitahuan dan insiden. Bergantung pada konfigurasi Anda, label juga tercantum di notifikasi tertentu.
Tentang label
Label, yang merupakan key-value pair, digunakan untuk melampirkan informasi ke deret waktu, kebijakan pemberitahuan, insiden, atau notifikasi. Misalnya, label pada deret waktu dapat mengidentifikasi instance virtual machine (VM) tertentu tempat data dikumpulkan. Label ditentukan pengguna atau ditentukan sebelumnya.
Label buatan pengguna
Label buatan pengguna berisi informasi yang Anda tentukan. Label ini dapat memiliki nilai statis atau dinamis:
Label statis yang ditentukan pengguna memiliki nilai yang tidak dapat diubah. Anda dapat membuat label statis yang ditentukan pengguna saat mengonfigurasi kebijakan pemberitahuan menggunakan Konsol Google Cloud atau Cloud Monitoring API. Untuk informasi selengkapnya, baca dokumen berikut:
Label dinamis yang ditentukan pengguna memiliki nilai yang dapat berubah berdasarkan nilai data deret waktu. Anda dapat membuat label yang ditentukan pengguna secara dinamis saat mengonfigurasi kondisi kebijakan pemberitahuan dengan MQL. Untuk contohnya, lihat Contoh: Menambahkan label yang ditentukan pengguna dengan nilai dinamis.
Kunci label harus diawali dengan huruf kecil. Kunci label dan nilai label hanya boleh berisi huruf kecil, angka, garis bawah, dan tanda hubung.
Label standar
Label standar disertakan dalam deskripsi resource; label ini harus diisi saat data deret waktu ditulis. Label ini menampilkan informasi tentang metrik yang dikumpulkan atau resource tempat metrik ditulis. Misalnya, label pada deret waktu dapat mengidentifikasi virtual machine (VM), zona, project Google Cloud, dan jenis perangkat. Saat Monitoring membuat insiden berdasarkan deret waktu tersebut, insiden akan mewarisi label tersebut.
Cara melihat label
Anda dapat melihat label kebijakan pemberitahuan atau insiden di halaman detail insiden, halaman detail kebijakan pemberitahuan, dan di beberapa notifikasi.
- Kebijakan pemberitahuan: Label statis yang ditentukan pengguna tercantum di bagian Label Pengguna. Label yang ditentukan pengguna secara dinamis dan label bawaan tidak terlihat.
- Insiden: Label yang ditentukan pengguna statis tercantum di bagian Label Kebijakan, dan label yang ditentukan pengguna dinamis tercantum di bagian Label Metrik. Label standar tercantum di bagian Label Resource yang Dimonitor dan Label Metrik.
Notifikasi: Label standar dan label yang ditentukan pengguna tercantum dalam jenis notifikasi berikut:
- Google Chat
- PagerDuty
- Pub/Sub
- Webhook
Contoh: Menambahkan label buatan pengguna dengan nilai dinamis
Anda dapat menggunakan MQL untuk mengonfigurasi label sehingga nilainya
berubah secara dinamis berdasarkan data deret waktu. Misalnya, Anda ingin
insiden memiliki label criticality
yang nilainya berubah
bergantung pada nilai metrik penggunaan CPU yang dipantau:
fetch gce_instance
| metric 'compute.googleapis.com/instance/cpu/utilization'
| group_by sliding(5m), [value_utilization_mean: mean(value.utilization)]
| map
add[
criticality:
if(val() >= 90 '%', 'CRITICAL',
if(val() >= 80 '%', 'WARNING',
if(val() >= 70 '%', 'INFO', 'GOOD')))
]
| condition val() >= 70 '%'
Gambar berikut mengilustrasikan cara kebijakan pemberitahuan yang menggunakan kueri MQL memproses data deret waktu yang dipantaunya:
Pemroses kebijakan memproses data penggunaan CPU dan menghasilkan deret waktu yang menunjukkan kapan kondisi terpenuhi. Pada contoh sebelumnya, kondisi terpenuhi jika penggunaan CPU minimal 70%. Untuk setiap deret waktu input, pengendali kebijakan dapat menghasilkan salah satu dari empat deret waktu:
Nama deret waktu output | Kondisi terpenuhi | Deskripsi |
---|---|---|
"BAIK" | Tidak | Deret waktu ini memiliki label yang sama dengan deret waktu input. Tidak memiliki label tingkat keparahan. |
"KRITIS" | Ya | Pemakaian CPU minimal 90%. Deret waktu output memiliki label yang sama dengan deret waktu "BAIK" ditambah label tingkat keparahan dengan nilai "KRITIS". |
"WARNING" | Ya | Penggunaan CPU minimal 80%, tetapi kurang dari 90%. Deret waktu output memiliki label yang sama dengan deret waktu "BAIK" ditambah label tingkat keparahan dengan nilai "PERINGATAN". |
"INFO" | Ya | Penggunaan CPU minimal 70%, tetapi kurang dari 80%. Deret waktu output memiliki label yang sama dengan deret waktu "BAIK" ditambah label tingkat keparahan dengan nilai "INFO". |
Data deret waktu yang dihasilkan oleh pengendali kebijakan adalah input untuk
pengelola insiden, yang menentukan kapan insiden dibuat dan ditutup.
Untuk menentukan kapan harus menutup insiden, pengelola insiden menggunakan
nilai kolom duration
, evaluationMissingData
,
dan autoClose
.
Praktik terbaik
Untuk memastikan bahwa maksimal satu insiden terbuka pada satu waktu saat Anda membuat label yang nilainya ditetapkan secara dinamis, lakukan tindakan berikut:
Di objek
MetricThreshold
, ganti nilai default untuk kolom berikut:- Kolom
duration
: Tetapkan ke nilai yang bukan nol. - Kolom
evaluationMissingData
: Tetapkan agar insiden ditutup saat data berhenti masuk. Saat Anda menggunakan Cloud Monitoring API, tetapkan kolom ini keEVALUATION_MISSING_DATA_INACTIVE
. Saat Anda menggunakan konsol Google Cloud, tetapkan kolom ke "Titik data yang tidak ada diperlakukan sebagai nilai yang tidak melanggar kondisi kebijakan".
- Kolom
Di objek
AlertStrategy
, tetapkan kolomautoClose
ke nilai minimumnya, yaitu 30 menit. Saat Anda menggunakan Cloud Monitoring API, tetapkan kolom ini ke30m
.
Untuk mengetahui informasi selengkapnya, lihat Data metrik parsial.
Alur insiden
Misalkan pengukuran penggunaan CPU kurang dari 70% saat kebijakan pemberitahuan dibuat. Urutan berikut menggambarkan cara insiden dibuka dan ditutup:
Karena pengukuran penggunaan CPU kurang dari 70%, pengendali kebijakan akan menghasilkan deret waktu "BAIK" dan tidak ada insiden yang dibuka.
Selanjutnya, asumsikan bahwa penggunaan CPU naik menjadi 93%. Pengendali kebijakan berhenti menghasilkan data deret waktu "BAIK" dan mulai menghasilkan data untuk deret waktu "KRITIS".
Pengelola insiden melihat deret waktu "KRITIS" baru yang memenuhi kondisi, lalu membuka insiden. Notifikasi menyertakan label tingkat keparahan dengan nilai
CRITICAL
.Asumsikan penggunaan CPU turun menjadi 75%. Pengendali kebijakan berhenti menghasilkan deret waktu "CRITICAL" dan mulai menghasilkan deret waktu "INFO".
Pengelola insiden melihat deret waktu "INFO" baru yang memenuhi kondisi, lalu membuka insiden. Notifikasi menyertakan label tingkat keparahan dengan nilai
INFO
.Pengelola insiden melihat bahwa tidak ada data yang masuk untuk deret waktu "KRITIS" dan bahwa insiden terbuka untuk deret waktu tersebut. Karena kebijakan dikonfigurasi untuk menutup insiden saat data berhenti masuk, pengelola insiden akan menutup insiden yang terkait dengan deret waktu "KRITIS". Oleh karena itu, hanya insiden yang label tingkat keparahannya memiliki nilai
INFO
yang tetap terbuka.Terakhir, asumsikan bahwa penggunaan CPU turun menjadi 45%. Nilai ini lebih rendah dari semua nilai minimum, sehingga pengendali kebijakan berhenti menghasilkan deret waktu "INFO" dan mulai menghasilkan deret waktu "BAIK".
Pengelola insiden melihat bahwa tidak ada data yang masuk untuk deret waktu "INFO" dan bahwa insiden terbuka untuk deret waktu tersebut. Karena kebijakan menggunakan setelan yang direkomendasikan, insiden ditutup.
Jika Anda tidak menggunakan nilai yang direkomendasikan untuk kolom evaluationMissingData
, saat data berhenti masuk, insiden yang terbuka tidak akan segera ditutup.
Akibatnya, Anda mungkin melihat beberapa insiden terbuka untuk deret waktu input
yang sama. Untuk mengetahui informasi selengkapnya, lihat Data metrik parsial.
Langkah selanjutnya
- Membuat kebijakan pemberitahuan menggunakan Monitoring API
- Kebijakan pemberitahuan dengan MQL
- Menangani data metrik sebagian