Selain notifikasi melalui email, dan webhook, Cloud Monitor mendukung callback peringatan yang meneruskan peringatan ambang batas ke sistem O&M atau sistem pesan Anda melalui HTTP POST.
Prasyarat
URL publik untuk sistem O&M atau sistem pesan Anda yang menerima permintaan HTTP POST.
Latar Belakang
-
Cloud Monitor mengirimkan notifikasi peringatan ke URL Anda sebagai permintaan POST HTTP atau HTTPS. Tambahkan rentang alamat IP berikut ke daftar izin (allowlist) firewall Anda:
47.74.206.0/26 47.74.206.64/26 47.74.206.128/26 47.74.206.192/26 8.222.159.116 -
Cloud Monitor mencoba ulang callback yang gagal hingga tiga kali dengan timeout 5 detik per permintaan.
Konfigurasi massal callback peringatan ambang batas tidak tersedia di Konsol Cloud Monitor. Gunakan operasi API berikut sebagai gantinya:
-
Panggil CreateMetricRuleTemplate untuk membuat templat peringatan dengan URL callback, lalu panggil ApplyMetricRuleTemplate untuk menerapkannya ke kelompok aplikasi.
-
Panggil PutGroupMetricRule untuk membuat atau memodifikasi aturan peringatan untuk kelompok aplikasi dengan URL callback.
Prosedur
-
Masuk ke Konsol Cloud Monitor.
-
Di panel navigasi sebelah kiri, pilih .
-
Pada halaman Alert Rules, temukan aturan peringatan yang diinginkan dan klik Modify pada kolom Actions-nya.
CatatanAnda juga dapat membuat aturan peringatan.
-
Pada panel Modify Alert Rule, masukkan URL callback.
Untuk menguji konektivitas ke URL callback:
-
Klik Test, yang terletak tepat di sebelah kanan URL callback.
Pada panel WebHook Test, periksa kode status HTTP dan detail hasil pengujian untuk memverifikasi konektivitas.
CatatanAnda juga dapat mengatur Test Template Type: dan Language:. Lalu klik Test lagi untuk melihat hasil pengujian terbaru.
-
Klik Close.
-
-
Klik Confirm.
Hasil
Ketika peringatan dipicu, Cloud Monitor mengirimkan permintaan POST ke URL callback Anda dengan parameter berikut.
Badan permintaan mungkin mencakup parameter tambahan di masa mendatang. Pastikan titik akhir Anda menangani parameter yang tidak dikenal secara elegan.
|
Parameter |
Type |
Deskripsi |
|
alertName |
String |
Nama peringatan. |
|
alertState |
String |
Status peringatan. Nilai yang valid:
|
|
curValue |
String |
Nilai metrik saat peringatan dipicu atau diselesaikan. |
|
dimensions |
String |
Dimensi dari resource yang memicu peringatan. Contoh: |
|
expression |
String |
Kondisi yang memicu peringatan. |
|
groupId |
String |
ID kelompok aplikasi. |
|
instanceName |
String |
Nama instans. |
|
lastTime |
String |
Durasi peringatan. Satuan: menit. |
|
metricName |
String |
Nama metrik, sebagaimana tercantum dalam kolom Metric Name di Metrics for cloud services. |
|
metricProject |
String |
Nama layanan cloud. Untuk sebagian besar layanan, |
|
namespace |
String |
Namespace layanan cloud. Untuk sebagian besar layanan, callback Untuk beberapa layanan, namespace berbeda dari callback |
|
preTriggerLevel |
String |
Tingkat keparahan peringatan sebelumnya. Nilai yang valid:
|
|
productGroupName |
String |
Nama kelompok aplikasi. |
|
rawMetricName |
String |
ID metrik, sebagaimana tercantum dalam kolom Metric Id di Metrics for cloud services. |
|
regionId |
String |
ID wilayah. |
|
regionName |
String |
Nama wilayah. |
|
ruleId |
String |
ID aturan peringatan yang dipicu. |
|
timestamp |
String |
Timestamp saat peringatan dipicu. |
|
transId |
String |
ID unik untuk siklus hidup suatu peringatan pada resource tertentu, dari pemicuan hingga penyelesaian. |
|
triggerLevel |
String |
Tingkat keparahan peringatan saat ini. Nilai yang valid:
|
|
unit |
String |
Unit metrik, sebagaimana tercantum dalam kolom Unit di Metrics for cloud services. |
|
userId |
String |
ID pengguna. |
Tabel 1. Pemetaan antara namespace layanan cloud dan namespace callback
|
Namespace layanan cloud |
Namespace callback |
|
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 |
Contoh permintaan POST:
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=%