系統運維管理 OOS(CloudOps Orchestration Service)支持創建云產品監控指標閾值報警運維任務。當我們監控到云產品資源的監控指標達到指定的閾值后,執行指定的模板,進行告警運維。告警運維任務會一直執行并監控,直到您取消它。比如您可以在監控到磁盤利用率超過80%時清理日志目錄下的文件。
請參考支持的云產品主要監控項 云產品主要監控項。
創建告警運維任務包括以下步驟:
設置告警規則
選擇模板
設置告警觸發的模板參數
設置告警規則
字段 | 是否必填 | 說明 |
產品類型 | 是 | 從下拉框選擇,只能單選。 |
規則描述 | 是 | 閾值告警的規則。 |
觸發沉默周期 | 否 | 當監控數據持續超過報警規則閾值時,每個沉默周期內只觸發1次,默認為1天。 |
生效時間 | 否 | 報警觸發的生效時間范圍,默認全天生效。 |
閾值告警規則描述包含以下輸入字段:
監控項名稱
監控數據的聚合周期
統計次數
統計方法
比較運算符
閾值
選擇模板
選擇在告警發生時需要執行的模板。
設置告警觸發的模板參數
模板參數中可以填入固定值,也可以從告警消息體選擇參數。當選擇固定參數時,總是使用固定參數執行模板。選擇從告警消息體選擇參數時,可以配置jq表達式,從告警消息體中提取字段。
從告警消息體中提取字段,使用$開頭,加上jq表達式。以ECS的cpu_total的報警消息為例,其格式如下:
{
"Average": 50.15,
"Maximum": 50.75,
"Minimum": 49.75,
"curLevel": "INFO",
"instanceId": "i-bp1gn7od******qh5r12",
"ruleName": "alarmtrigger-130920******0047-exec-de81413d******71b537",
"timestamp": 1575970560000,
"userId": "130920******0047"
}
如果想提取出發生報警的實例ID,可以使用表達式$.instanceId
。
告警消息體中有以下固定字段可以提取:
提取表達式 | 說明 | 示例值 |
$.timestamp | 告警時間戳。 | 1575970560000,單位為毫秒 |
$.curLevel | 告警級別。 | INFO |
$.userId | 云賬號Id。 | 130920**0047 |
$.dimensionFieldName | 其中OK代表告警恢復正常。監控維度值。dimensionFieldName請替換成監控項維度字段名。比如ECS實例的CPU是按照實例ID維度監控的,可以通過 | 無 |
從告警消息體選擇參數的示例:
使用固定參數,和普通模板參數設置方法一致。