Promethues:rocketmq_exporter初始化安裝

1.背景

接前文,以前分享了node_exporter的安裝,對於rocketmq而言,不只要監控最基本的機器信息,同時也要監控rocketmq的服務可用性。常見的一些服務指標包括:producer的消息生產tps,consumer的消費tps,整個集羣的broker的tps等。這裏咱們使用rocketmq-exporter來採集相關的信息。html

2.項目

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

3.採集維度

以下是常見的一些採集維度node

1)brokergit

若是你不使用事務的話,以下的兩個指標能夠當作同樣的。github

指標 指標
rocketmq_broker_tps 單個broker的tps(每秒事物處理數)
rocketmq_broker_qps 單個broker的qps(每秒請求處理數)

2)producerweb

主要是生產相關的指標docker

指標 指標
rocketmq_producer_tps 單個topic的消息生產的TPS
rocketmq_producer_message_size 單個topic每秒消息生產的總數據量大小
rocketmq_producer_offset 單個topic消息生產的offset

3)Consumer Groupsapache

主要是消費相關的指標app

Name Exposed 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上的幫助說明maven

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

相關文章
相關標籤/搜索