系统运维管理 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维度监控的,可以通过 | 无 |
从告警消息体选择参数的示例:
使用固定参数,和普通模板参数设置方法一致。