RabbitMQ 管理頁(yè)面該如何使用

@[toc]
RabbitMQ 的 web 管理頁(yè)面相信很多小伙伴都用過(guò),隨便點(diǎn)一下估計(jì)也都知道啥意思,不過(guò)本著精益求精的思想,松哥還是想和大家捋一捋這個(gè)管理頁(yè)面的各個(gè)細(xì)節(jié)。

1. 概覽

首先,這個(gè) Web 管理頁(yè)面大概就像下圖這樣:

image

首先一共有六個(gè)選項(xiàng)卡:

  1. Overview:這里可以概覽 RabbitMQ 的整體情況,如果是集群,也可以查看集群中各個(gè)節(jié)點(diǎn)的情況。包括 RabbitMQ 的端口映射信息等,都可以在這個(gè)選項(xiàng)卡中查看。
  2. Connections:這個(gè)選項(xiàng)卡中是連接上 RabbitMQ 的生產(chǎn)者和消費(fèi)者的情況。
  3. Channels:這里展示的是“通道”信息,關(guān)于“通道”和“連接”的關(guān)系,松哥在后文再和大家詳細(xì)介紹。
  4. Exchange:這里展示所有的交換機(jī)信息。
  5. Queue:這里展示所有的隊(duì)列信息。
  6. Admin:這里展示所有的用戶信息。

右上角是頁(yè)面刷新的時(shí)間,默認(rèn)是 5 秒刷新一次,展示的是所有的 Virtual host。

這是整個(gè)管理頁(yè)面的一個(gè)大致情況,接下來(lái)我們來(lái)逐個(gè)介紹。

2. Overview

Overview 中分了如下一些功能模塊:

image

分別是:

Totals:

Totals 里面有 準(zhǔn)備消費(fèi)的消息數(shù)、待確認(rèn)的消息數(shù)、消息總數(shù)以及消息的各種處理速率(發(fā)送速率、確認(rèn)速率、寫(xiě)入硬盤(pán)速率等等)。

image

Nodes:

Nodes 其實(shí)就是支撐 RabbitMQ 運(yùn)行的一些機(jī)器,相當(dāng)于集群的節(jié)點(diǎn)。

image

點(diǎn)擊每個(gè)節(jié)點(diǎn),可以查看節(jié)點(diǎn)的詳細(xì)信息。

Churn statistics:

這個(gè)不好翻譯,里邊展示的是 Connection、Channel 以及 Queue 的創(chuàng)建/關(guān)閉速率。

image

Ports and contexts:

image

這個(gè)里邊展示了端口的映射信息以及 Web 的上下文信息。

  • 5672 是 RabbitMQ 通信端口。
  • 15672 是 Web 管理頁(yè)面端口。
  • 25672 是集群通信端口。

Export definitions && Import definitions:

最后面這兩個(gè)可以導(dǎo)入導(dǎo)出當(dāng)前實(shí)例的一些配置信息:

image

3. Connections

這里主要展示的是當(dāng)前連接上 RabbitMQ 的信息,無(wú)論是消息生產(chǎn)者還是消息消費(fèi)者,只要連接上來(lái)了這里都會(huì)顯示出來(lái)。

image

注意協(xié)議中的 AMQP 0-9-1 指的是 AMQP 協(xié)議的版本號(hào)。

其他屬性含義如下:

  • User name:當(dāng)前連接使用的用戶名。
  • State:當(dāng)前連接的狀態(tài),running 表示運(yùn)行中;idle 表示空閑。
  • SSL/TLS:表示是否使用 ssl 進(jìn)行連接。
  • Channels:當(dāng)前連接創(chuàng)建的通道總數(shù)。
  • From client:每秒發(fā)出的數(shù)據(jù)包。
  • To client:每秒收到的數(shù)據(jù)包。

點(diǎn)擊連接名稱可以查看每一個(gè)連接的詳情。

在詳情中可以查看每一個(gè)連接的通道數(shù)以及其他詳細(xì)信息,也可以強(qiáng)制關(guān)閉一個(gè)連接。

4. Channels

這個(gè)地方展示的是通道的信息:

image

那么什么是通道呢?

一個(gè)連接(IP)可以有多個(gè)通道,如上圖,一共是兩個(gè)連接,但是一共有 12 個(gè)通道。

