一:在配置文件中,设置webhook的请求路径,默认请求格式是post请求,json请求体,创建一个接口,@RequestBody注解,用对象接收请求参数就行了,很简单。
1)规则设置,上面默认规则先不用动,先调通这个回调接口,规则官网上都比较清楚官网文档
2)webhook配置。位置在:\config\alarm-settings.yml 最后一行就是了,
3)新建一个实体,(我自己找的时候,好多字段类型都是错的,我自己试的,都是String类型)
- scopeId、scope:
- name:目标 Scope 的实体名称
- id0:Scope 实体的 ID
- id1:保留字段,目前暂未使用
- ruleName:告警规则名称
- alarmMessage:告警消息内容
- startTime:告警时间,格式为时间戳
@Data
@AllArgsConstructor
@NoArgsConstructor
public class AlarmMessage implements Serializable {
private String scopeId;
private String scope;
private String name;
private String id0;
private String id1;
private String ruleName;
//告警的消息
private String alarmMessage;
//告警的产生时间
private Long startTime;
}
4)新建一个新接口(我自己写的直接拷贝过来了,你们把alarm接口中的东西换换就行了,主要是调通,具体实现你们自己搞)
搞好之后一直调用test接口,三四次就有告警了,你也可以多点几次,有时候有点延迟
钉钉机器人感兴趣的话,可以去看一下,也很简单自定义钉钉群机器人(依赖版本2.0往上)
@PostMapping("/alarm")
@ApiOperation(value = "钉钉消息推送")
public String alarm(@RequestBody List<AlarmMessage> alarmMessageList) throws Exception {
DingSDKUtil dingSDKUtil = new DingSDKUtil();
dingSDKUtil.sendInfo(alarmMessageList.get(0).toString());
System.out.println(alarmMessageList);
return "ok";
}
@GetMapping("/test")
@ApiOperation("测试接口")
public String test() {
try {
Thread.sleep(1500);
} catch (InterruptedException e) {
e.printStackTrace();
}
return "timeout";
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/160719.html