一套拿来即用的RocketMQ监控面板和告警规则
Posted 不识君的荒漠
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一套拿来即用的RocketMQ监控面板和告警规则相关的知识,希望对你有一定的参考价值。
背景
在基于官方提供的rocketmq-exporter搭建监控的时候,官方有提供一个面板,地址:Rocketmq_dashboard dashboard for Grafana | Grafana Labs
类似下面这个截图:
但是看起来有点类似大盘的感觉,有时候指标太多,反而是没有指标。
我重新整理了一个,提交到了github,地址:https://github.com/xxd763795151/rocketmq-monitor
下面是监控和告警相关的配置说明。
下面对这套监控和告警的配置的介绍是假定已经了解Promethues和Grafana基本配置和使用了,所以在下面的说明中,会忽略一些配置操作过程中的细节。如果需要从零开始,建议看下我写的以rocketmq监控为例,在mac上安装prometheus及grafana 作一个参考。
监控
Prometheus配置
修改prometheus的配置文件prometheus.yml,增加如下示例配置:
- job_name: 'rocketmq-exporter'
static_configs:
- targets: ['localhost:5557']
labels:
Env: '开发'
Cluster: 'dev-rmq'
注意增加的两个额外标签:Env和Cluster。
通过重新加载或者暴力重启的方法,使上面的配置生效。
Grafana配置
将grafana.json作grafana的Dashboard导入到grafana中。
grafana.json文件已经提交在github的:rocketmq-monitor/grafana.json at main · xxd763795151/rocketmq-monitor · GitHub
看下截图效果:
p.s. 我最初用了一个demo集群,但是只有一两个topic,效果不够突出,所以找了个有多个topic和消费组的集群配置了下看了下效果,不过这里需要模糊下它们的名字。
告警
我又额外提供了一份告警配置,配置规则在:rocketmq-monitor/rocketmq_alert.yml at main · xxd763795151/rocketmq-monitor · GitHub
但是需要注意的是,在告警规则中,表达式使用了前面增加的Env和Cluster两个标签,注意将规则中使用该标签的值修改为自己配置的这两个标签的值,例如:
- alert: "RocketMQ集群,磁盘空间不足"
expr: rocketmq_brokeruntime_commitlog_disk_ratioCluster="dev-rmq",Env="开发" * 100 > 70
告警规则主要有如下几条:
- broker节点挂了
- 磁盘空间不足
- broker busy告警
- 消息积压
- broker写入消息耗时太久(可能是broker IO压力大或才内存资源不足了)
- 集群发送的tps暴增了(可能是有人突然对集群压测,或者猛写入一批消息了)
推荐阅读
以rocketmq监控为例,在mac上安装prometheus及grafana
可直接拿来用的kafka+prometheus+grafana监控告警配置
以上是关于一套拿来即用的RocketMQ监控面板和告警规则的主要内容,如果未能解决你的问题,请参考以下文章