使用阈值报警回调

云监控除了电话、短信、邮件和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请求内容如下表所示。

说明

POST请求内容可能会新增参数,因此需要您的Webhook可以兼容新增参数。

参数

数据类型

描述

alertName

String

报警名称。

alertState

String

报警状态。根据实际情况返回以下三种状态中的一种:

  • OK:正常。

  • ALERT:报警。

  • INSUFFICIENT_DATA:无数据。

curValue

String

报警发生或恢复时监控项的当前值。

dimensions

String

发生报警的对象。示例:{userId=110803419679****, instanceId=i-8psdh7l6lphbn10l****}

expression

String

报警条件。

groupId

String

应用分组ID。

instanceName

String

实例名称。

lastTime

String

报警持续时间。单位:分钟。

metricName

String

监控项名称。关于监控项名称,请参见云产品监控项中的Metric Name

metricProject

String

云产品名称。metricProjectnamespace相同。关于云产品名称,请参见云产品监控项

namespace

String

云产品命名空间。

大部分云产品的回调namespacemetricProject相同。关于云产品命名空间,请参见云产品监控项

少数云产品命名空间与云产品的回调namespace不同,具体映射关系,请参见表 1. 云产品命名空间与云产品的回调Namespace的映射关系

preTriggerLevel

String

上一次触发报警的级别。取值:

  • CRITICAL:严重。

  • WARN:警告。

  • INFO:信息。

productGroupName

String

应用分组名称。

rawMetricName

String

监控项ID。关于监控项ID,请参见云产品监控项中的Metric Id

regionId

String

地域ID。

regionName

String

地域名称。

ruleId

String

触发本次报警的报警规则ID。

timestamp

String

触发本次报警的时间戳。

transId

String

目标规则中资源从发生报警到恢复的ID。

triggerLevel

String

本次触发报警的级别。取值:

  • CRITICAL:严重。

  • WARN:警告。

  • INFO:信息。

unit

String

监控项的单位。关于监控项单位,请参见云产品监控项中的Unit

userId

String

用户ID。

表 1. 云产品命名空间与云产品的回调Namespace的映射关系

云产品命名空间

回调Namespace

acs_ecs_dashboard

acs_ecs

acs_slb_dashboard

acs_slb

acs_rds_dashboard

acs_rds

acs_oss_dashboard

acs_oss

acs_sls_dashboard

acs_sls

acs_ess_dashboard

acs_ess

acs_containerservice_dashboard

acs_containerservice

acs_apigateway_dashboard

acs_apigateway

acs_redis_dashboard

acs_kvstore

acs_ocs_new

acs_ocs

acs_mns_new

acs_mns

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=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=%