CloudMonitor除了郵件和Webhook的警示通知方式外,還可以使用警示回調方式,讓您更自由、更靈活的處理警示。本文為您介紹如何使用閾值的警示回調功能,實現將CloudMonitor發送的警示通知整合到已有的營運系統或訊息通知系統。
前提條件
請確保您已準備好公網URL地址。該URL地址為營運系統或訊息通知系統的URL地址。
背景資訊
CloudMonitor通過HTTP協議或HTTPS協議的POST請求推送警示通知到您指定的URL地址,請您將IP地址47.74.206.0/26、47.74.206.64/26、47.74.206.128/26、47.74.206.192/26和8.222.159.116加入防火牆的白名單。當您接收到警示通知後,可以根據通知內容做進一步處理。
警示回調的重試策略為3次,逾時時間為5秒。
CloudMonitor控制台不支援大量設定閾值警示回調,您可以通過以下API實現:
先調用CreateMetricRuleTemplate介面建立警示模板,且設定回調地址,再調用ApplyMetricRuleTemplate介面將警示模板應用到指定應用分組。更多資訊,請參見CreateMetricRuleTemplate和ApplyMetricRuleTemplate。
調用PutGroupMetricRule介面建立或修改應用分組的警示規則,且設定回調地址。更多資訊,請參見PutGroupMetricRule。
操作步驟
在左側導覽列,選擇 。
在警示規則頁面,單擊目標警示規則對應操作列的修改。
說明您也可以重新建立警示規則。具體操作,請參見建立警示規則。
在修改警示規則面板,輸入警示回調的URL地址。
當您需要測試警示回調地址的連通性時,可以執行以下操作。
單擊回調地址正後方的測試。
在WebHook測試面板,您可以通過Webhook返回的狀態代碼和測試結果詳情對警示回調地址的連通性進行判斷和排查。
說明您還可以設定Webhook的回調模板類型和語言,再次單擊測試,擷取對應的測試結果詳情。
單擊關閉。
單擊確認。
執行結果
當警示規則被觸發時,CloudMonitor會將警示訊息發送到您指定的URL地址,發送的POST請求內容如下表所示。
POST請求內容可能會新增參數,因此需要您的Webhook可以相容新增參數。
參數 | 資料類型 | 描述 |
alertName | String | 警示名稱。 |
alertState | String | 警示狀態。根據實際情況返回以下三種狀態中的一種:
|
curValue | String | 警示發生或恢複時監控項的當前值。 |
dimensions | String | 發生警示的對象。樣本: |
expression | String | 警示條件。 |
groupId | String | 應用分組ID。 |
instanceName | String | 執行個體名稱。 |
lastTime | String | 警示期間。單位:分鐘。 |
metricName | String | 監控項名稱。關於監控項名稱,請參見雲產品監控項中的Metric Name。 |
metricProject | String | 雲產品名稱。 |
namespace | String | 雲產品命名空間。 大部分雲產品的回調 少數雲產品命名空間與雲產品的回調 |
preTriggerLevel | String | 上一次觸發警示的層級。取值:
|
productGroupName | String | 應用分組名稱。 |
rawMetricName | String | 監控項ID。關於監控項ID,請參見雲產品監控項中的Metric Id。 |
regionId | String | 地區ID。 |
regionName | String | 地區名稱。 |
ruleId | String | 觸發本次警示的警示規則ID。 |
timestamp | String | 觸發本次警示的時間戳記。 |
transId | String | 目標規則中資源從發生警示到恢複的ID。 |
triggerLevel | String | 本次觸發警示的層級。取值:
|
unit | String | 監控項的單位。關於監控項單位,請參見雲產品監控項中的Unit。 |
userId | String | 使用者ID。 |
表 1. 雲產品命名空間與雲產品的回調Namespace的映射關係
雲產品命名空間 | 回調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 |
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=基礎監控-ECS-記憶體使用量率&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分鐘&rawMetricName=cpu_total®ionId=cn-hangzhou®ionName=華東1(杭州)&transId=53767d2a-ae72-11ed-b2ca-00163e2c****&unit=%