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

前提条件

  • 进行操作前,请确保您已经注册了阿里云账号。如还未注册,请先完成账号注册
  • 准备能通过公网访问的回调URL。
  • 在已有的运维系统或消息通知系统的告警方式中开启URL回调。

背景信息

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

云监控除了电话、短信、邮件、钉钉机器人等报警通知方式外,还可以使用报警回调方式。无论您是运维人员还是开发人员,您会发现报警回调可以让您更自由、更灵活的处理告警事件。

云监控通过HTTP协议的POST请求推送报警通知到您指定的公网URL,您在接收到报警通知后,可以根据通知内容做进一步处理。

操作步骤

  1. 登录云监控控制台
  2. 修改需要增加回调的报警规则,或者创建新的报警规则。

  3. 在报警通知方式中,填写需要报警回调的URL地址,确认即可。

执行结果

当报警规则被触发时,云监控会将报警消息发送到您指定的URL地址。

报警规则回调URL时,推送的POST请求内容如下表所示。

参数 数据类型 说明
userId string 用户ID
alertName string 报警名称
timestamp string 发生报警的时间戳
alertState string 报警状态,会根据实际情况返回OK 、ALERT、 INSUFFICIENT_DATA 三种状态中的一种
dimensions string 发生报警的对象,示例:[{“userId”:”12345”,”instanceId”:”i-12345”}]
expression string 报警条件,示例:[{“expression”:”$value>12”,”level”:4,”times”:2}]表示阈值连续2次大于12后触发报警。level=4时表示还通过邮件为您推送报警,level=3表示还通过短信、邮件为您推送报警。times字段表示设置报警规则时选择的连续几次达到报警阈值的次数。
curValue string 报警发生或恢复时监控项的当前值
metricName string 监控项名称
metricProject string 产品名称,监控项和产品名称可参考文档预设监控项参考
POST请求示例如下:
{
    "userId":"12345",
    "alertName":"putNewAlarm_group_a37cd898-ea6b-4b7b-a8a8-de017a8327f6",
    "timestamp":"1508136760",
    "alertState":"ALARM",
    "dimensions":[
        {
            "userId":"12345",
            "instanceId":"i-12345"
        }
    ],
   "expression":"[{\"expression\":\"$Average>90\",\"level\":4,\"times\":2}]" ,
    "curValue":"95",
    "metricName":"CPUUtilization",
    "metricProject":"acs_ecs_dashboard"
}