运维编排支持创建云产品监控指标阈值报警运维任务。当我们监控到云产品资源的监控指标达到指定的阈值后,执行指定的模板,进行告警运维。告警运维任务会一直执行并监控,直到您取消它。比如您可以在监控到磁盘利用率超过80%时清理日志目录下的文件。

请参考支持的云产品主要监控项 云产品主要监控项。

创建告警运维任务包括以下步骤:

  1. 设置告警规则
  2. 选择模板
  3. 设置告警触发的模板参数

设置告警规则

字段 是否必填 说明
产品类型 从下拉框选择,只能单选。
规则描述 阈值告警的规则。
触发沉默周期 当监控数据持续超过报警规则阈值时,每个沉默周期内只触发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维度监控的,可以通过$.instanceId提取实例ID。请参见云产品主要监控项中的Dimensions。

从告警消息体选择参数的示例:

使用固定参数,和普通模板参数设置方法一致。