本文为您介绍如何使用报警回调功能,实现将云监控发送的报警通知集成到已有运维系统或消息通知系统中。
前提条件
- 请确保您已准备好通过公网访问的回调URL。
- 请确保IP地址47.74.206.0/24已加入防火墙的白名单。
背景信息
注意
- 报警回调的重试策略为3次,超时时间为5秒。
- 报警回调目前仅支持HTTP协议。
云监控除了邮件、钉钉机器人等报警通知方式外,还可以使用报警回调方式,让您更自由、更灵活的处理告警事件。云监控通过HTTP协议的POST请求推送报警通知到您指定的公网URL,您在接收到报警通知后,可以根据通知内容做进一步处理。
操作步骤
执行结果
当报警规则被触发时,云监控会将报警消息发送到您指定的URL地址。报警规则回调URL时,推送的POST请求内容如下表所示。
说明 事件报警回调暂不支持推送请求内容。
参数 | 数据类型 | 描述 |
---|---|---|
alertName | String | 报警名称。 |
alertState | String | 报警状态。根据实际情况返回以下三种状态中的一种:
|
curValue | String | 报警发生或恢复时监控项的当前值。 |
dimensions | String | 发生报警的对象。示例:{userId=12****, instanceId=i-12****} 。
|
expression | String | 报警条件。 |
instanceName | String | 实例名称。 |
metricName | String | 监控项名称。 |
metricProject | String | 产品名称。监控项和产品名称请参见云产品监控项。 |
namespace | String | 产品的命名空间。与metricProject相同。 |
preTriggerLevel | String | 上一次触发报警的级别。取值:
|
ruleId | String | 触发本次报警的报警规则ID。 |
timestamp | String | 触发本次报警的时间戳。 |
triggerLevel | String | 本次触发报警的级别。取值:
|
userId | String | 用户ID。 |
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=12****&curValue=97.39&alertName=基础监控-ECS-内存使用率&namespace=acs_ecs&triggerLevel=WARN&alertState=ALERT&preTriggerLevel=WARN&ruleId=applyTemplateee147e59-664f-4033-a1be-e9595746****&dimensions={userId=12****), instanceId=i-12****}×tamp=1508136760