您现在的位置是:首页 > Javascript
当前栏目
分布式 | DBLE 监控告警组件
2023-03-20 15:01:00 时间
作者:卢永旺
某大厂 java工程师,负责整个app的后端研发。擅长Spring全家桶,以及后端服务研发常用的各类中间件
本文来源:原创投稿
*爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。
背景
公司内部使用了大量的 DBLE 实例统一代理众多 mysql 实例, 为了增强业务稳定性第一时间可以了解到相关告警. 保证各个业务自身的状态,支持不同 dbGroup 实例分发到不同的告警机器人.
实现原理
参考文档: https://actiontech.github.io/dble-docs-cn/1.config_file/1.11_customized_alert.html
通过 DBLE 的回调事件,实现通知下发
使用方式
一、下载并安装
Github 地址: https://github.com/LuYongwang/dble-alram-webhook/releases
下载 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 在一些场景下 想把告警单独分发到某个机器人 可以设置 不设置默认为 全局默认机器人ID
web_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
# 钉钉机器人ID
web_hook.robot_id=xxxxxxxxxxx
# 这里输入手机号
web_hook.db_config.dbGroup1.principal=150xxxxxxxx,132xxxxxxxx
# robot_id 在一些场景下 想把告警单独分发到某个机器人 可以设置 不设置默认为 全局默认机器人ID
web_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
# 飞书全局机器人ID
web_hook.robot_id=xxxx-xxxx-xxxx-xxxx-xxxx
# db负责人以及告警配置 dbGroup1 为 db.xml 中的 dbgroup节点name principal是负责人告警中会@ ,多个隔开 这里输入userid
web_hook.db_config.dbGroup1.principal=xxxxxx,xxxxx
# robot_id 在一些场景下 想把告警单独分发到某个机器人 可以设置 不设置默认为 全局默认机器人ID
web_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=URL
web_hook.hook_url=http://xxxxxxxx/api/v1/robot/msg/send
web_hook.hook_params=robot_id=xxxx-xxxx-xxxx-xxxxxx
web_hook.db_config.dbGroup1.principal=150xxxxxx,132xxxxxx
web_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>:
>告警代码:DBLE_HEARTBEAT_FAIL
>告警解释:心跳后端节点失败
>告警级别:WARN
>告警节点:xxx
>告警时间:2020-10-15 21:48:11
>告警详情:|dbInstance:dbGroup1-instanceM1|"
},
# 手机号方便@等
"mobile_list": ["150xxxxxx","132xxxxxx"]
}'
效果图
文章推荐:
相关文章
- TiDB Binlog 组件正式开源
- 使用Visual Studio Code对Node.js进行断点调试
- 推荐!数据可视化的十种优秀JavaScript图表库
- Node.js在复杂集成场景下占据统治地位的五个理由
- 玩转Node.js单元测试
- Node.js中内存泄漏分析
- Angular对React:一场关于Web开发者支持率的史诗对决
- 热点推荐:什么是后端开发?
- 谈谈Spring boot 启动层面的开发
- 使用NodeJS将文件或图像上传到服务器
- 编写React组件的最佳实践
- JavaScript MV*框架最值得关注的七个亮点
- 前端开发指南:如何利用PHP Cake框架构建应用
- 基于React与Vue后,移动开源项目Weex如何定义未来
- NodeJS和C++之间的类型转换
- jQuery中的常用到的三十九个技巧
- 官宣|Google Developers中国网站发布!
- NodeJS和C++之间的类型转换
- .NET Core首例Office开源跨平台组件(NPOI Core)
- 如何写出漂亮的React组件