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

測試生財發表於2020-09-24

搭建好了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進行查詢。

 

博主:測試生財

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

csdn:https://blog.csdn.net/ccgshigao

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

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

相關文章