您的位置:首页 > 产品设计 > UI/UE

Promethues:rocketmq_exporter初始化安装

2020-10-22 08:07 1341 查看

1.背景

接前文,之前分享了node_exporter的安装,对于rocketmq而言,不仅要监控最基本的机器信息,同时也要监控rocketmq的服务可用性。常见的一些服务指标包括:producer的消息生产tps,consumer的消费tps,整个集群的broker的tps等。这里我们使用rocketmq-exporter来采集相关的信息。

2.项目

地址:https://github.com/apache/rocketmq-exporter

3.采集维度

如下是常见的一些采集维度

1)broker

如果你不使用事务的话,如下的两个指标可以看成一样的。

指标指标
rocketmq_broker_tps
单个broker的tps(每秒事物处理数)
rocketmq_broker_qps
单个broker的qps(每秒请求处理数)

2)producer

主要是生产相关的指标

指标指标
rocketmq_producer_tps
单个topic的消息生产的TPS
rocketmq_producer_message_size
单个topic每秒消息生产的总数据量大小
rocketmq_producer_offset
单个topic消息生产的offset

3)Consumer Groups

主要是消费相关的指标

NameExposed information
rocketmq_consumer_tps
单consumer组每秒消息的TPS
rocketmq_consumer_message_size
单consumer组每秒消息消息的总数据大小
rocketmq_consumer_offset
单consumer组消息的offset
rocketmq_group_get_latency_by_storetime
单consumer组消息延迟(与对应topic生产的offset差值)

这里列举的是常见的指标, 其他指标参考Github上的帮助说明

4.安装

4.1 配置

如表所示,我们需要配置就rocketmq.config.namesrvAddr和rocketmq.config.rocketmqVersion这两项。

name

Default

Description

rocketmq.config.namesrvAddr

127.0.0.1:9876

这里需要指定为实际的nameserverip

rocketmq.config.webTelemetryPath

/metrics

暴漏出来的metrics的path,不用修改

server.port

5557

监听端口号,一般也不用挨

rocketmq.config.rocketmqVersion

V4_7_1

这里修改为对应rocketmq的版本,比如我使用的就是rocketmq的v4.7.1版本

4.2 下载项目

git clone https://github.com/apache/rocketmq-exporter
cd rocketmq-exporter

4.3 编译

编译可以编译二进制版本docker镜像

4.3.1 编译二进制

这种方式需要安装maven,执行:

mvn clean install 

生成的产物为:rocketmq-exporter-0.0.2-SNAPSHOT.jar 

4.3.2 编译docker镜像

这种方式依赖docker环境,需要预装docker环境,参考docker环境搭建

1)DockerFile修改(否则编译会失败,见FAQ部分)

执行:vi src/main/docker/Dockerfile,编辑为如下内容(黑体)

FROM java:8

MAINTAINER breeze

ADD rocketmq-exporter-0.0.2-SNAPSHOT.jar quickstart.jar

EXPOSE 5557

ENTRYPOINT ["java","-jar","quickstart.jar"]

2)编译docker镜像

mvn package -Dmaven.test.skip=true docker:build

3)查看docker镜像

docker images | grep rocket

5. 运行

5.1 二进制方式

1)启动

#nameserver1为实际的nameserver的ip,在/etc/hosts中配置的
nohup java -jar target/rocketmq-exporter-0.0.2-SNAPSHOT.jar --rocketmq.config.namesrvAddr=nameserver1:9876 -rocketmq.config.rocketmqVersion=V4_7_1 &

2)停止

ps aux | grep rocketmq-exporter | awk '{print $2}' | xargs kill -9

5.2 docker方式

1) 启动

#nameserver1为实际的nameserver的ip,在/etc/hosts中配置的
docker run -d --name rmq-export --net="host" -p 5557:5557 rocketmq-exporter --rocketmq.config.namesrvAddr=nameserver1:9876 -rocketmq.config.rocketmqVersion=V4_7_1

2)停止

docker stop rmq-export

5.3 查看端口号

netstat -nltp | grep 5557

博主:测试生财

座右铭:用测试完成原始积累,用投资奔向财务自由

csdn:https://blog.csdn.net/ccgshigao

博客园:https://www.cnblogs.com/qa-freeroad/

51cto:https://blog.51cto.com/14900374


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: