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

前提条件

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

背景信息

云监控通过HTTP协议或HTTPS协议的POST请求推送报警通知到您指定的URL地址,请您将IP地址106.11.225.0/24、106.11.226.0/24、106.11.227.0/24、106.11.242.0/24、106.11.167.0/24、106.11.245.0/24、59.82.0.0/16、59.82.84.0/24、203.119.128.0/17、203.119.156.0/24和121.41.9.246加入防火墙的白名单。当您接收到报警通知后,可以根据通知内容做进一步处理。

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

云监控控制台不支持批量设置阈值报警回调,您可以通过以下API实现:
  • 先调用CreateMetricRuleTemplate接口创建报警模板,且设置回调地址,再调用ApplyMetricRuleTemplate接口将报警模板应用到指定应用分组。更多信息,请参见CreateMetricRuleTemplateApplyMetricRuleTemplate
  • 调用PutGroupMetricRule接口创建或修改应用分组的报警规则,且设置回调地址。更多信息,请参见PutGroupMetricRule

操作步骤

  1. 登录云监控控制台
  2. 在左侧导航栏,选择报警服务 > 报警规则
  3. 报警规则列表页面,单击目标报警规则对应操作列的修改
    说明 您也可以重新创建报警规则。具体操作,请参见创建报警规则
  4. 创建报警规则面板,输入报警回调的URL地址。
    当您需要测试报警回调地址的连通性时,可以执行以下操作。
    1. 单击回调地址正后方的测试
      WebHook测试面板,您可以通过Webhook返回的状态码和测试结果详情对报警回调地址的连通性进行判断和排查。
      说明 您还可以设置Webhook的回调模板类型语言,再次单击测试,获取对应的测试结果详情。
    2. 单击关闭
  5. 单击确定

执行结果

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

参数数据类型描述
alertNameString报警名称。
alertStateString报警状态。根据实际情况返回以下三种状态中的一种:
  • OK:正常。
  • ALERT:报警。
  • INSUFFICIENT_DATA:无数据。
curValueString报警发生或恢复时监控项的当前值。
dimensionsString发生报警的对象。示例:{userId=110803419679****, instanceId=i-8psdh7l6lphbn10l****}
expressionString报警条件。
groupIdString应用分组ID。
instanceNameString实例名称。
lastTimeString报警持续时间。单位:分钟。
metricNameString监控项名称。关于监控项名称,请参见云服务监控项中的Metric Name
metricProjectString云服务名称。metricProjectnamespace相同。关于云服务名称,请参见云服务监控项
namespaceString云服务命名空间。namespacemetricProject相同。关于云服务命名空间,请参见云服务监控项
preTriggerLevelString上一次触发报警的级别。取值:
  • CRITICAL:严重。
  • WARN:警告。
  • INFO:信息。
productGroupNameString应用分组名称。
rawMetricNameString监控项ID。关于监控项ID,请参见云服务监控项中的Metric Id
regionIdString地域ID。
regionNameString地域名称。
ruleIdString触发本次报警的报警规则ID。
timestampString触发本次报警的时间戳。
transIdString目标规则中资源从发生报警到恢复的ID。
triggerLevelString本次触发报警的级别。取值:
  • CRITICAL:严重。
  • WARN:警告。
  • INFO:信息。
unitString监控项的单位。关于监控项ID,请参见云服务监控项中的Unit
userIdString用户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_dashboard&userId=110803419679****&curValue=97.39&alertName=基础监控-ECS-内存使用率&namespace=acs_ecs_dashboard&triggerLevel=WARN&alertState=ALERT&preTriggerLevel=WARN&ruleId=applyTemplateee147e59-664f-4033-a1be-e9595746****&dimensions={userId=110803419679****, instanceId=i-8psdh7l6lphbn10l****}&timestamp=1508136760&productGroupName=test_Group&groupId=1666****&lastTime=2分钟&rawMetricName=cpu_total&regionId=cn-hangzhou&regionName=华东1(杭州)&transId=53767d2a-ae72-11ed-b2ca-00163e2c****&unit=%