报警回调 -奇异果体育app竞彩官网下载
更新时间:2022-03-04
功能简介
通过报警回调,可实现将bcm云监控的报警通知发送到您指定的url。您可以自由、灵活的处理各类告警消息,bcm支持通过 http/https协议 的 post 请求推送到可访问公网 url ,您可基于回调接口推送的报警信息做进一步的处理。如需通过企业微信、钉钉、如流等办公软件接收报警通知,请参见webhook使用说明。
报警回调使用说明
- 报警回调接口:您需要提供能接收 http/https 协议的post 请求,并且公网可访问的 url 地址,作为回调地址。
- 报警回调触发:如果填写了报警回调地址,触发逻辑与告警短信、邮件、电话一致,当创建的告警策略被触发、告警策略恢复时,均会通过报警回调接口发送告警消息。
- 绑定报警回调接口:您可在创建告警策略详添加回调接口。一个告警策略只可绑定一个报警回调 url。
- 返回内容:当向绑定的 url 发出报警信息后,我们需要接收到标识成功的返回内容(httpcode = 200),以表明已成功接收信息;否则我们将重复发送告警信息,最多重试三次,超时时间为5s(重试机制)
操作步骤
目前云产品监控提供了报警回调功能,入口有三处:
- 入口一:统一的创建报警策略入口
- 在左侧导航栏中点击<报警管理>-<报警策略>,在云产品监控的策略列表下,点击“添加策略”。
- 在创建策略页面,开启报警回调功能,选择协议方式,输入公网可访问的url地址。
注意:回调token用来验证您收到的报警消息是否由百度云监控bcm发出。由bcm侧自动生成一个token,点击<更换一个>按钮可更换回调token,同时您需要更换回调程序中的校验token,回调时使用最新的token。
- 入口二:为某个云服务下单个实例创建报警策略入口
- 在左侧导航栏中点击<云产品监控>,点击要查看的云产品,进入该云产品的实例列表页面。如查看云服务器bcc监控数据,点击<云服务器监控>,进入“云服务器列表”页面。选择对应的实例点击“添加策略”。
- 在创建策略页面,开启报警回调,输入需要的信息。
- 入口三:创建报警动作入口
- 在左侧导航栏中点击<报警管理>-<报警动作>,在报警动作列表页面,点击“创建动作”。
- 在添加报警动作页面,勾选“报警回调”,输入需要的信息。
说明: 报警动作入口支持添加多个回调地址(上限5个)。
webhook使用说明
- 企业微信
- 登录企业微信,打开需要接收告警通知的企业微信群。
- 添加群机器人后,复制webhook地址,参考操作步骤填写到“报警回调”中即可。
- 配置成功后,当报警通知被触发时,您可以在企业微信群收到报警通知。
- 钉钉
- 登录钉钉,打开需要接收告警通知的钉钉群,添加群机器人。
- 填写表单,“安全设置”模块勾选“自定义关键词”选项,建议填写“报警”作为关键词。
说明:勾选自定义关键词复选框,输入添加关键词,最多可以设置10个关键词,消息中至少包含其中1个关键词才可以发送成功。例如添加了一个自定义关键词:报警,则这个机器人所发送的消息,必须包含报警这个词,才能发送成功。
- 群内添加钉钉机器人,复制webhook地址,参考操作步骤填写到“报警回调”中即可。
- 配置成功后,当报警通知被触发时,您可以在钉钉群收到报警通知。
- 如流
- 登录如流,打开需要接收告警通知的如流群。
- 群内添加如流机器人,复制webhook地址,参考操作步骤填写到“报警回调”中即可。
- 配置成功后,当报警通知被触发时,您可以在如流群收到报警通知。
post方式参数说明
指标报警post方式参数说明
参数 | 说明 |
---|---|
alertid | 告警id |
userid | 账号id |
alarmname | 报警策略名称 |
scope | 云产品名称 |
policytype | 策略类型(指标报警和事件报警之一,metric代表是指标报警,event代表事件报警) |
alertstarttimestamp | 发生告警的时间戳 |
region | 报警对象所在的地域 |
monitoringobject | 发生报警的对象 |
alarmlevel | 报警等级状态。根据实际情况返回严重、通知、重要、警告四种状态中的一种 |
formula | 报警条件 |
currentvalue | 报警发生或恢复时监控项的当前值 |
tasktimestamp | 报警回调发送时间 |
signature | 签名 |
事件报警post方式参数说明
参数 | 说明 |
---|---|
alarmname | 报警策略名称 |
scope | 云产品名称 |
alertstarttimestamp | 发生告警的时间戳 |
alertcontent | 事件详情 |
tasktimestamp | 报警回调发送时间 |
signature | 签名 |
signature值是与alertid、您配置时生成的token和tasktimestamp这3个参数连接并用md5算法加密后的值相等来校验。
url回调实例
下面是url回调的使用实例,bcm发起的post方式url回调请求:
post http://127.0.0.1:8201/callback
post: alertid=dffvsdfsdffa&userid=a0345uiiiooo&alarmname=test&scope=bce_bcc&policytype=metric&alertstarttimestamp=1597489020®ion=华北-保定&monitoringobject=bcc实例i-gid9sff&alarmlevel=major&formula=cpu使用率>70%
¤tvalue=cpu使用率=87%&tasktimestamp=1597489090&signature=af7c6cvbnjkdfghjk
在callback.java文件中接收post参数并对消息进行校验:
// 从发送来的post请求中解析出alertid、tasktimestamp 、signature这3个参数。使用alertid、token(创建报警策略时生成的token)和tasktimestamp 这3个参数连接并用md5算法加密后的值来校验消息。
如果校验成功,则说明此消息为百度云发出,否则为非法请求,不予处理。其中tasktimestamp可以用来做过期验证,如果时间戳与用户当前时间时间间隔大于某个周期(如10分钟),则用户可自行丢弃请求。
if (md5(alertid token tasktimestamp) == signature) {
..........
}