一個(gè)連接可以有多個(gè)通道,這個(gè)多個(gè)通道通過(guò)多線程實(shí)現(xiàn),一般情況下,我們?cè)谕ǖ乐袆?chuàng)建隊(duì)列、交換機(jī)等。

生產(chǎn)者的通道一般會(huì)立馬關(guān)閉;消費(fèi)者是一直監(jiān)聽(tīng)的,通道幾乎是會(huì)一直存在。

上面各項(xiàng)參數(shù)含義分別如下:

  • Channel:通道名稱。
  • User name:該通道登錄使用的用戶名。
  • Model:通道確認(rèn)模式,C 表示 confirm;T 表示事務(wù)。
  • State:通道當(dāng)前的狀態(tài),running 表示運(yùn)行中;idle 表示空閑。
  • Unconfirmed:待確認(rèn)的消息總數(shù)。
  • Prefetch:Prefetch 表示每個(gè)消費(fèi)者最大的能承受的未確認(rèn)消息數(shù)目,簡(jiǎn)單來(lái)說(shuō)就是用來(lái)指定一個(gè)消費(fèi)者一次可以從 RabbitMQ 中獲取多少條消息并緩存在消費(fèi)者中,一旦消費(fèi)者的緩沖區(qū)滿了,RabbitMQ 將會(huì)停止投遞新的消息到該消費(fèi)者中直到它發(fā)出有消息被 ack 了??偟膩?lái)說(shuō),消費(fèi)者負(fù)責(zé)不斷處理消息,不斷 ack,然后只要 unAcked 數(shù)少于 prefetch * consumer 數(shù)目,RabbitMQ 就不斷將消息投遞過(guò)去。
  • Unacker:待 ack 的消息總數(shù)。
  • publish:消息生產(chǎn)者發(fā)送消息的速率。
  • confirm:消息生產(chǎn)者確認(rèn)消息的速率。
  • unroutable (drop):表示未被接收,且已經(jīng)刪除了的消息。
  • deliver/get:消息消費(fèi)者獲取消息的速率。
  • ack:消息消費(fèi)者 ack 消息的速率。

5. Exchange

這個(gè)地方展示交換機(jī)信息:

image

這里會(huì)展示交換機(jī)的各種信息。

Type 表示交換機(jī)的類型。

Features 有兩個(gè)取值 D 和 I。

D 表示交換機(jī)持久化,將交換機(jī)的屬性在服務(wù)器內(nèi)部保存,當(dāng) MQ 的服務(wù)器發(fā)生意外或關(guān)閉之后,重啟 RabbitMQ 時(shí)不需要重新手動(dòng)或執(zhí)行代碼去建立交換機(jī),交換機(jī)會(huì)自動(dòng)建立,相當(dāng)于一直存在。

I 表示這個(gè)交換機(jī)不可以被消息生產(chǎn)者用來(lái)推送消息,僅用來(lái)進(jìn)行交換機(jī)和交換機(jī)之間的綁定。

Message rate in 表示消息進(jìn)入的速率。
Message rate out 表示消息出去的速率。

點(diǎn)擊下方的 Add a new exchange 可以創(chuàng)建一個(gè)新的交換機(jī)。

6. Queue

這個(gè)選項(xiàng)卡就是用來(lái)展示消息隊(duì)列的:

image

各項(xiàng)含義如下:

  • Name:表示消息隊(duì)列名稱。
  • Type:表示消息隊(duì)列的類型,除了上圖的 classic,另外還有一種消息類型是 Quorum。兩個(gè)區(qū)別如下圖:
image
  • Features:表示消息隊(duì)列的特性,D 表示消息隊(duì)列持久化。
  • State:表示當(dāng)前隊(duì)列的狀態(tài),running 表示運(yùn)行中;idle 表示空閑。
  • Ready:表示待消費(fèi)的消息總數(shù)。
  • Unacked:表示待應(yīng)答的消息總數(shù)。
  • Total:表示消息總數(shù) Ready+Unacked。
  • incoming:表示消息進(jìn)入的速率。
  • deliver/get:表示獲取消息的速率。
  • ack:表示消息應(yīng)答的速率。

點(diǎn)擊下方的 Add a new queue 可以添加一個(gè)新的消息隊(duì)列。

