云监控除了电话、短信、邮件和钉钉机器人的报警通知方式外,还可以使用报警回调方式,让您更自由、更灵活的处理告警。本文为您介绍如何使用阈值的报警回调功能,实现将云监控发送的报警通知集成到已有的运维系统或消息通知系统。

前提条件

请确保您已准备好公网URL地址。该URL地址为运维系统或消息通知系统的URL地址。

背景信息

云监控通过HTTP协议的POST请求推送报警通知到您指定的URL地址,请您将IP地址106.11.167.96/27加入防火墙的白名单。当您接收到报警通知后,可以根据通知内容做进一步处理。

报警回调的重试策略为3次,超时时间为5秒。

操作步骤

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

执行结果

当报警规则被触发时,云监控会将报警消息发送到您指定的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 云服务名称。metricProject与namespace相同。关于云服务名称,请参见云服务监控项
namespace String 云服务命名空间。namespace与metricProject相同。关于云服务命名空间,请参见云服务监控项
preTriggerLevel String 上一次触发报警的级别。取值:
  • CRITICAL:严重。
  • WARN:警告。
  • INFO:信息。
ruleId String 触发本次报警的报警规则ID。
timestamp String 触发本次报警的时间戳。
triggerLevel String 本次触发报警的级别。取值:
  • CRITICAL:严重。
  • WARN:警告。
  • INFO:信息。
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