1. 程式人生 > 程式設計 >RabbitMQ WEB管理端

RabbitMQ WEB管理端

介紹

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
    :broker管理的網路套接字數量和限制。當限制被耗盡時,RabbitMQ將停止接受新的網路連線。
  • 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”策略。新增完後點選策略名,可看到策略詳情。在詳情頁可以刪除此策略。

Limits

cluster