作者:卢永旺
某大厂 java工程师,负责整个app的后端研发。善于Spring全家桶,以及后端服务研
发罕用的各类中间件本文起源:原创投稿
*爱可生开源社区出品,原创内容未经受权不得随便应用,转载请分割小编并注明起源。
背景
公司外部应用了大量的 DBLE 实例对立代理泛滥 mysql 实例, 为了加强业务稳定性第一工夫能够理解到相干告警. 保障各个业务本身的状态,反对不同 dbGroup 实例散发到不同的告警机器人.
实现原理
参考文档: https://actiontech.github.io/...
通过DBLE的回调事件,实现告诉下发
应用形式
一、下载并装置
Github 地址: https://github.com/LuYongwang...
下载 jar 包,放到 lib 目录下, 该 jar 包无任何三方依赖, 所有依赖项均为 DBLE 已有依赖 不会影响 DBLE 稳定性
二、配置
1、配置文件配置
vim $DBLE_HOME/config/dble_alert.properties
2、配置文件详解与案例
企业微信
# 固定写法alert=io.github.luyongwang.dble.WebHookAlarmAlert# 告警中的节点名称component_id=DBLE-10.0.142.11# 企业微信告警 (必须)web_hook.type=WORK_WECHAT# 企业微信 全局默认机器人ID (必须)web_hook.robot_id=xxxx-xxxx-xxxx-xxxx-xxxxxx# db负责人以及告警配置 dbGroup1 为 db.xml 中的 dbgroup节点name principal是负责人告警中会@ ,多个隔开web_hook.db_config.dbGroup1.principal=xxxxx,xxxxx# robot_id 在一些场景下 想把告警独自散发到某个机器人 能够设置 不设置默认为 全局默认机器人IDweb_hook.db_config.dbGroup1.robot_id=xxxx-yyyy-zzzz-xxxx-yyyy
钉钉配置
# 固定写法alert=io.github.luyongwang.dble.WebHookAlarmAlert# 告警中的节点名称component_id=DBLE-10.0.142.11# 钉钉告警web_hook.type=DING_TALK# 钉钉机器人IDweb_hook.robot_id=xxxxxxxxxxx# 这里输出手机号web_hook.db_config.dbGroup1.principal=150xxxxxxxx,132xxxxxxxx# robot_id 在一些场景下 想把告警独自散发到某个机器人 能够设置 不设置默认为 全局默认机器人IDweb_hook.db_config.dbGroup1.robot_id=xxxxxxxxxxxxxxxxxxxxxxxxxxx
飞书配置
# 入口alert=io.github.luyongwang.dble.WebHookAlarmAlert# 告警中的节点名称component_id=DBLE-10.0.142.11# WEBHOOK配置web_hook.type=FEI_SHU# 飞书全局机器人IDweb_hook.robot_id=xxxx-xxxx-xxxx-xxxx-xxxx# db负责人以及告警配置 dbGroup1 为 db.xml 中的 dbgroup节点name principal是负责人告警中会@ ,多个隔开 这里输出useridweb_hook.db_config.dbGroup1.principal=xxxxxx,xxxxx# robot_id 在一些场景下 想把告警独自散发到某个机器人 能够设置 不设置默认为 全局默认机器人IDweb_hook.db_config.dbGroup1.robot_id=xxxx-xxxxx-xxxx-xxxx-xxxx
自定义 WebHook 配置
# 入口alert=io.github.luyongwang.dble.WebHookAlarmAlert# 告警中的节点名称component_id=DBLE-10.0.142.11# WEBHOOK配置web_hook.type=URLweb_hook.hook_url=http://xxxxxxxx/api/v1/robot/msg/sendweb_hook.hook_params=robot_id=xxxx-xxxx-xxxx-xxxxxxweb_hook.db_config.dbGroup1.principal=150xxxxxx,132xxxxxxweb_hook.db_config.dbGroup1.hook_params=robot_id=xxx-xxx-xxxx-xxxx-xxxx
自定义 webHook 申请示例 webHook 接口自行实现
curl '{hook_url}?{hook_params}' \ -H 'Content-Type: application/json' \ -d ' { "msgtype": "markdown", "markdown": { "content": "<font color='warning'>DBLE告警音讯</font>:\n >告警代码:DBLE_HEARTBEAT_FAIL\n >告警解释:心跳后端节点失败\n >告警级别:WARN\n >告警节点:xxx\n >告警工夫:2020-10-15 21:48:11\n >告警详情:|dbInstance:dbGroup1-instanceM1|" }, # 手机号不便@等 "mobile_list": ["150xxxxxx","132xxxxxx"] }'