RocketMQ系列:rocketmq運維控制台使用詳解(全網獨家)

搭建好了RocketMQ的console之後,直接在瀏覽器打開//{你的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進行查詢。

 

部落客:測試生財

座右銘:通過測試生涯完成原始積累,通過投資奔向財務自由

csdn://blog.csdn.net/ccgshigao

部落格園://www.cnblogs.com/qa-freeroad/

51cto://blog.51cto.com/14900374