Buat grup yang berisi aturan pemberitahuan untuk metrik atau log project Anda di konsol GDC. Aturan metrik mengirimkan pemberitahuan berdasarkan data metrik, dan aturan log mengirimkan pemberitahuan berdasarkan data logging. Anda harus memasukkan ekspresi bahasa kueri yang menentukan apakah pemberitahuan harus berpindah ke status tertunda. Selain itu, Anda dapat menyertakan nilai opsional seperti label dan anotasi.
Label memungkinkan Anda membedakan karakteristik pemberitahuan sebagai peta pasangan nilai kunci. Gunakan label untuk menambahkan atau mengganti informasi, seperti tingkat keparahan (error, kritis, peringatan, atau informasi), kode pemberitahuan, dan nama singkat untuk mengidentifikasi resource.
Di sisi lain, gunakan anotasi untuk menambahkan metadata yang tidak mengidentifikasi ke pemberitahuan. Misalnya, Anda dapat menyertakan nilai untuk pesan dan ekspresi yang ditampilkan di kolom antarmuka pengguna (UI) atau URL runbook untuk membantu tindakan penyelesaian.
Atau, Anda dapat membuat aturan pemberitahuan menggunakan Observability API untuk berinteraksi langsung dengan resource kustom dan memperbarui perubahan di namespace project Anda.
Sebelum memulai
Sebelum melanjutkan, pastikan Anda memiliki izin yang diperlukan berikut:
Membuat aturan pemberitahuan berdasarkan log
Untuk mendapatkan izin yang Anda perlukan guna membuat atau melihat aturan pemberitahuan berdasarkan log, minta Admin IAM Project Anda untuk memberi Anda salah satu peran berikut di namespace project Anda:
- Pembuat Aturan Logging: membuat
LoggingRule
resource kustom. Minta peran Pembuat Aturan Logging (loggingrule-creator
). - Editor Aturan Logging: mengedit atau mengubah
LoggingRule
resource kustom. Minta peran Logging Rule Editor (loggingrule-editor
). - Logging Rule Viewer: melihat resource kustom
LoggingRule
. Minta peran Logging Rule Viewer (loggingrule-viewer
).
Membuat aturan pemberitahuan berdasarkan metrik
Untuk mendapatkan izin yang Anda perlukan guna membuat atau melihat aturan pemberitahuan berdasarkan metrik, minta Admin IAM Project Anda untuk memberi Anda salah satu peran berikut di namespace project Anda:
- Editor Aturan Pemantauan: mengedit atau mengubah
MonitoringRule
resource kustom. Minta peran Editor Aturan Pemantauan (monitoringrule-editor
). - Monitoring Rule Viewer: melihat
MonitoringRule
resource kustom. Minta peran Monitoring Rule Viewer (monitoringrule-viewer
).
Untuk mengetahui informasi selengkapnya tentang penetapan peran, lihat Deskripsi peran bawaan.
Membuat aturan
Anda dapat membuat aturan pemberitahuan menggunakan konsol GDC, yang merupakan metode pilihan, atau dengan men-deploy resource kustom menggunakan Observability API di namespace project Anda.
Konsol
Ikuti langkah-langkah berikut untuk membuat aturan pemberitahuan dari konsol GDC:
- Di konsol GDC, pilih project.
- Di menu navigasi, klik Operations > Alerting.
- Klik tab Alerting Policy.
- Klik Buat Grup Aturan.
- Pilih apakah Anda ingin membuat grup untuk Metrik atau Log. Aturan metrik mengirimkan pemberitahuan berdasarkan data pemantauan sistem dan aturan logging mengirimkan pemberitahuan berdasarkan data logging sistem.
- Di kolom Nama grup aturan pemberitahuan, masukkan nama untuk grup.
- Di kolom Interval evaluasi aturan, masukkan jumlah detik untuk setiap interval.
- Di kolom Batas, masukkan jumlah maksimum pemberitahuan. Masukkan
0
untuk pemberitahuan tak terbatas. - Di bagian Alert rules, klik Create Alert Rule.
- Masukkan nama untuk aturan pemberitahuan.
Masukkan ekspresi untuk aturan pemberitahuan:
- Untuk aturan logging sistem, masukkan ekspresi LogQL (Bahasa Kueri Log).
- Untuk aturan pemantauan sistem, masukkan ekspresi PromQL (Prometheus Query Language).
Ekspresi ini harus dievaluasi ke pernyataan benar atau salah, yang menentukan apakah pemberitahuan harus berpindah ke status tertunda atau tidak.
Di kolom Durasi, masukkan jumlah detik untuk menentukan kapan pemberitahuan aktif beralih dari status tertunda ke status terbuka. Catatan: Jika Anda menyetel durasi ke nilai
0
, sistem Observabilitas akan mengirimkan pemberitahuan segera setelah kondisi terpenuhi.Di kolom Tingkat Keseriusan, pilih tingkat keseriusan, seperti Error atau Peringatan.
Masukkan nama pendek untuk mengidentifikasi resource terkait, seperti
AIS
atauDHCP
.Masukkan kode pemberitahuan untuk mengidentifikasi pemberitahuan.
Masukkan URL atau informasi runbook untuk membantu menyelesaikan masalah.
Masukkan pesan atau deskripsi pemberitahuan.
Opsional: Klik Tambahkan label untuk menambahkan label sebagai pasangan nilai kunci.
Opsional: Klik Tambahkan anotasi untuk menambahkan anotasi sebagai pasangan nilai kunci.
Klik Simpan untuk membuat aturan.
Klik Buat untuk membuat grup aturan. Grup aturan muncul dalam daftar Grup aturan pemberitahuan.
API
Anda dapat membuat aturan pemantauan dan pencatatan log sistem di GDC menggunakan Observability API dengan men-deploy resource kustom. Resource kustom MonitoringRule
atau LoggingRule
terdiri dari satu atau beberapa kueri dan ekspresi untuk membentuk kondisi, frekuensi evaluasi, dan, secara opsional, durasi kondisi terpenuhi.
Ikuti langkah-langkah berikut untuk membuat aturan pemberitahuan dengan men-deploy resource kustom di namespace project Anda:
- Buat file YAML untuk resource kustom menggunakan template berikut untuk aturan pemberitahuan pemantauan atau logging:
- Untuk membuat aturan pemantauan sistem dan mengirim pemberitahuan berdasarkan data metrik, gunakan resource kustom
MonitoringRule
. - Untuk membuat aturan logging sistem dan mengirim pemberitahuan berdasarkan data logging, gunakan resource kustom
LoggingRule
.
- Untuk membuat aturan pemantauan sistem dan mengirim pemberitahuan berdasarkan data metrik, gunakan resource kustom
- Di kolom
namespace
resource kustom, masukkan namespace project Anda. - Di kolom
name
, masukkan nama untuk konfigurasi aturan pemberitahuan. - Opsional: Jika Anda mengonfigurasi resource kustom
LoggingRule
untuk aturan logging, Anda dapat memilih sumber log untuk pemberitahuan di kolomsource
. Misalnya, masukkan nilai sepertioperational
atauaudit
. - Di kolom
interval
, masukkan jumlah detik untuk durasi interval evaluasi aturan. - Opsional: Di kolom
limit
, masukkan jumlah maksimum pemberitahuan. Masukkan0
untuk pemberitahuan tak terbatas. Opsional: Jika Anda juga ingin menghitung metrik dan mengonfigurasi aturan perekaman, masukkan informasi berikut di kolom
recordRules
:- Di kolom
record
, masukkan nama rekaman. Nilai ini menentukan deret waktu tempat aturan perekaman akan ditulis dan harus berupa nama metrik yang valid. Di kolom
expr
, masukkan ekspresi untuk aturan perekaman:- Untuk aturan logging sistem, masukkan ekspresi LogQL (Bahasa Kueri Log).
- Untuk aturan pemantauan sistem, masukkan ekspresi PromQL (Prometheus Query Language).
Ekspresi ini harus diselesaikan ke nilai numerik untuk direkam sebagai metrik baru.
Opsional: Di kolom
labels
, tentukan label yang ingin Anda tambahkan atau ganti sebagai pasangan nilai kunci.
- Di kolom
Di kolom
alertRules
, masukkan informasi berikut untuk mengonfigurasi aturan pemberitahuan:- Di kolom
alert
, masukkan nama pemberitahuan. Di kolom
expr
, masukkan ekspresi untuk aturan pemberitahuan:- Untuk aturan pembuatan log sistem, masukkan ekspresi LogQL.
- Untuk aturan pemantauan sistem, masukkan ekspresi PromQL.
Ekspresi ini harus dievaluasi ke pernyataan benar atau salah, yang menentukan apakah pemberitahuan harus berpindah ke status tertunda atau tidak.
Opsional: Di kolom
for
, masukkan durasi dalam detik yang diperlukan agar kondisi yang ditentukan terpenuhi untuk memindahkan pemberitahuan dari status tertunda ke status terbuka. Durasi default jika Anda tidak menentukan nilai lain adalah0
detik.Di kolom
labels
, tentukan label yang ingin Anda tambahkan atau ganti sebagai pasangan nilai kunci. Label berikut wajib ada:severity
: Pilih tingkat keparahan, sepertierror
,critical
,warning
, atauinfo
.code
: Masukkan kode pemberitahuan untuk mengidentifikasi pemberitahuan.resource
: Masukkan nama singkat untuk mengidentifikasi resource terkait, sepertiAIS
atauDHCP
.
Opsional: Di kolom
annotations
, tambahkan anotasi sebagai pasangan nilai kunci.
- Di kolom
Simpan file YAML resource kustom.
Deploy resource kustom di namespace project cluster admin untuk membuat aturan pemberitahuan.
Mengonfigurasi aturan logging dan pemantauan sistem dari resource kustom
Bagian ini berisi template YAML yang harus Anda gunakan untuk membuat aturan pemberitahuan dengan men-deploy resource kustom. Jika membuat notifikasi dari konsol GDC, Anda dapat melewati bagian ini.
Resource kustom MonitoringRule
Untuk membuat aturan pemantauan sistem, Anda harus membuat resource kustom MonitoringRule
. MonitoringRule
terdiri dari aturan perekaman dan aturan pemberitahuan yang menjelaskan kondisi untuk mengirimkan pemberitahuan.
File YAML berikut menunjukkan template resource kustom MonitoringRule
:
# Configures either an alert or a target record for precomputation
apiVersion: monitoring.gdc.goog/v1
kind: MonitoringRule
metadata:
# Choose namespace that matches the project namespace
# Note: The alert or record will be produced in the same namespace
namespace: PROJECT_NAMESPACE
name: alerting-config
spec:
# Rule evaluation interval
interval: 60s
# Configure limit for number of alerts (0: no limit)
# Optional. Default: 0 (no limit)
limit: 0
# Configure recording rules to generate new metrics based on pre-existing metrics.
# Recording rules precompute expressions that are frequently needed or computationally expensive.
# These rules save their result as a new set of time series.
recordRules:
# Define which timeseries to write to. The value must be a valid metric name.
- record: MyMetricsName
# Define PromQL expression to evaluate for this rule
expr: rate({service_name="bob-service"} [1m])
# Define labels to add or overwrite
# Optional. Map of key-value pairs
labels:
<label_key>: <label_value>
# Configure alert rules
alertRules:
# Define alert name
- alert: <string>
# Define PromQL expression to evaluate for this rule
# https://prometheus.io/docs/prometheus/latest/configuration/alerting_rules/
expr: rate({service_name="bob-service"} [1m])
# Define when an active alert moves from pending to open
# Optional. Default: 0s
for: 0s
# Define labels to add or overwrite
# Required, Map of key-value pairs
# Required labels:
# severity: [error, critical, warning, info]
# code:
# resource: component/service/hardware related to the alert
# additional labels are optional
labels:
severity: error
code: 202
resource: AIS
<label_key>: <label_value>
# Define annotations to add
# Optional. Map of key-value pairs
# Recommended annotations:
# message: value of Message field in UI
# expression: value of Rule field in UI
# runbookurl: URL for link in Actions to take field in UI
annotations:
<label_key>: <label_value>
Ganti PROJECT_NAMESPACE dengan namespace project Anda.
Resource kustom LoggingRule
Untuk membuat aturan pencatatan sistem, Anda harus membuat resource kustom LoggingRule
. LoggingRule
terdiri dari aturan perekaman dan aturan pemberitahuan yang menjelaskan kondisi untuk mengirimkan pemberitahuan.
# Configures either an alert or a target record for precomputation
apiVersion: logging.gdc.goog/v1
kind: LoggingRule
metadata:
# Choose namespace that matches the project namespace
# Note: The alert or record will be produced in the same namespace
namespace: PROJECT_NAMESPACE
name: alerting-config
spec:
# Choose which log source to base alerts on (Operational/Audit Logs)
# Optional. Default: Operational
source: operational
# Rule evaluation interval
interval: 60s
# Configure limit for number of alerts (0: no limit)
# Optional. Default: 0 (no limit)
limit: 0
# Configure recording rules to generate new metrics based on pre-existing logs.
# Recording rules generate metrics based on logs.
# Use recording rules for complex alerts, which query the same expression repeatedly every time they are evaluated.
recordRules:
# Define which timeseries to write to. The value must be a valid metric name.
- record: MyMetricsName
# Define LogQL expression to evaluate for this rule
# https://grafana.com/docs/loki/latest/rules/
expr: rate({service_name="bob-service"} [1m])
# Define labels to add or overwrite
# Optional. Map of key-value pairs
labels:
<label_key>: <label_value>
# Configure alert rules
alertRules:
# Define alert name
- alert: <string>
# Define LogQL expression to evaluate for this rule
expr: rate({service_name="bob-service"} [1m])
# Define when an active alert moves from pending to open
# Optional. Default: 0s
for: 0s
# Define labels to add or overwrite
# Required, Map of key-value pairs
# Required labels:
# severity: [error, critical, warning, info]
# code:
# resource: component/service/hardware related to alert
# additional labels are optional
labels:
severity: warning
code: 202
resource: AIS
<label_name>: <label_value>
# Define annotations to add
# Optional. Map of key-value pairs
# Recommended annotations:
# message: value of Message field in UI
# expression: value of Rule field in UI
# runbookurl: URL for link in Actions to take field in UI
annotations:
<label_name>: <label_value>
Ganti PROJECT_NAMESPACE dengan namespace project Anda.