JAVA全系列 教程
3762个小节阅读:7090.2k
目录
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
Webhok可以简单理解为是一种Web层面的回调机制。告警就是一个事件,当事件发生时Skywalking会主动调用一个配置好的接口,这个接口就是所谓的Webhook;
注意:
Skywalking的告警消息会通过借HTTP请求进行发送,请求方法为POST (Content-Type 为application/json。其JSON数据实基于List<org.apache.skywalking.oap.server.core.alarm.AlarmMessage>进行序列化的。
xxxxxxxxxx
[{
"scopeId": 1,
"scope": "SERVICE",
"name": "serviceA",
"id0": "12",
"id1": "",
"ruleName": "service_resp_time_rule",
"alarmMessage": "alarmMessage xxxx",
"startTime": 1560524171000
}]
xxxxxxxxxx
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.22</version>
</dependency>
https://github.com/apache/skywalking/blob/v8.5.0/docs/en/setup/backend/backend-alarm.md
xxxxxxxxxx
import lombok.Data;
@Data
public class AlarmMessageDto {
private int scopeId;
private String scope;
private String name;
private String id0;
private String id1;
private String ruleName;
private String alarmMessage;
private List<Tag> tags;
private long startTime;
private transient int period;
private transient boolean onlyAsCondition;
@Data
public static class Tag{
private String key;
private String value;
}
}
xxxxxxxxxx
/**
* 订单机器人通知的
*/
@PostMapping("dingding")
public void sendDinding(@RequestBody List<AlarmMessageDto> alarmMessageDtoList) {
StringBuilder builder = new StringBuilder();
alarmMessageDtoList.forEach(info -> {
builder.append("\nscopeId:").append(info.getScopeId())
.append("\nScope实体:").append(info.getScope())
.append("\n告警消息:").append(info.getAlarmMessage())
.append("\n告警规则:").append(info.getRuleName())
.append("\n\n------------------------\n\n");
});
}
alarm-settings.yml 增加alarm接口
1.Webhok可以简单理解为是一种Web层面的_____机制。
A 回调
B 请求
C 告警
D 以上都是错误
1=>A