前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >分布式 | DBLE 监控告警组件

分布式 | DBLE 监控告警组件

作者头像
爱可生开源社区
发布2021-11-30 13:29:49
2240
发布2021-11-30 13:29:49
举报
文章被收录于专栏:爱可生开源社区

作者:卢永旺

某大厂 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、配置文件配置
代码语言:javascript
复制
vim $DBLE_HOME/config/dble_alert.properties
2、配置文件详解与案例
企业微信
代码语言:javascript
复制
# 固定写法
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

钉钉配置
代码语言:javascript
复制
# 固定写法
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
飞书配置
代码语言:javascript
复制
# 入口
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 配置
代码语言:javascript
复制
# 入口
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 接口自行实现

代码语言:javascript
复制
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"]
   }'
效果图

文章推荐:

分布式 | 关于 druid 连接池参数问题

分布式 | 使用 Arthas 热更新 dble

分布式 | Prepare Statement 协议游标可行性

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-11-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 爱可生开源社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 背景
  • 实现原理
  • 使用方式
    • 一、下载并安装
      • 二、配置
        • 1、配置文件配置
        • 2、配置文件详解与案例
        • 效果图
    相关产品与服务
    消息队列 TDMQ
    消息队列 TDMQ (Tencent Distributed Message Queue)是腾讯基于 Apache Pulsar 自研的一个云原生消息中间件系列,其中包含兼容Pulsar、RabbitMQ、RocketMQ 等协议的消息队列子产品,得益于其底层计算与存储分离的架构,TDMQ 具备良好的弹性伸缩以及故障恢复能力。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档