Java告警SDK

该SDK为哮天犬监控告警平台告警接口的java版本的实现,增加了非常友好的方式使用,开箱即用。感谢 @白宇(baiyu10) 老师贡献SDK源码。

代码仓库

https://github.com/tal-tech/alarm-dog-java-sdk
最新文档请参考代码仓库的 README.md 文件说明

下载并导入jar包到你的项目

支持JDK1.8及以上版本,jar包在 release 目录下,直达链接如下:
https://github.com/tal-tech/alarm-dog-java-sdk/tree/master/release

使用方法

Step1 导包

  1. import com.xesv5.dog.Alarm;
  2. import com.xesv5.dog.AlarmLevel;
  3. import com.xesv5.dog.AlarmResponse;
  4. import com.xesv5.dog.exceptions.AlarmException;

Step2 实例化Alarm

new一个Alarm类的实例,并用Builder模式初始化参数
taskid:Integer或int类型 token: String
1.简单使用

  1. Alarm alarm = new Alarm.Builder(taskid, "token").build();

2.设置其他可选参数

  1. ArrayList<Integer> userUids = new ArrayList<>(Arrays.asList(204077, 100001, 088821));
  2. Alarm alarm = new Alarm.Builder(504,
  3. "8c9db98a9ba4431e313762232")
  4. .setAlarmGroups(userUids)
  5. .setWeChat(userUids)
  6. .setYachWorker(userUids)
  7. .setEmail(userUids)
  8. .setPhone(userUids)
  9. .setSms(userUids)
  10. .setDingWorker(userUids)
  11. .setDingGroup("token", "secret")
  12. .setYachGroup("token", "secret")
  13. .setBaseUri("https://alarm-dog-service.domain.com")
  14. .build();

Step3 调用方法

测试SDK

  1. AlarmResponse resp = alarm.test();

告警通知内容:content:Map对象

  1. Map<String, Object> content = new HashMap<String, Object>(){
  2. {
  3. put("我是key", "value");
  4. put("age", 20);
  5. }
  6. };
  7. // 默认通知级别:Notice 通知,默认通知时间:当前时间戳
  8. AlarmResponse resp = alarm.report(content);

指定告警级别,通知时间,暂不支持临时通知渠道

  1. Map<String, Object> content = new HashMap<String, Object>() {{
  2. put("key", "value");
  3. put("喜欢", "你");
  4. }};
  5. AlarmResponse resp = alarm.report(content, AlarmLevel.WARNING, null);

使用实例完整代码

  1. import com.xesv5.dog.Alarm;
  2. import com.xesv5.dog.AlarmLevel;
  3. import com.xesv5.dog.AlarmResponse;
  4. import com.xesv5.dog.exceptions.AlarmException;
  5. import java.util.*;
  6. public class Test {
  7. public static void main(String[] args) throws AlarmException {
  8. ArrayList<Integer> userUids = new ArrayList<>(Arrays.asList(44, 45, 22));
  9. Alarm alarm = new Alarm.Builder(504,
  10. "8c9db98a9ba443f9cb762232")
  11. // .setAlarmGroups(userUids)
  12. // .setWeChat(userUids)
  13. // .setYachWorker(userUids)
  14. // .setEmail(userUids)
  15. // .setPhone(userUids)
  16. // .setSms(userUids)
  17. // .setDingWorker(userUids)
  18. // .setDingGroup("122223", "123")
  19. // .setYachGroup("789", "222")
  20. .setBaseUri("https://alarm-dog-service.domain.com")
  21. .build();
  22. Map<String, Object> content = new HashMap<String, Object>() {{
  23. put("number", 1);
  24. put("喜欢", "你");
  25. }};
  26. AlarmResponse resp = alarm.report(content);
  27. AlarmResponse resp2 = alarm.report(content, AlarmLevel.ERROR, null);
  28. System.out.println(resp.getCode());
  29. System.out.println(resp2.getCode());
  30. }
  31. }