创建告警运维任务

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

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

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

  1. 设置告警规则

  2. 选择模板

  3. 设置告警触发的模板参数

设置告警规则

字段

是否必填

说明

产品类型

从下拉框选择,只能单选。

规则描述

阈值告警的规则。

触发沉默周期

当监控数据持续超过报警规则阈值时,每个沉默周期内只触发1次,默认为1天。

生效时间

报警触发的生效时间范围,默认全天生效。

阈值告警规则描述包含以下输入字段:

  • 监控项名称

  • 监控数据的聚合周期

  • 统计次数

  • 统计方法

  • 比较运算符

  • 阈值

image

选择模板

选择在告警发生时需要执行的模板。

设置告警触发的模板参数

模板参数中可以填入固定值,也可以从告警消息体选择参数。当选择固定参数时,总是使用固定参数执行模板。选择从告警消息体选择参数时,可以配置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。

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

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