Selain notifikasi melalui email, dan webhook, fitur callback peringatan Cloud Monitor 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:
Cloud Monitor tidak mendukung konfigurasi langsung aturan O&M otomatis di konsol untuk me-reboot ECS instance berdasarkan ambang batas seperti penggunaan memori. Untuk mencapai hal ini, konfigurasikan callback peringatan agar mendorong notifikasi peringatan ke layanan Anda sendiri, lalu minta layanan tersebut memanggil operasi API ECS (misalnya RebootInstance) untuk me-reboot instans tersebut. Callback peringatan dikirim sebagai permintaan HTTP POST dengan format data
application/x-www-form-urlencoded. Untuk solusi otomatisasi berdasarkan event perubahan status Instance ECS, lihat Otomatisasi O&M berdasarkan event perubahan status Instance ECS.47.74.206.0/26 47.74.206.64/26 47.74.206.128/26 47.74.206.192/26 8.222.159.116Cloud 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 mengubah aturan peringatan untuk kelompok aplikasi dengan URL callback.
Prosedur
-
Masuk ke Cloud Monitor console.
Di panel navigasi sebelah kiri, pilih .
Pada halaman Alert Rules, temukan aturan peringatan yang diinginkan dan klik Modify di kolom Actions-nya.
CatatanAnda juga dapat membuat aturan peringatan.
Di panel Modify Alert Rule, masukkan URL callback.
Untuk menguji konektivitas ke URL callback:
-
Klik Test, yang terletak tepat di sebelah kanan URL callback.
Di 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 mengirim permintaan POST ke URL callback Anda dengan parameter berikut.
Badan permintaan mungkin mencakup parameter tambahan di masa depan. Pastikan titik akhir Anda menangani parameter yang tidak dikenal secara elegan.
Parameter | Tipe | 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 di kolom Metric Name dalam Metrics for cloud services. |
metricProject | String | Nama layanan cloud. Untuk sebagian besar layanan, |
namespace | String | Namespace layanan cloud. Untuk sebagian besar layanan, Untuk beberapa layanan, namespace berbeda dari |
preTriggerLevel | String | Tingkat keparahan peringatan sebelumnya. Nilai yang valid:
|
productGroupName | String | Nama kelompok aplikasi. |
rawMetricName | String | ID metrik, sebagaimana tercantum di kolom Metric Id dalam 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 di kolom Unit dalam Metrics for cloud services. |
userId | String | ID pengguna. |
Tabel 1. Pemetaan antara namespace layanan cloud dan namespace callback
Cloud service namespace | Callback namespace |
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=%