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
官网下载
注意:mac的要下载darwin,具体原因可查看:【Mac】mac 安装 prometheus 报错 prometheus: prometheus: cannot execute binary file-优快云博客
配置
修改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)-优快云博客