最近因工作需要,接入了腾讯云监控回调接口,遇到了一些问题,记录如下。
1.什么是云监控回调接口?
腾讯云平台提供了告警相关策略的配置,用来监控云产品的健康状态。当云产品出现问题时,会发送告警。告警策略可以在这里进行配置。
腾讯云平台每月赠送1000条告警短信,当短信超过1000后,即使有告警,也不会再发送短信通知。此时,就需要获取到告警信息,用自己的短信渠道来发送。
2.在哪里配置回调地址
回调地址可以在告警策略页面,找到需要配置回调地址的策略,进入编辑页,滚动条拉到最底部,位置如下
点击配置,弹出如下页面:
这里有两个地方需要注意:
路径要写全,开头不要带http://或https://
回调地址的返回页面显示的code,具体方式下面再说。
3.回调接口的接入
可以参见腾讯云关于回调接口的文档。接口文档比较详细,对照着接入即可。
4.接口验证
填入接口后,会发现接口需要验证:
此时,就需要使用到第二步中的code。 这里要求接口在验证时,返回指定的code,由于项目是使用springmvc开发,处理如下:
@ResponseBody
@RequestMapping(value = "/callback")
public Object alarmMessageAccept(@RequestBody AlarmAcceptReq req) {
log.info("收到告警消息:{}", JSON.toJSON(req));
if(StringUtils.isEmpty(req.getSessionId())) {
log.warn("告警消息【{}】的sessionId为空,不进行处理!", req);
//注意:这里的返回值需要与腾讯云要求的值一致。
return "112233";
}
int result = alarmMessageService.saveMessage(req);
if(result != 1) {
log.error("腾讯告警消息保存失败!消息内容:{}", req);
}
AlarmAcceptResp resp = new AlarmAcceptResp();
resp.setRetCode(0);
resp.setSessionId(req.getSessionId());
return resp;
}
页面效果如下:
校验时,会收到腾讯云发送的请求:
验证通过后,就可以接收腾讯云的告警消息了。