Webhook 告警中心接入
目前项目支持的告警条件是队列容量到达阈值 0.8 告警,平台为钉钉和企业微信,后续会支持更多...
maven 依赖
<dependency>
<groupId>io.github.cnzhangxy51</groupId>
<artifactId>dynamic-thread-pool-core</artifactId>
<version>1.0.0</version>
</dependency>
钉钉
配置文件 yml 格式
dynamic:
thread:
pool:
config:
notifier:
# 状态;true = 开启、false 关闭
enabled: true
# 告警平台相关
channel:
platform: dingding
CUSTOM_ROBOT_TOKEN:
USER_ID:
SECRET:
cron: "*/30 * * * * ?"
# 告警信息
messages:
user: # 告警联系人
extend: # 告警拓展信息
⚠️注:CUSTOM_ROBOT_TOKEN,USER_ID,SECRET 请填写自己的,申请方式查看钉钉开发文档
企业微信
配置文件 yml 格式
dynamic:
thread:
pool:
config:
notifier:
# 状态;true = 开启、false 关闭
enabled: true
# 告警平台相关
channel:
platform: wechat
key:
cron: "*/30 * * * * ?"
⚠️注:key 请填写自己的,申请方式查看企业微信开发文档
自定义 Webhook
- 修改配置文件
dynamic:
thread:
pool:
config:
notifier:
# 状态;true = 开启、false 关闭
enabled: true
# 告警平台相关
channel:
platform:
url:
cron: "*/30 * * * * ?"
messages:
user:
extend: none
⚠️注:将 platform、url 、user改成自己的,其余需要传入的信息放在messages.extend中,获取方式查看告警信息
继承 AbstractWebhookNotifier 抽象类,调用 AbstractWebhookNotifier 中提供的方法
java// 获取告警信息 public String getNotifyMessage(Map.Entry<ThreadPoolConfigEntity, Double> entry) // 扩展告警信息 public String extendNotifyMessage(String before, Map<String, String> messages) // 查看队列容量是否超过阈值 public Map<ThreadPoolConfigEntity, Double> checkCondition()
SPI 配置
resources/META-INF/services 下配置 java spi 实现
文件名:cn.xyfv.middleware.dynamic.thread.pool.sdk.notifier.INotifier
文件值:(三选一)
cn.xyfv.middleware.dynamic.thread.pool.sdk.notifier.webhook.impl.WechatNotifier(企业微信)
cn.xyfv.middleware.dynamic.thread.pool.sdk.notifier.webhook.impl.DingdingNotifier(钉钉)
自定义告警中心全类名
自定义告警中心接入
目前项目支持的告警条件是队列容量到达阈值 0.8 告警,后续会支持更多...
maven 依赖
<dependency>
<groupId>io.github.cnzhangxy51</groupId>
<artifactId>dynamic-thread-pool-core</artifactId>
<version>1.0.0</version>
</dependency>
自定义 Webhook
- 修改配置文件
dynamic:
thread:
pool:
config:
notifier:
# 状态;true = 开启、false 关闭
enabled: true
# 告警平台相关
channel:
platform:
url:
cron: "*/30 * * * * ?"
messages:
user:
extend: none
⚠️注:将 platform、url 、user改成自己的,其余需要传入的信息放在messages.extend中,获取方式查看告警信息
继承 AbstractNotifier 抽象类,调用 AbstractWebhookNotifier 中提供的方法
java// 查看队列容量是否超过阈值 public Map<ThreadPoolConfigEntity, Double> checkCondition()
SPI 配置
resources/META-INF/services 下配置 java spi 实现
文件名:cn.xyfv.middleware.dynamic.thread.pool.sdk.notifier.INotifier
文件值:自定义告警中心全类名