RocketMQ系列: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进行查询。
博主:测试生财(一个不为996而996的测开码农)
座右铭:专注测试开发与自动化运维,努力读书思考写作,为内卷的人生奠定财务自由。
内容范畴:技术提升,职场杂谈,事业发展,阅读写作,投资理财,健康人生。
csdn:https://blog.csdn.net/ccgshigao
博客园:https://www.cnblogs.com/qa-freeroad/
51cto:https://blog.51cto.com/14900374
微信公众号:测试生财(定期分享独家内容和资源)