一分钟实现rabbitMq队列数据堆积监控与指标异常进行钉钉、企业微信告警

0 阅读5分钟
你是不是也遇到过这个问题?👇
RabbitMQ 队列突然堆积,业务延迟却后知后觉
现在,这一切只需 一个配置文件 就能彻底解决!


🚀 工具简介
「MonitorQ」 是一款极简的监控告警中间件,能够同时监控多个服务,并且能够同时收集rabbitmq的数据提供接口给prometheus,方便快速实现业务监控。

 实时队列堆积检测  自动分析队列深度,提前预警堵塞风险
 多通道告警  支持钉钉群、企业微信群消息推送,移动办公无忧
 开箱即用  无需编码,只需编辑 YAML 配置,Linux/Windows 即开即跑

🌟 为什么选择 MonitorQ?
1️⃣ 轻量集成  不依赖复杂中间件,单一可执行文件搞定所有监控场景
2️⃣ 配置即代码  YAML 配置,版本化管理,随业务迭代灵活调整
3️⃣ 多平台原生支持  适配主流操作系统,部署无门槛
4️⃣ 专注核心场景  不做大而全,只做 RabbitMQ 监控场景下最专业的监控利器

💰 定价方案(终身买断制)
19.9 元/永久  不限队列/服务数量,支持所有告警通道(包含永久免费更新代码)

999 元/永久  如果需要源码进行自定义开发 (包含永久免费更新代码 + 远程协助私有化部署 + 代码讲解)

 限时福利:前 100 名购买的用户,免费远程协助私有化部署!

📦 如何使用?
[告别运维焦虑,1分钟实现RabbitMQ+Prometheus指标的智能监控告警系统资源下载](https://download.csdn.net/download/qq_43610686/92701965?spm=1001.2101.3001.9500)

下载压缩包后, 解压并修改 config.yaml,配置监控项与告警方式
然后直接运行,监控从此自动化!

📢 用户怎么说?
“原来我们花两周搭监控,现在用 MonitorQ 只花了 1 分钟。队列积压告警真的救了我们的双十一!” —— 某电商平台运维负责人
“简洁不简单,告警及时,我们小团队也能有大厂的监控体验了。” ——  SaaS 初创公司 CTO

 常见问题
Q:支持容器化部署吗?
A:支持!提供 Docker 镜像,可通过环境变量注入配置。

Q:能否监控多个 RabbitMQ 集群?
A:可以,配置文件中支持多集群并行监控。

Q:未来会增加其他通知方式吗?
A:会根据社区反馈优先扩展飞书、邮件等通道。
🎯 监控从未如此简单。告别被动,主动掌控系统健康!

### 通知效果示例
```
[rabbitMq队列堆积监测] 服务异常
[发送短信队列]指标超过阈值:1000,当前值:345796
[服务异常队列]指标超过阈值:1000,当前值:1618
[消息同步队列]指标超过阈值:1000,当前值:49827
```


### 配置文件介绍(配置文件和可执行文件放在同一个目录下,启动服务即可加载配置)
```
# 监控服务配置(可用于监听多个服务)
services:
  - name: "rabbitMq队列堆积监测"  # 检查的服务名称
    enable: true  # 是否开启监听
    check_type: "http_get" # 检查类型,prometheus,http_get
    http_auth: "admin&&123456"  # 账号&&密码(如果没有可为空,等价于http get请求的 ("Authorization", "Basic "+basicAuth(username, password))),其他的http get请求只要符合也可以进行监控
    point_cfg:
      - name: "log_queue"  #队列名称
        expression: "messages" # 检测的指标信息,通过解析json的key进行获取值,也可以根据实际场景,配置其他字段
        point: 80  # 指标,如果上面查询的值大于该值,则认为该指标异常,就会进行异常通知
        metrics_name: "log_queue_metrics" # 指标名称(用于提供给prometheus拉取指标使用)
        metrics_help: "日志指标"  # 指标说明(用于提供给prometheus拉取指标使用)
        url_extra: "http://172.16.0.76:15672/api/queues/%2F/log_queue"  # 请求的url
      - name: "test1"  #队列名称
        expression: "messages" # 检测的指标信息
        point: 100  # 指标,如果上面查询的值大于该值,则认为该指标异常,就会进行异常通知
        metrics_name: "test1_metrics" # 指标名称(用于提供给prometheus拉取指标使用)
        metrics_help: "测试指标"  # 指标说明(用于提供给prometheus拉取指标使用)
        url_extra: "http://172.16.0.76:15672/api/queues/%2F/test1" # 请求的url
    health_time: 30 # 健康检查时间(秒)
    notify: true  # 是否开启异常通知
    notify_type: "weixin"  # 通知类型(目前仅支持钉钉+微信)
    webhook_url: "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=a9e1e99f-9cc9-4386-825c-123456789"
    secret: ""   ## 微信通知不需要Secret
    At: "@18749066777"  # @指定用户,可为空
    restart_on_failure: false  # 是否在失败时重启服务
    restart_command: ""  # 重启的脚本,linux上必须是可执行的sh文件.,windows上必须是可执行的bat文件

# 数据库配置(无需更改) # 使用的sqlite作为存储库,方便下载到本地,自定义查询和分析
database:
  path: "./monitor.db"
  auto_migrate: true    # 是否开启自动迁移,默认开启,初次使用需要开启,建议不要更改
  delete_old_data: true  # 是否开启删除老数据
  delete_old_data_day: 7 # 删除超过7天的数据

ports: ":8098"  # 监听端口
## 查看最近3天失败的日志: http://localhost:8098/log/3/e
## 查看最近3天所有的日志: http://localhost:8098/log/3
## 查看今天所有的日志: http://localhost:8098

license:  # 使用许可证,服务启动后,会打印许可证的公钥(直接访问 http://localhost:8098 也可以获取公钥),私聊管理员,获取私钥。

```