RabbitMQ WEB管理端
阿新 • • 發佈:2019-12-31
介紹
rabbitmq-management是RabbitMq web管理端,用的是erlang的cowboy框架進行開發。
web頁面包括
- Overview(概述)
- Connections(連線)
- Channels(通道)
- Exchanges(交換器)
- Queues(佇列)
- Admin(使用者管理)。
Overview
Totals
Queued messages(所有佇列的訊息情況)
- Ready:待消費的訊息總數。
- Unacked:待應答的訊息總數。
- Total:總數 Ready+Unacked。
Queued messages(所有佇列的消費情況)
速率=(num1-num0)/(s1-s0) num1:s1時刻的個數。num0:s0時刻的個數。
- Publish:producter pub訊息的速率。
- Publisher confirm:broker確認pub訊息的速率。
- Deliver(manual ack):customer手動確認的速率。
- Deliver(auto ack):customer自動確認的速率。
- Consumer ack:customer正在確認的速率。
- Redelivered:正在傳遞'redelivered'標誌集的訊息的速率。
- Get (manual ack):響應basic.get而要求確認的訊息的傳輸速率。
- Get (auto ack):響應於basic.get而傳送不需要確認的訊息的速率。
- Return:將basic.return傳送給producter的速率。
- Disk read:queue從磁碟讀取訊息的速率。
- Disk write:queue從磁碟寫入訊息的速率。
全域性連線
- Connections:客戶端連線總數。
- Channels:通道總數。
- Exchange:交換器總數。
- Queues:佇列總數。
- Consumers:消費者總數。
Nodes
每一個 RabbitMQ 的例項(broker) 都是一個node節點
broker的屬性
- Name:broker名稱
- File descriptors:broker開啟的檔案描述符和限制。
-
Socket descriptors
- Erlang processes:erlang啟動的程式數。
- Memory:當前broker佔用的記憶體。
- Disk space:當前broker佔用的硬碟。
- Uptime:當前broker持續執行的時長。
- Info:
- Reset stats:
Ports and contexts
Export definitions
定義由使用者,虛擬主機,許可權,引數,交換,佇列和繫結組成。 它們不包括佇列的內容或叢集名稱。 獨佔佇列不會被匯出。
Import definitions
匯入的定義將與當前定義合併。 如果在匯入過程中發生錯誤,則所做的任何更改都不會回滾。
Connections
當前所有客戶端活動的連線。包括生成者和消費者。
連線的屬性
- Name:名稱和地址。
- User name:使用的使用者名稱。
- State:當前的狀態,running:執行中;idle:空閒。
- SSL/TLS:是否使用ssl進行連線。
- Protocol:使用的協議。
- Channels:建立的channel的總數。
- From client:每秒發出的資料包。
- To client:每秒收到的資料包。
channels
當前連線所有建立的通道。
通道的屬性
- channel:名稱。
- Virtual host:所屬的虛擬主機。
- User name:使用的使用者名稱。
- Mode:渠道保證模式。 可以是以下之一,或者不是:C: confirm。T:transactional(事務)。
- State :當前的狀態,running:執行中;idle:空閒。
- Unconfirmed:待confirm的訊息總數。
- Prefetch:設定的prefetch的個數。
- Unacker:待ack的訊息總數。
- publish:生產端 pub訊息的速率。
- confirm:生產端確認訊息的速率。
- deliver/get:消費端獲取訊息的速率。
- ack:消費端 ack訊息的速率
Exchanges
Exchanges
交換機屬性
- Name:名稱。
- Type:exchange type,具體的type可以檢視RabbitMq系列之一:基礎概念。
- Features:持久化,D:持久化 T:記憶體。
- Message rate in:訊息輸入速率。
- Message rate out:訊息輸出速率
Add a new exchange
- Virtual host:屬於哪個Virtual host,我這裡只有一個所以不顯示
- Name:名字,同一個Virtual host裡面的Name不能重複。
- Durability: 是否持久化,Durable:持久化。Transient:不持久化。
- Auto delete:當最後一個繫結(佇列或者exchange)被unbind之後,該exchange自動被刪除。
- Internal: 是否是內部專用exchange,是的話,就意味著我們不能往該exchange裡面發訊息。
- Arguments: 引數,是AMQP協議留給AMQP實現做擴充套件使用的
Queues
Queues
- Virtual host:所屬的虛擬主機。
- Name:佇列名稱。
- Features:持久化,D:持久化 T:記憶體。
- State:當前的狀態,running:執行中;idle:空閒。
- Ready:待消費的訊息
- Unacked:待應答的訊息
- Total:總數, Ready+Unacked
Add a new queue
- Virtual host:屬於哪個Virtual host,我這裡只有一個所以不顯示
- Name:名字,同一個Virtual host裡面的Name不能重複。
- Durability: 是否持久化,Durable:持久化。Transient:不持久化。
- Auto delete:當最後一個繫結(佇列或者exchange)被unbind之後,該 queue 自動被刪除。
- Arguments: 引數,是AMQP協議留給AMQP實現做擴充套件使用的
admin
管理介面包含
- 使用者管理
- 策略管理
- 連線數設定
- 虛擬主機管理
Users
Virtual Host
Policies
策略配置
策略分為“使用者策略”和“系統策略”
策略使用的是正則表達匹配規則,按名稱匹配一個或多個佇列,並將其定義的一些規則(引數)到匹配佇列中。換句話說,可以使用策略一次為多個佇列配置引數。還記得上節我們講的新增“分發器”和“佇列”中的“Arguments”引數麼?策略可以理解為給“佇列”和“分發器”設定額外的“Arguments”引數。每個“分發器”和“佇列”只能生效一個“策略”,並且是是立即生效的。
引數
- Apply to:指定策略是隻匹配佇列、還是隻匹配交換,或兩則兩者都匹配。
- Priority:表示的是策略的優先順序、值越大,優先順序越高。
- Definition:才是真正的規則。有四大類,分別是HA(高可用性)、federation(聯合)、Queues(佇列)、Exchanges(備用分發器)
- HA(高可用性):表示將佇列怎麼映象到節點的策略。
- ha-mode:選項有三個,分別是“all“(表示同步到所有節點),"exactly","nodes"。"exactly"和"nodes"需要結合ha-params才能決定同步策略
- ha-params:為數值、表示個數
- ha-sync-mode:(手動(manual)/自動(automatic)同步)
舉個例子:ha-mode=exactly、ha-params=2、ha-sync-mode=automatic這個策略表示佇列將映象到群集中的任意兩個節點,並自動同步。
- ha-promote-on-failure:策略預設是不允許將不同步(跟主映象內容不相同)的映象提升為主映象
- ha-promote-on-shutdown:如果設定為“always”則表示所有情況都可以提升不同步的映象為主映象
- ha-promote-on-failurez:為when-synced、無論ha-promote-on-shutdown的值為什麼、也不會提升不同步的映象為主映象
- Federation(聯合):聯合可以從一個或多個上游(其他代理上的遠端分發器和佇列)接收訊息,並將其路由到本地佇列。
- federation-upstream-set:與“聯合”一起使用的一組“上游”的名稱;或“all”引數,表示使用所有上游
- federation-upstream:用於聯邦的特定上游集合,federation-upstream-set和federation-upstream不相容(不可同時用)
- Queues:看名字就知道意思了、比如Message TTL(訊息TTL),Auto expire(自來處理動失效)等等。就不講了
- Exchanges(備用分發器):如果無法路由指定的分發器,則就會交由這個“備用分發器”。
我們新增一個“testUserPolicies”策略。新增完後點選策略名,可看到策略詳情。在詳情頁可以刪除此策略。