Cloud Monitor dapat mendorong pemberitahuan peringatan yang dipicu oleh ambang batas ke sistem O&M atau sistem notifikasi Anda melalui HTTP atau HTTPS POST. Fitur ini memungkinkan Anda memproses peringatan secara terprogram—misalnya, menjalankan runbook, membuat insiden, atau mengarahkan notifikasi—tanpa perlu melakukan polling pada Konsol Cloud Monitor.
Prasyarat
Sebelum memulai, pastikan Anda telah memiliki:
URL yang dapat diakses publik untuk sistem O&M atau sistem notifikasi Anda
Blok CIDR berikut ditambahkan ke daftar izin firewall Anda:
47.74.206.0/26,47.74.206.64/26,47.74.206.128/26,47.74.206.192/26, dan8.222.159.116
Cara kerja
Saat aturan peringatan dipicu, Cloud Monitor mengirim permintaan POST ke URL panggilan balik yang Anda konfigurasikan. Permintaan tersebut menggunakan Content-Type: application/x-www-form-urlencoded.
Jika panggilan balik gagal, Cloud Monitor akan mencoba ulang hingga tiga kali. Setiap permintaan akan timeout setelah 5 detik. Pastikan titik akhir Anda merespons dalam jendela waktu tersebut.
Batasan
Anda tidak dapat mengonfigurasi beberapa panggilan balik peringatan berbasis ambang batas sekaligus di Konsol Cloud Monitor. Untuk mengonfigurasi beberapa URL panggilan balik, gunakan API:
Panggil CreateMetricRuleTemplate untuk membuat templat peringatan dengan URL panggilan balik, lalu panggil ApplyMetricRuleTemplate untuk menerapkan templat tersebut ke kelompok aplikasi.
Panggil PutGroupMetricRule untuk membuat atau mengubah aturan peringatan untuk kelompok aplikasi dan menentukan URL panggilan balik.
Konfigurasi panggilan balik peringatan
Masuk ke Konsol Cloud Monitor.
Di panel navigasi kiri, pilih Alerts > Alert Rules.
Di halaman Alert Rules, temukan aturan peringatan yang ingin Anda ubah, lalu klik Modify di kolom Actions.
CatatanUntuk mengonfigurasi panggilan balik pada aturan baru, buat aturan peringatan terlebih dahulu, lalu kembali ke langkah ini.
Di panel Modify Alert Rule, masukkan URL panggilan balik Anda di bidang Alert Callback.
(Opsional) Uji URL panggilan balik:
Klik Test di samping URL panggilan balik.
Di panel Webhook Test, konfigurasikan Test Template Type dan Language, lalu klik Test.
Periksa kode status yang dikembalikan dan detail hasil pengujian untuk memverifikasi konektivitas.
Klik Close.
Klik Confirm.
Referensi permintaan POST
Saat aturan peringatan dipicu, Cloud Monitor mengirim permintaan POST ke URL panggilan balik Anda dengan parameter berikut.
Cloud Monitor dapat menambahkan parameter baru di pembaruan mendatang. Pastikan penanganan webhook Anda menerima dan mengabaikan parameter yang tidak dikenal.
Contoh permintaan
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
expression=$Average>=95&metricName=Host.mem.usedutilization&instanceName=instance-name-****&signature=eEq1zHuCUp0XSmLD8p8VtTKF****&metricProject=acs_ecs&userId=110803419679****&curValue=97.39&alertName=Basic monitoring-ECS-Memory usage&namespace=acs_ecs_dashboard&triggerLevel=WARN&alertState=ALERT&preTriggerLevel=WARN&ruleId=applyTemplateee147e59-664f-4033-a1be-e9595746****&dimensions={userId=110803419679****, instanceId=i-8psdh7l6lphbn10l****}×tamp=1508136760&productGroupName=test_Group&groupId=1666****&lastTime=2 minutes&rawMetricName=cpu_total®ionId=cn-hangzhou®ionName=China (Hangzhou)&transId=53767d2a-ae72-11ed-b2ca-00163e2c****&unit=%Parameter
| Parameter | Tipe data | Deskripsi |
|---|---|---|
alertName | String | Nama peringatan. Contoh: Basic monitoring-ECS-Memory usage |
alertState | String | Status peringatan. Nilai yang valid: OK (normal), ALERT (dipicu), INSUFFICIENT_DATA (tidak ada data). Contoh: ALERT |
curValue | String | Nilai metrik saat peringatan dipicu atau diselesaikan. Contoh: 97.39 |
dimensions | String | Resource yang memicu peringatan. Contoh: {userId=110803419679**, instanceId=i-8psdh7l6lphbn10l**} |
expression | String | Kondisi peringatan. Contoh: $Average>=95 |
groupId | String | ID kelompok aplikasi. Contoh: 1666**** |
instanceName | String | Nama instans. Contoh: instance-name-**** |
lastTime | String | Durasi peringatan aktif. Satuan: menit. Contoh: 2 minutes |
metricName | String | Nama metrik. Untuk daftar lengkap, lihat kolom Metric Name di Lampiran 1: Metrik. Contoh: Host.mem.usedutilization |
metricProject | String | Nama layanan cloud. Untuk sebagian besar layanan, metricProject sama dengan namespace. Untuk pengecualian, lihat Pemetaan namespace. Contoh: acs_ecs |
namespace | String | Namespace layanan cloud. Untuk sebagian besar layanan, namespace sama dengan metricProject. Untuk pengecualian, lihat Pemetaan namespace. Untuk daftar lengkap, lihat Lampiran 1: Metrik. Contoh: acs_ecs_dashboard |
preTriggerLevel | String | Tingkat keparahan peringatan sebelumnya. Nilai yang valid: CRITICAL, WARN, INFO. Contoh: WARN |
productGroupName | String | Nama kelompok aplikasi. Contoh: test_Group |
rawMetricName | String | ID metrik. Untuk daftar lengkap, lihat kolom Metric Id di Lampiran 1: Metrik. Contoh: cpu_total |
regionId | String | ID Wilayah. Contoh: cn-hangzhou |
regionName | String | Nama Wilayah. Contoh: China (Hangzhou) |
ruleId | String | ID aturan peringatan yang memicu peringatan. Contoh: applyTemplateee147e59-664f-4033-a1be-e9595746**** |
timestamp | String | Waktu saat peringatan saat ini dipicu. Nilainya berupa timestamp. Contoh: 1508136760 |
transId | String | ID resource dalam aturan dari waktu peringatan dipicu hingga peringatan diselesaikan. Contoh: 53767d2a-ae72-11ed-b2ca-00163e2c**** |
triggerLevel | String | Tingkat keparahan peringatan saat ini. Nilai yang valid: CRITICAL, WARN, INFO. Contoh: WARN |
unit | String | Satuan metrik. Untuk daftar lengkap, lihat kolom Unit di Lampiran 1: Metrik. Contoh: % |
userId | String | ID pengguna. Contoh: 110803419679**** |
Pemetaan namespace
Untuk sebagian besar layanan cloud, namespace dan metricProject dalam permintaan POST identik. Tabel berikut mencantumkan layanan yang nilainya berbeda.
| Namespace layanan cloud | Namespace panggilan balik |
|---|---|
acs_ecs_dashboard | acs_ecs |
acs_slb_dashboard | acs_slb |
acs_rds_dashboard | acs_rds |
acs_oss_dashboard | acs_oss |
acs_sls_dashboard | acs_sls |
acs_ess_dashboard | acs_ess |
acs_containerservice_dashboard | acs_containerservice |
acs_apigateway_dashboard | acs_apigateway |
acs_redis_dashboard | acs_kvstore |
acs_ocs_new | acs_ocs |
acs_mns_new | acs_mns |