1 安装部署
具体部署启动请参考:RocketMQ从安装、压测到运维一站式文档_rocketmq benchmark压测-CSDN博客
RocketMq的dashboard,有运维页面,驾驶舱,集群页面,主题页面,消费者页面,生产者页面,发布管理页面,消息查询页面等,为开发和运维提供了强大的监控功能。
2 功能概览
2.1 OPS-运维
功能:namesrv地址,可以修改更新。
NameServerAddressList:namesrv地址,application.yml配置文件中namesrv参数配置。端口默认是9876,多个用分号隔开。
- 你可以修改这个服务使用的namesrv的地址
- 你可以修改这个服务是否使用VIPChannel(如果你的mq server版本小于3.5.8,请设置不使用)
2.2 Dashboard-驾驶舱
功能:查看broker和topic的消息量
Broker TOP 10:查看消息量最多的10个broker的消息量(总量)
Broker 5min trend:查看broker消息量5分钟的趋势
Topic TOP 10:查看消息量最多的10个单一主题的消息量(总量)
Topic 5min trend:查看主题消息量5分钟的趋势
2.3 Cluster-集群
功能:查看集群分布,broker 配置、运行信息
该架构采用的双主模式,其中0代表master,1代表slave。
集群页面展示了broker的配置,集今天和昨天的消息量。
2.4 Topic-主题
功能:topic管理,包括新增/更新、消息路由、发送消息、重置消费位点等。
1、ADD/UPDATE(新增/更新):可以新增或更新主题,扩容Topic队列。perm表示权限:2写,4读,6读写
- clusterName 创建在哪几个cluster上
- brokerName 创建在哪几个broker上
- topicName 主题名
- writeQueueNums:写队列数量,在创建主题时,写队列的数量。写队列是生产者发送消息时使用的队列。在物理文件层面,只有写队列才会创建实际的文件。例如如果writeQueueNums设置为16,则会创建16个文件夹,通常代表0-15的队列编号
- readQueueNums:读队列数量,在创建topic时,读队列的数量。读队列是消费者消费消息时使用的队列。在消息消费时,消费者会根据读队列的个数返回路由信息。在物理文件层面,读队列并不直接对应文件,而是基于写队列来消费信息的。
- 为了保证正常运行,通常要求readQueueNums>=writeQueueNums,最佳实践就是两者相等
- perm: 设置主题topic的读写模式或权限。
- 6:代表支持读写,生产者可以向给topic写入信息,消费者也可以从该topic读取消息;
- 4:代表读,禁写,只有消费者可以从该topic读取消息,生产者不能向该topic写消息;
- 2:代表写,禁读,只有生产者可以向topic写消息,消费者不能从该topic读取消息;
- 为了确保topic正常使用,一般将其设置为6,即同时支持读写。
2、STATUS(状态):此主题下的所有队列信息
3、ROUTER(路由):主题关联的broker以及队列queue信息。
4、CONSUMER MANAGE(CONSUMER管理):订阅此主题的所有消费组,以及各队列消费情况。
关键指标:
Delay:代表该消费组积压的数量
diffTotal:brokerOffset和consumerOffset的差值,代表未消费的数量
通过查看这两个指标,可以看到该消费组的消息积压情况。
5、TOPIC CONFIG(TOPIC配置):主题topic的情况,broker、queue的信息
6、SEND MESSAGE(发送消息):向这个主题发送一个消息,可用于测试
7、RESET CONSUMER OFFSET(重置消费位点):將消息偏移量重置到自己选择的时间,消费者重新进行消费。
- 只能影响当时在线的消费者(对于下线的消费者,不起作用)
- 广播模式订阅的消费者不支持重置消费位点
- 有些帖子说,精确到时分的都没起作用,但是设置到提前一天时可以重新消费
8、SKIP_MESSAGE_ACCUMULATE(跳过堆积):感觉跟重置消费位点很像,不过是将消费者位点跳到最后一条数据上
9、DELETE(删除):删除掉该topic的所有信息。高危操作,谨慎使用!
2.5 Consumer-消费者
功能:消息的消费情况
1、ADD/UPDATE(新增/更新):新增和更新消费组group。一般不需要手动创建,实例启动,消费组会自动注册上来
2、CLIENT(客户端):消费模式、消费实例等信息
3、CONSUME DETAIL(消费详情)
消费组对应的broker、队列以及消息消费情况。
关键指标:
Delay:代表该消费组积压的数量
diffTotal:brokerOffset和consumerOffset的差值,代表未消费的数量
通过查看这两个指标,可以看到该消费组的消息积压情况。
4、CONFIG(配置)
消费组的配置信息,包括broker、队列情况
5、DELETE(删除)
删除,高危操作,谨慎使用
之前删除过下线的group,不起作用,推测应该也是只能删除上线的消费组group。
2.6 Producer-生产者
功能:生产的概况
查看ProducerGroup下的实例情况。
2.7 Message-消息
功能:消息查询,可以按照消息ID和消息key查询
MESSAGE DETAIL:消息的详情,可以查看消息体以及消费情况,进行消费重试操作。
2.8 MessageTrace-消息踪迹
功能:记录消息的发送消费记录,是一种消息的log
这里需要开通消息轨迹,需要在broker端的配置文件中添加配置项:traceTopicEnable=true,默认情况下消息轨迹是存储在RMQ_SYS_TRACE_TOPIC。消息轨迹开启之后,很方便定位问题,但是也会增加额外的存储开支,考虑到消息量大,没有打开。推荐使用物理隔离的方式,单独使用一个broker存储消息轨迹。
参考:GitCode - 开发者的代码家园