接前文,以前分享了node_exporter的安裝,對於rocketmq而言,不只要監控最基本的機器信息,同時也要監控rocketmq的服務可用性。常見的一些服務指標包括:producer的消息生產tps,consumer的消費tps,整個集羣的broker的tps等。這裏咱們使用rocketmq-exporter來採集相關的信息。html
地址:https://github.com/apache/rocketmq-exporterjava
以下是常見的一些採集維度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
如表所示,咱們須要配置就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版本 |
git clone https://github.com/apache/rocketmq-exporter cd rocketmq-exporter
編譯能夠編譯二進制版本和docker鏡像
這種方式須要安裝maven,執行:
mvn clean install
生成的產物爲:rocketmq-exporter-0.0.2-SNAPSHOT.jar
這種方式依賴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
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
netstat -nltp | grep 5557
博主:測試生財
座右銘:用測試完成原始積累,用投資奔向財務自由
csdn:https://blog.csdn.net/ccgshigao