个人技术分享

1、前言

RocketMQ-Exporter 主要是配合 Prometheus 来做监控,下面来看看当前在 Expoter 中定义了哪些监控指标和告警指标。

2、rocketmq-exporter

官网下载

GitHub - apache/rocketmq-exporter: Apache RocketMQ Prometheus Exporter

安装

修改配置文件application.yml中namesrvAddr的地址,修改成需要监控的集群namesrv

编译打包

# 进入代码目录,进行编译
mvn clean install

打包之后在target文件夹下生成了jar包:

运行

切换到target目录下,执行命令

java -jar rocketmq-exporter-0.0.3-SNAPSHOT-exec.jar

启动返回如下结果,并访问:http://127.0.0.1:5557/,返回集群节点的情况

3、Prometheus

官网下载

Download | Prometheus

注意:mac的要下载darwin,具体原因可查看:【Mac】mac 安装 prometheus 报错 prometheus: prometheus: cannot execute binary file-CSDN博客

配置

修改prometheus.yml配置文件,添加rocketmq-exporter的监听配置

启动

./prometheus --config.file=./prometheus.yml &

检查是否启动成功:

可以看到Prometheus已经启动成功,并且rocketmq-exporter采集的指标也收集到了。

4、常用指标

类型 监控项 说明
Broker rocketmq_broker_tps 单个broker每秒生成的消息数
rocketmq_broker_qps 单个broker的qps(每秒请求处理数)
Producer rocketmq_producer_tps 单个topic的消息生产的(TPS生产tps)
rocketmq_producer_message_size 单个topic每秒消息生产的总数据量大小
rocketmq_producer_offset 单个topic消息生产的offset
Consumer Groups rocketmq_consumer_tps 单个consumer组每秒消息的TPS(消费tps)
rocketmq_consumer_message_size 单个consumer组每秒消息消息的总数据大小
rocketmq_consumer_offset 单个consumer组消息的offset
rocketmq_group_get_latency_by_storetime 单个消费组延迟时间
rocketmq_group_get_latency 单个队列的某个主题的消费者延迟
rocketmq_message_accumulation 单个消费组延迟消费消息数量
Consumer rocketmq_client_consume_fail_msg_count 消费者一小时内消费消息失败的数量
rocketmq_client_consume_fail_msg_tps 消费者每秒消费消息失败的数量
rocketmq_client_consume_ok_msg_tps 消费者每秒消费成功的消息数
rocketmq_client_consumer_pull_tps 消费者每秒消费的消息数
rocketmq_client_consume_rt 每条消息的平均消费时间
rocketmq_client_consumer_pull_rt 拉取每条消息的平均时间
rocketmq_client_consumer_pull_tps 客户端每秒拉取的消息数
Container container_cpu_usage_seconds_total 容器CPU使用率
container_memory_usage_bytes 当前使用的内存量
container_fs_usage_bytes 容器磁盘空间使用
container_fs_writes_bytes_total 磁盘写入速度
container_fs_reads_bytes_total 磁盘读取速度

rocketmq_broker_tps VS rocketmq_broker_qps

QPS和TPS有时候差异比较大,比如TPS为2w,也就是每秒发送了2w的消息量,如果每条消息有3个消费者,就是一条消息被消费3次,QPS为6w。

rocketmq_broker_tps VS rocketmq_producer_tps

后者是topic维度的,所有topic的tps之和,就是broker tps。

大盘指标如下:

参考:

【RocketMQ】从零搭建一套RocketMQ监控(rocketmq-exporter + Prometheus + Grafana)-CSDN博客