搭建好了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
微信公眾號:測試生財(定期分享獨家內容和資源)