一套拿来即用的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

prometheus配置告警分发到不同的钉钉群

prometheus可视化方式配置告警分发到不同的钉钉群

可直接拿来用的kafka+prometheus+grafana监控告警配置

以上是关于一套拿来即用的RocketMQ监控面板和告警规则的主要内容,如果未能解决你的问题,请参考以下文章

开箱即用的 Prometheus 告警规则集

开箱即用的 Prometheus 告警规则集

模板学堂丨Zabbix监控告警大屏

可直接拿来用的kafka+prometheus+grafana监控告警配置

拿来即用的 Python SSH+SFTP 实现类

一套SpringCloud电商项目,拿来即用!