Selain email, DingTalk, Lark, WeCom, dan Slack, Cloud Monitor menyediakan fitur callback peringatan untuk membantu Anda mengirim pemberitahuan peringatan. Dengan cara ini, Anda dapat menangani peringatan yang dipicu oleh peristiwa secara lebih fleksibel. Topik ini menjelaskan cara menggunakan fitur callback dari peringatan yang dipicu oleh peristiwa sistem untuk mengintegrasikan pemberitahuan peringatan yang dikirim oleh Cloud Monitor ke dalam sistem O&M atau sistem notifikasi yang ada. Dalam topik ini, sebuah peristiwa sistem berlangganan dan didorong ke URL webhook.
Prasyarat
URL publik sistem O&M atau sistem notifikasi Anda harus tersedia dan dapat digunakan untuk mengakses sistem tersebut.
Informasi latar belakang
Cloud Monitor mengirimkan pemberitahuan peringatan ke URL yang ditentukan menggunakan metode POST HTTP atau HTTPS. Tambahkan Blok CIDR berikut ke daftar putih firewall Anda. Setelah menerima pemberitahuan peringatan, Anda dapat menyelesaikan masalah berdasarkan isi pemberitahuan tersebut.
Prosedur
Buat saluran dorong.
Dalam topik ini, URL webhook digunakan sebagai saluran dorong.
Masuk ke Konsol Cloud Monitor.
Di panel navigasi sisi kiri, pilih .
Di halaman Event Subscription, klik tab Push Channel.
Di tab Push Channel, klik Create Push Channel.
Di panel Create Push Channel, masukkan nama saluran, atur Target type ke Webhook, atur Request method ke POST, atur Data format ke JSON, dan atur parameter Address ke URL callback. Biarkan parameter lainnya kosong.
Klik OK.
Buat kebijakan langganan.
Dalam topik ini, sebuah peristiwa sistem terkait dengan Instance ECS bernama Instance:InstanceFailure.Reboot:Executing dilanggan dan didorong ke URL webhook.
Klik tab Subscription Policy.
Di tab Subscription Policy, klik Create Subscription Policy.
Di halaman Create Subscription Policy, konfigurasikan parameter.
Basic information: Masukkan nama untuk kebijakan langganan.
Alert Subscription: Atur parameter Subscription Type ke System Events. Di bagian Subscription Scope, atur parameter Products ke Elastic Compute Service (ECS) dan parameter Event name ke Instance:InstanceFailure.Reboot:Executing. Biarkan parameter lainnya kosong. Peristiwa Instance:InstanceFailure.Reboot:Executing menunjukkan bahwa semua instance ECS dalam Akun Alibaba Cloud saat ini di-restart karena kegagalan instance.
CatatanUntuk informasi lebih lanjut tentang peristiwa sistem yang didukung oleh instance ECS, lihat Elastic Compute Service (ECS).
Combined Noise Reduction: Gunakan pengaturan default.
Notification: Biarkan parameter Notification Configuration kosong. Gunakan pengaturan default dari parameter Custom Notification Method.
CatatanKarena tidak ada kelompok kontak peringatan yang diatur untuk parameter Notification Configuration, tidak ada kontak peringatan yang menerima pemberitahuan peringatan.
Push and Integration: Pilih saluran dorong yang dibuat di Langkah 1.
Klik Submit.
Debug langganan insiden.
Di tab Subscription Policy, klik Debug Event Subscription.
Di panel Create Event Debugging, atur parameter Products ke Elastic Compute Service (ECS) dan parameter Name ke Instance:InstanceFailure.Reboot:Executing.
Cloud Monitor secara otomatis menghasilkan konten debugging dalam format JSON.
Klik OK.
Pesan Operation successful dikembalikan. Cloud Monitor secara otomatis mengirimkan pemberitahuan peringatan uji ke URL webhook yang ditentukan.
Hasil
Jika sebuah peristiwa sistem memicu peringatan, Cloud Monitor mengirimkan informasi peringatan ke URL webhook yang ditentukan. Metode permintaan yang didukung oleh URL webhook termasuk POST dan GET. Contoh:
POST JSON
Nama parameter:
body.Contoh kode:
{ "userInfo": { "aliyunId": "test", "userIdSec": "te***st", "aliyunIdSec": "test***test", "nickName": "test", "nickNameSec": "te***st", "userName": "test", "userId": "test", "userNameSec": "te***st" }, "subscription": { "subscriptionUuid": "testid", "conditions": [ { "field": "source", "op": "EQ", "value": "SYS_EVENT" }, { "field": "product", "op": "IN", "value": "ECS,Redis,RDS,Config,tag" } ], "relation": "AND" }, "batchId": "testbatchid", "alert": { "alertStatus": "TRIGGERED", "groupId": "", "source": "SYS_EVENT", "eventContentMap": { "extensions": { "agentVersion": "test-version", "region": "cn-hangzhou", "azone": "cn-hangzhou-i", "uptime": 23000 }, "vmName": "i-testhost", "impact": "Alert", "opsCode": "InstanceStatusChange", "bizEventId": "test-event-id" }, "dedupId": "test-id", "eventName": "CloudAssistant:FirstHeartbeat", "arn": "acs:ecs:cn-hangzhou:testuser:instance/i-testhost", "timestamp": 1704780333000, "traceId": "testid", "severity": "INFO", "product": "ECS", "eventRawContent": "{}", "eventType": "Notification", "userId": "test", "meta": { "sysEventMeta": { "regionNameEn": "cn-hangzhou", "resourceId": "acs:ecs:cn-hangzhou:test:instance/i-testhost", "product": "ECS", "eventNameEn": "CloudAssistant:FirstHeartbeat", "instanceName": "i-testhost", "level": "INFO", "resource": "", "regionNameZh": "China (Hangzhou)", "groupId": "", "serviceTypeEn": "ECS", "eventType": "Notification", "serviceTypeZh": "Elastic Compute Service (ECS)", "regionId": "cn-hangzhou", "eventTime": "20240109T140533.642+0800", "name": "CloudAssistant:FirstHeartbeat", "id": "testid", "status": "Normal", "eventNameZh": "CloudAssistant:FirstHeartbeat" } } }, "severity": "INFO", "strategyName": "eventwebhook", "userId": "test", "time": 1704780333000 }GET JSON
Nama parameter:
data.Contoh kode:
{ "userInfo": { "aliyunId": "test", "userIdSec": "te***st", "aliyunIdSec": "test***test", "nickName": "test", "nickNameSec": "te***st", "userName": "test", "userId": "test", "userNameSec": "te***st" }, "subscription": { "subscriptionUuid": "testid", "conditions": [ { "field": "source", "op": "EQ", "value": "SYS_EVENT" }, { "field": "product", "op": "IN", "value": "ECS,Redis,RDS,Config,tag" } ], "relation": "AND" }, "batchId": "testbatchid", "alert": { "alertStatus": "TRIGGERED", "groupId": "", "source": "SYS_EVENT", "eventContentMap": { "extensions": { "agentVersion": "test-version", "region": "cn-hangzhou", "azone": "cn-hangzhou-i", "uptime": 23000 }, "vmName": "i-testhost", "impact": "Alert", "opsCode": "InstanceStatusChange", "bizEventId": "test-event-id" }, "dedupId": "test-id", "eventName": "CloudAssistant:FirstHeartbeat", "arn": "acs:ecs:cn-hangzhou:testuser:instance/i-testhost", "timestamp": 1704780333000, "traceId": "testid", "severity": "INFO", "product": "ECS", "eventRawContent": "{}", "eventType": "Notification", "userId": "test", "meta": { "sysEventMeta": { "regionNameEn": "cn-hangzhou", "resourceId": "acs:ecs:cn-hangzhou:test:instance/i-testhost", "product": "ECS", "eventNameEn": "CloudAssistant:FirstHeartbeat", "instanceName": "i-testhost", "level": "INFO", "resource": "", "regionNameZh": "China (Hangzhou)", "groupId": "", "serviceTypeEn": "ECS", "eventType": "Notification", "serviceTypeZh": "Elastic Compute Service (ECS)", "regionId": "cn-hangzhou", "eventTime": "20240109T140533.642+0800", "name": "CloudAssistant:FirstHeartbeat", "id": "testid", "status": "Normal", "eventNameZh": "CloudAssistant:FirstHeartbeat" } } }, "severity": "INFO", "strategyName": "eventwebhook", "userId": "test", "time": 1704780333000 }POST FORM dan GET FORM
Parameter
Deskripsi
userInfo
{ "aliyunId": "test", "userIdSec": "te***st", "aliyunIdSec": "test***test", "nickName": "test", "nickNameSec": "te***st", "userName": "test", "userId": "test", "userNameSec": "te***st" }subscription
{ "subscriptionUuid": "testid", "conditions": [ { "field": "source", "op": "EQ", "value": "SYS_EVENT" }, { "field": "product", "op": "IN", "value": "ECS,Redis,RDS,Config,tag" } ], "relation": "AND" }alert
{ "alertStatus": "TRIGGERED", "groupId": "", "source": "SYS_EVENT", "eventContentMap": { "extensions": { "agentVersion": "test-version", "region": "cn-hangzhou", "azone": "cn-hangzhou-i", "uptime": 23000 }, "vmName": "i-testhost", "impact": "Alert", "opsCode": "InstanceStatusChange", "bizEventId": "test-event-id" }, "dedupId": "test-id", "eventName": "CloudAssistant:FirstHeartbeat", "arn": "acs:ecs:cn-hangzhou:testuser:instance/i-testhost", "timestamp": 1704780333000, "traceId": "testid", "severity": "INFO", "product": "ECS", "eventRawContent": "{}", "eventType": "Notification", "userId": "test", "meta": { "sysEventMeta": { "regionNameEn": "cn-hangzhou", "resourceId": "acs:ecs:cn-hangzhou:test:instance/i-testhost", "product": "ECS", "eventNameEn": "CloudAssistant:FirstHeartbeat", "instanceName": "i-testhost", "level": "INFO", "resource": "", "regionNameZh": "China (Hangzhou)", "groupId": "", "serviceTypeEn": "ECS", "eventType": "Notification", "serviceTypeZh": "Elastic Compute Service (ECS)", "regionId": "cn-hangzhou", "eventTime": "20240109T140533.642+0800", "name": "CloudAssistant:FirstHeartbeat", "id": "testid", "status": "Normal", "eventNameZh": "CloudAssistant:FirstHeartbeat" } } }severity
INFO
strategyName
eventwebhook
userId
test
time
1704780333000
Bidang hasil
Bidang | Deskripsi | |
Bidang luar | batchId | ID batch dari notifikasi saat ini, yang mewakili setiap notifikasi. |
severity | Tingkat keparahan. | |
strategyName | Nama langganan. | |
userId | ID pengguna. | |
time | Waktu peristiwa. | |
Bidang dalam objek | aliyunId | ID Akun Alibaba Cloud. |
userIdSec | ID Pengguna Resource Access Management (RAM). | |
aliyunIdSec | ID akun yang dimasker. | |
nickName | Alias Akun Alibaba Cloud. | |
nickNameSec | Alias Akun Alibaba Cloud yang dimasker. | |
userName | ID akun login. | |
userId | ID Akun Alibaba Cloud. | |
userNameSec | ID akun login yang dimasker. | |
Bidang dalam objek | subscriptionUuid | ID unik dari kebijakan langganan. |
conditions | Kondisi dari kebijakan langganan peristiwa. Nilai valid:
| |
relation | Kondisi langganan. Nilai valid: AND dan OR. Nilai default: AND. | |
Bidang dalam objek | alertStatus | Status peringatan. Nilai valid: TRIGGERED dan RESOLVED. |
groupId | ID kelompok aplikasi. | |
source | Jenis peristiwa peringatan terbaru. | |
dedupId | ID deduplikasi dari peristiwa. | |
eventName | Nama peristiwa. | |
arn | Nama Sumber Daya Alibaba Cloud (ARN) dari sumber daya yang memicu peristiwa. | |
timestamp | Cap waktu peristiwa. | |
traceId | ID asli dari peristiwa. | |
severity | Tingkat keparahan. | |
product | Nama produk. | |
eventRawContent | Konten data mentah dari peristiwa dalam format string JSON, yang bervariasi menurut layanan cloud. | |
eventType | Jenis peristiwa. | |
userId | ID pengguna. | |
Bidang dalam sub-objek | regionNameEn | Nama wilayah dalam bahasa Inggris. |
resourceId | ID sumber daya yang memicu peristiwa. | |
product | Kode produk. | |
eventNameEn | Nama peristiwa dalam bahasa Inggris. | |
instanceName | Nama instans. | |
level | Tingkat peristiwa. | |
resource | ARN dari peristiwa sistem. | |
regionNameZh | Nama wilayah dalam bahasa Cina. | |
groupId | ID kelompok aplikasi. | |
serviceTypeEn | Tipe layanan (Inggris). | |
eventType | Jenis peristiwa. | |
serviceTypeZh | Tipe layanan (Cina). | |
regionId | ID wilayah. | |
eventTime | Waktu ketika peristiwa dihasilkan. | |
name | Nama peristiwa. | |
id | ID peristiwa. | |
status | Status peristiwa. | |
eventNameZh | Nama peristiwa dalam bahasa Cina. | |
Bidang dalam sub-objek | Bidang | |