本文为您介绍如何使用报警回调功能,实现将云监控发送的报警通知集成到已有运维体系或消息通知体系中。

前提条件

  • 请确保您已准备好通过公网访问的回调URL。
  • 请确保您已在运维系统或消息通知系统的告警方式中开启URL回调。

背景信息

注意
  • 报警回调的重试策略为3次,超时时间为5秒。
  • 报警回调目前仅支持HTTP协议。

云监控除了电话、短信、邮件、钉钉机器人等报警通知方式外,还可以使用报警回调方式,让您更自由、更灵活的处理告警事件。云监控通过HTTP协议的POST请求推送报警通知到您指定的公网URL,您在接收到报警通知后,可以根据通知内容做进一步处理。

操作步骤

  1. 登录云监控控制台
  2. 在左侧导航栏,选择报警服务 > 报警规则
  3. 阈值报警页签,单击目标规则对应操作列的修改
    说明 您也可以重新创建报警规则。
  4. 填写报警回调的URL地址。
  5. 单击确认

执行结果

当报警规则被触发时,云监控会将报警消息发送到您指定的URL地址。报警规则回调URL时,推送的POST请求内容如下表所示。

说明 事件报警回调暂不支持推送请求内容。
参数 数据类型 描述
alertName String 报警名称。
alertState String 报警状态。根据实际情况返回以下三种状态中的一种:
  • OK
  • ALERT
  • INSUFFICIENT_DATA
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****}&timestamp=1508136760