作者:火影白 | 来源:互联网 | 2024-11-16 13:53
本文将详细介绍如何实现 RocketMQ 的运维监控,包括监控平台的搭建和常用运维命令的使用。通过这些方法,您可以更好地管理和维护 RocketMQ 系统。
消息中间件的监控是确保系统稳定性和运维效率的重要手段。通过监控,我们可以实时查看系统的运行情况,及时发现并处理异常。
1. 监控平台搭建
首先,从 GitHub 下载 RocketMQ 控制台的源码:https://github.com/apache/rocketmq-externals
下载后,需要自行编译打包。可以在编译时设置 namesrvAddr 和端口号,也可以在程序启动时指定这些参数(适用于 SpringBoot 项目)。
使用 Maven 打包:
mvn clean package -Dmaven.test.skip=true
启动程序:
nohup java -jar rocketmq-console-ng-1.0.0.jar --server.port=8080 --rocketmq.config.namesrvAddr=10.10.15.246:9876;10.10.15.246:9876 &
在浏览器中访问控制台:
控制台不仅提供系统监控数据,还包含多种运维功能,如创建主题、修改主题、删除主题、主题列表信息、主题配置信息、消费组信息、消费进度查询、Broker 节点信息、消息查询等。
2. 常用运维命令
以下是 RocketMQ 提供的一些常用运维命令及其用法。
2.1 创建或更新主题 (updateTopic)
./mqadmin updateTopic -b 10.10.15.247:10911 -t TopicCmd
具体参数详情可以通过命令提示获取。
2.2 删除主题 (deleteTopic)
./mqadmin deleteTopic -n 10.10.15.246:9876 -c 10.10.15.246:10911 -t TopicCmd
2.3 创建或更新消费组 (updateSubGroup)
./mqadmin updateSubGroup -n 10.10.15.246:9876 -b 10.10.15.247:10911 -g GroupTest
2.4 删除消费组 (deleteSubGroup)
./mqadmin deleteSubGroup -n 10.10.15.246:9876 -b 10.10.15.246:10911 -g GroupTest
2.5 查询主题队列信息 (topicStatus)
./mqadmin topicStatus -n 10.10.15.246:9876 -t TopicTest
2.6 查询主题路由信息 (topicRoute)
./mqadmin topicRoute -n 10.10.15.246:9876 -t TopicTest
2.7 查询主题列表 (topicList)
./mqadmin topicList -n 10.10.15.246:9876
2.8 查询 Broker 节点信息 (brokerStatus)
./mqadmin brokerStatus -n 10.10.15.246:9876 -b 10.10.15.246:10911
2.9 通过 KEY 查询消息 (queryMsgByKey)
./mqadmin queryMsgByKey -n 10.10.15.246:9876 -k 2000000 -t TopicTest
注意:由于 KEY 是用户自定义的,查询时可能会返回多条消息。
2.10 通过消息 ID 查询消息 (queryMsgById)
./mqadmin queryMsgById -i 0A0A0FF600002A9F000000000180DD31
发送消息时返回的信息中包含消息的 offsetMsgId,可以用于查询。
2.11 打印消息 (printMsg)
./mqadmin printMsg -n 10.10.15.246:9876 -t TopicTest -b 2019-07-26#07:50:00:000 -e 2019-07-26#09:00:00:000
2.12 查看消费状态 (brokerConsumeStats)
./mqadmin brokerConsumeStats -b 10.10.15.246:10911
2.13 查看集群节点信息 (clusterList)
./mqadmin clusterList -n 10.10.15.246:9876
2.14 查看总体消费状态 (statsAll)
./mqadmin statsAll -n 10.10.15.246:9876
2.15 查看消费组下的消费者信息 (consumerConnection)
./mqadmin consumerConnection -n 10.10.15.246:9876 -g group_name_1
2.16 查看消费进度信息 (consumerProgress)
./mqadmin consumerProgress -n 10.10.15.246:9876
2.17 重置消费点位 (resetOffsetByTime)
./mqadmin resetOffsetByTime -n 10.10.15.246:9876 -t TopicTest -g group_name_1 -s 2019-07-26#07:00:00:000
2.18 查看消息队列负载情况 (allocateMQ)
./mqadmin allocateMQ -t TopicTest -i 192.168.1.104,10.10.14.163 -n 10.10.15.246:9876
2.19 测试 Broker 接收消息的性能 (sendMsgStatus)
./mqadmin sendMsgStatus -n 10.10.15.246:9876 -b broker-a -c 3
2.20 测试集群消息发送的性能 (clusterRT)
./mqadmin clusterRT -n 10.10.15.246:9876 -s 128
2.21 查看 Broker 配置信息 (getBrokerConfig)
./mqadmin getBrokerConfig -b 10.10.15.246:10911
通过以上内容,您应该对 RocketMQ 运维监控的实现方法有了更深入的了解。建议实际操作一番,以加深理解和掌握。这里是编程笔记网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!