點(diǎn)擊每一個(gè)消息隊(duì)列的名稱,可以進(jìn)入到消息隊(duì)列中。進(jìn)入到消息隊(duì)列后,可以完成對(duì)消息隊(duì)列的進(jìn)一步操作,例如:

  • 將消息隊(duì)列和某一個(gè)交換機(jī)進(jìn)行綁定。
  • 發(fā)送消息。
  • 獲取一條消息。
  • 移動(dòng)一條消息(需要插件的支持)。
  • 刪除消息隊(duì)列。
  • 清空消息隊(duì)列中的消息。
  • ...

如下圖:

image

7. Admin

這里是做一些用戶管理操作,如下圖:

image

各項(xiàng)屬性含義如下:

  • Name:表示用戶名稱。
  • Tags:表示角色標(biāo)簽,只能選取一個(gè)。
  • Can access virtual hosts:表示允許進(jìn)入的虛擬主機(jī)。
  • Has password:表示這個(gè)用戶是否設(shè)置了密碼。

常見(jiàn)的兩個(gè)操作時(shí)管理用戶和虛擬主機(jī)。

點(diǎn)擊下方的 Add a user 可以添加一個(gè)新的用戶,添加用戶的時(shí)候需要給用戶設(shè)置 Tags,其實(shí)就是用戶角色,如下:

  • none:
    不能訪問(wèn) management plugin

  • management:
    用戶可以通過(guò) AMQP 做的任何事
    列出自己可以通過(guò) AMQP 登入的 virtual hosts
    查看自己的 virtual hosts 中的 queues, exchanges 和 bindings
    查看和關(guān)閉自己的 channels 和 connections
    查看有關(guān)自己的 virtual hosts 的“全局”的統(tǒng)計(jì)信息,包含其他用戶在這些 virtual hosts 中的活動(dòng)

  • policymaker:
    management 可以做的任何事
    查看、創(chuàng)建和刪除自己的 virtual hosts 所屬的 policies 和 parameters

  • monitoring:
    management 可以做的任何事
    列出所有 virtual hosts,包括他們不能登錄的 virtual hosts
    查看其他用戶的 connections 和 channels
    查看節(jié)點(diǎn)級(jí)別的數(shù)據(jù)如 clustering 和 memory 使用情況
    查看真正的關(guān)于所有 virtual hosts 的全局的統(tǒng)計(jì)信息

  • administrator:
    policymaker 和 monitoring 可以做的任何事
    創(chuàng)建和刪除 virtual hosts
    查看、創(chuàng)建和刪除 users
    查看創(chuàng)建和刪除 permissions
    關(guān)閉其他用戶的 connections

  • impersonator(模擬者)
    模擬者,無(wú)法登錄管理控制臺(tái)。

另外,這里也可以進(jìn)行虛擬主機(jī) virtual host 的操作,不過(guò)關(guān)于虛擬主機(jī)我打算另外寫(xiě)一篇文章和大家詳聊,這里就先不展開(kāi)啦。

8. 小結(jié)

好啦,今天算是一篇入門(mén)文章,和大家簡(jiǎn)單聊一聊 RabbitMQ 的 web 管理頁(yè)面展示的一些信息。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • RabbitMQ 是實(shí)現(xiàn)了高級(jí)消息隊(duì)列協(xié)議(AMQP)的開(kāi)源消息代理軟件。 一、RabbitMQ 原理簡(jiǎn)介 1. ...
    河碼匠閱讀 6,512評(píng)論 3 4
  • 什么是 RabbitMQ MQ(Message Queue)消息隊(duì)列 消息隊(duì)列中間件,是分布式系統(tǒng)中的重要組件;主...
    YMeng_Zhang閱讀 270評(píng)論 0 2
  • RabbitMQ RabbitMQ主要基于AMQP協(xié)議實(shí)現(xiàn)AMQP (Advanced Message Queui...
    依弗布德甘閱讀 1,104評(píng)論 0 0
  • 不要把幸福的標(biāo)準(zhǔn)定得太高,生命中的任何一件小事只要你細(xì)心品味過(guò),可以說(shuō)都與幸福有關(guān)。因?yàn)闊o(wú)論怎樣,幸福都只是一種感...
    BeautifulSoulpy閱讀 568評(píng)論 0 1
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,554評(píng)論 19 139

友情鏈接更多精彩內(nèi)容