rocketmq运维控制台详解

搭建好了RocketMQ的console之后,直接在浏览器打开http://{你的ip}:8080

默认会进入到驾驶舱(dashboard)。

总览

整体横向菜单分为个部分:

运维:主要是设置nameserver和配置vipchannel

驾驶舱:控制台的dashboard,可以分别按broker和主题来查看消息的数量和趋势。

集群:整个RocketMq的集群情况,包括分片,编号,地址,版本,消息生产和消息消费的TPS等,这个在做性能测试的时候可以作为数据指标。

主题:即topic,可以新增/更新topic;也看查看topic的信息,如状态,路由,消费者管理和发送消息等。

消费者:可以在当前broker中查看/新建消费者group,包括消费者信息和消费进度

生产者:可以在当前broker中查看生产组下的生产者group,包生产者信息和生产者状态

消息:可以按照topc,messageID,messageKey分别查询具体的消息

用户中心:切换语言和登陆相关(登陆需要在console的配置中打开对应配置,默认不需要登陆)

其中最常用的是集群主题消费者消息这四部分。 

下面分别来看各个部分。

运维

 刚才讲到,运维这块儿就两个功能

  • 设置Nameserver
  • 打开/关闭vipchannnel

设置nameserver:可以添加多个nameserver地址到输入框内,默认读取的是console启动配置里面的nameserver配置。如果rockermq集群里有加入新的nameserver节点,可以在这里动态配置后更新生效。

打开/关闭vipchannel: 这里默认为false就好,vipchannnel针对的是topic的优先级,相当于在消息处理的时候,有些topic可以走vipchannel,可以优先被处理,这个除了电商场景用的一般不多。

驾驶舱(Dashboard)

驾驶舱消息当前数量和最近的趋势,如图左侧为当前消息总数量,右侧为消息数量趋势。

我们分别解释如下四张图。

1)按broker实例为类目(比如说集群中有3个broker实例)展示当前的消息数

2)按topic为类目(比如说当前所有broker中存在10个topic)展示当前的消息数

3)指定某天和时间段,查询不同broker实例的消息数的趋势

4)指定某天和时间段,查询某topic下消息数的趋势

集群

集群主要展示了集群当前broker的状态,如下是各个字段含义:

分片:指的是数据分片(或者broker),当前rocketmq集群的只有一个数据分片,id为RaftNode00,即所有数据都在这个分片上;rocketmq的消息数据可以分布在多个数据分片上(一般都是多broker集群),后面搭建集群化环境的时候会讲到。

编号:标识了哪些是master(0是master),哪些是slave,master负责直接读写;slave相当于master的副本,定期从master同步数据,如果master挂掉,slave会自动内部选举一个master节点。

地址:即broker的实际ip端口。

版本:rocketmq的版本,这里是最新的4.7.1。

生产消息TPS:即broker中处理消息的TPS(每秒落盘的消息数)。

消费消息TPS:即consumer从broker中收取消息的TPS(每秒接收的消息数) 。

昨日生产总数:昨天落盘的总消息数。

昨日消费总数:昨天消费的总消息数。

今天生产总数:今天落盘的总消息数。

今天消费总数:今天消费的总消息数。

操作:

状态:当前broker中的消息处理和消费的一些属性值

配置:即启动broker时候broker.conf相关的配置项

主题

主题里面有三大类型

普通主题:这里是rocketmq自动创建的一些系统topic,然后用户创建的topic也展示在这里。

重试主题:这里是发送失败时候系统为之创建的topic。

死信主题:这里的topic类似垃圾箱,无法从中生产或者消费消息。

这里以BenchmarkTest为例介绍相关的操作(BenchmarkTest是rocketmq自带压测工具默认指定的topic):

状态

记录了topic中每个队列的起始位置(minOffset)和结束位置(maxOffset),通过累加所有队列的(maxOffset-minOffset)的差值,可以算出消息的总落盘数。

路由

最上面的broker:RaftNode00指的是分片,brokerAddrs指的是分片里的几个broker的地址信息,即该topic存在于这几个broker中。

下面比较有用的是perm,通过修改perm可以使当前broker分别置为只读,只写,和读写状态。当用于运维的时候可以将broker置为只读状态。

下面的队列信息是该topic的属性值。

Consumer管理

 这里指的是Topic当前的Consumer的连接信息,没有消费者(consumer)则不显示订阅组。

TOPIC设置

设置topic的相关属性,一般读队列和写队列设置到16或者32就可以了。

发送消息

 这里指的是给topic发送生产消息,消息包含msgid(系统自带),tag,key,body,其中tag和key可以用于后面筛选和查找消息。

重置消费点位

这里指的是从头开始消费消息,比如broker某topic有3w条消息,现在消费了2w条,还剩余1w条没有消费,下一条应该是从20001条开始消费;如果点击这个重置消费点位,下一条就会重新从第一条开始消费。

删除

删除本topic(貌似关联关系还在)

新增/更新topic

同topic设置类似

消费者

这里订阅组指的是使用rocketmq的客户端(比如java,cpp,go,python等)进行消费时候使用的group,多个consumer可以使用同一个group进行消费,也可以使用不同的group消费。

默认展示订阅组的名称,对应consumer的数量(多个consumer使用一个group),版本信息,类型,默认,TPS,延时

其中TPS可以看出当前消费组的整体的消费TPS,在测试消费性能的时候很有用。

延迟反映的是消息消费时候的broker的响应快慢,数字越大说明越慢。

终端

里面描述了consumer的详细信息,ClientAddr指明了客户端的地址,Language说明使用的是GO语言,版本为4.5.2

在consumer进行消费的时候,默认会创建一个RETRY的topic,在消费失败的时候会进行重试。

后面的ConsumeFromWhere指的是从头消费还是从最新的offset进行消费。

ConsumeType:分为被动(push)和主动(pull)模式,这里是主动模式

Message:集群和广播,这里是集群模式

ConmumeFromWhere:从哪里开始消费,分为:从头,从末尾(最新),指定位置这三个。

消费详情

消费详情和topic详情有点类似,不同的是topic详情展示的落盘消息的offset情况,而消费详情展示的是消费消息的offset情况。

配置

这里可以配置消费组的相关属性,一般不用配置。

删除

删除订阅组

新建订阅组

一般不用新建,在consumer消费的时候指定group,broker中会自动创建

生产组

如图,我用rocketmq自带的Producer压测工具进行压测,可以看到客户端的ip,并且其语言为java,版本为4.7.1。

消息

按topic查询

选定topic,指定开始时间和结束时间即可查询。

按MessageId查询

选定topic,输入对应的messageID进行查询。

按Key查询

选定topic,输入对应的message key进行查询。

原文链接 https://www.cnblogs.com/qa-freeroad/p/13690509.html