# 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 导包
import com.xesv5.dog.Alarm;
import com.xesv5.dog.AlarmLevel;
import com.xesv5.dog.AlarmResponse;
import com.xesv5.dog.exceptions.AlarmException;
1
2
3
4
2
3
4
# Step2 实例化Alarm
new
一个Alarm
类的实例,并用Builder
模式初始化参数
taskid:Integer或int类型
token: String
1.简单使用
Alarm alarm = new Alarm.Builder(taskid, "token").build();
1
2.设置其他可选参数
ArrayList<Integer> userUids = new ArrayList<>(Arrays.asList(204077, 100001, 088821));
Alarm alarm = new Alarm.Builder(504,
"8c9db98a9ba4431e313762232")
.setAlarmGroups(userUids)
.setWeChat(userUids)
.setYachWorker(userUids)
.setEmail(userUids)
.setPhone(userUids)
.setSms(userUids)
.setDingWorker(userUids)
.setDingGroup("token", "secret")
.setYachGroup("token", "secret")
.setBaseUri("https://alarm-dog-service.domain.com")
.build();
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
# Step3 调用方法
测试SDK
AlarmResponse resp = alarm.test();
1
告警通知内容:content:Map对象
Map<String, Object> content = new HashMap<String, Object>(){
{
put("我是key", "value");
put("age", 20);
}
};
// 默认通知级别:Notice 通知,默认通知时间:当前时间戳
AlarmResponse resp = alarm.report(content);
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
指定告警级别,通知时间,暂不支持临时通知渠道
Map<String, Object> content = new HashMap<String, Object>() {{
put("key", "value");
put("喜欢", "你");
}};
AlarmResponse resp = alarm.report(content, AlarmLevel.WARNING, null);
1
2
3
4
5
6
2
3
4
5
6
# 使用实例完整代码
import com.xesv5.dog.Alarm;
import com.xesv5.dog.AlarmLevel;
import com.xesv5.dog.AlarmResponse;
import com.xesv5.dog.exceptions.AlarmException;
import java.util.*;
public class Test {
public static void main(String[] args) throws AlarmException {
ArrayList<Integer> userUids = new ArrayList<>(Arrays.asList(44, 45, 22));
Alarm alarm = new Alarm.Builder(504,
"8c9db98a9ba443f9cb762232")
// .setAlarmGroups(userUids)
// .setWeChat(userUids)
// .setYachWorker(userUids)
// .setEmail(userUids)
// .setPhone(userUids)
// .setSms(userUids)
// .setDingWorker(userUids)
// .setDingGroup("122223", "123")
// .setYachGroup("789", "222")
.setBaseUri("https://alarm-dog-service.domain.com")
.build();
Map<String, Object> content = new HashMap<String, Object>() {{
put("number", 1);
put("喜欢", "你");
}};
AlarmResponse resp = alarm.report(content);
AlarmResponse resp2 = alarm.report(content, AlarmLevel.ERROR, null);
System.out.println(resp.getCode());
System.out.println(resp2.getCode());
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40