RabbitMQ Web管理界面简介
Overview
Totals
Queued messages
-
Ready
Number of messages that are avaliable to be delivered now.
待消费的消息数量
一般来说,如果队列中
ready
状态的消息数量比较多,则说明消费者的处理能力可能不足,可以考虑适当增加消费者 -
Unacked
Number of messages for which the server is waiting for acknowledgement.
broker等待消费者应答的消息总数
如果队列中处于
Unacked
消息数量比较多,则说明消费者取走消息后没有及时做消息确认(ack
)。对于开启手动确认机制的消息,如果不进行消息确认则会一直以unacked
状态停留在队列中。 -
Total
The total of these two numbers.
消息总数,等于 Ready + Unacked
Message rates
Only rates for which some activity is taking place will be shown.
仅显示正在进行的某些活动的速率。
-
Publish
Rate at which messages are entering the server
消息进入broker的速率,即消息发布速率
-
Publish confirm
Rate at which the server is confirming publishes
broker确认发布的速率
备注:如果生产者将
Channel
设置为confirm
模式(调用channel.confirmSelect()
),一旦消息被投递到所有匹配的队列之后,或者将消息持久化(写入磁盘)之后,broker 就会发送一个确认消息给生产者,这样以便生产者知道消息是否得到正确处理 -
Deliver (manaul ack)
Rate at which messages are delivered to consumers that use manual acknowledgements.
broker向使用手动确认消息的消费者传递消息的速率
-
Deliver(auto ack)
Rate at which messages are delivered to consumers that use automatic acknowledgements
broker向使用自动确认消息的消费者传递消息的速率
-
Consumer ack
Rate at which messages are being acknowledged by consumers
消费者确认消息的速率
-
Redelivered
Rate at which messages with the 'redelivered' flag set are being delivered.Note that these messages will be counted in one of the delivery rates above.
设置了
redelivered
标识的消息传递速率。请注意,这些消息将参与上述传递速率(Deliver (manaul ack)
或者Deliver(auto ack)
)的计算。 -
Get (manual ack)
Rate at which messages requiring acknowledgement are being delivered in response to basic.get。
broker响应
basic.get
而传递需要手动确认的消息的速率备注:当消费者使用
basic.get
请求来获取消息时,必须先发送一个新的请求,即使队列中存在多个消息。发请求后,如果目标队列中存在待处理消息,broker就会返回RPC响应 -
Get (auto ack)
Rate at which messages not requiring acknowledgement are being delivered in response to basic.get。
broker响应
basic.get
而传递自动确认的消息的速率 -
Get (empty)
Rate at which empty queues are hit in response to basic.get
broker响应
basic.get
时队列为空的命中速率 -
Return
Rate at which basic.return is sent to publishers for unroutable messages published with the 'mandatory' flag set.
针对携带
mandatory
标识的不可传递消息,向发布者发送basic.return
的速率 -
Disk read
Rate at which queues read messages from disk
从磁盘读取消息的速率
-
Disk write
Rate at which queues write messages to disk.
将消息写入磁盘的速率
注意,磁盘读写统计源自队列,而不是channel
;因此,它们可能与其他统计数据略有不同步
Global counts
Shows total number of objects for all virtual hosts the current user has access to
显示当前用户有权访问的所有虚拟主机的对象总数
Connections
:客户端(含生产者和消费者)和broker之间的TCP连接数。Channels
:通道总数。Exchange
:交换器总数。Queues
:队列总数。Consumers
:消费者总数。
Nodes
-
Name
broker名称
-
File descriptors
File descriptor count and limit, as reported by the operating system.The count includes network sockets and file handles.
To optimize disk access RabbitMQ uses as many free descriptors as are available, so the count may safely approach the limit.However, if most of the file descriptor are used by sockets then persister performance will be negatively impacted.
To change the limit on Unix / Linux, use "ulimit -n". To change the limit on Windows, set the ERL_MAX_PORTS environment variable
文件描述符计数和限制,和操作系统计数保持一致。该计数包括网络套接字和文件句柄。
为了优化磁盘访问,RabbitMQ使用尽可能多的可用描述符,因此计数可能安全地接近限制。然而,如果大部分文件描述符被套接字使用,那么持久器的性能将受到负面影响。
要更改Unix/Linux上的限制,请使用ulimit-n
。要更改Windows上的限制,请设置ERL_MAX_PORTS
环境变量 -
Socket descriptors
The network sockets count and limit managed by RabbitMQ.
When the limit is exhausted RabbitMQ will stop accepting new network connections.
RabbitMQ管理的网络套接字计数和限制。
当套接字描述符用尽时,RabbitMQ将停止接受新的网络连接。 -
Erlang processes
Erlang
进程数量 -
Memory
当前broker使用的内存大小
-
Disk space
当前broker占用的硬盘空间大小。
-
Uptime
当前broker持续运行的时长。
Churn statistics
Connection operations
-
Created
Rate at which connections are created.
创建连接的速率
-
Closed
Rate at which connections are closed.
关闭连接的速率
Channel operations
-
Created
Rate at which channels are created.
创建channel的速率
-
Closed
Rate at which channels are closed.
关闭channel的速率
Queue operations
-
Declared
Rate at which queues are declared by clients.
客户端声明队列的速率
-
Created
Rate at which queue are created. Declaring a queue that already exists counts for a "Declared" event, but not for a "Created" event.
创建队列的速率。声明一个已经存在的队列会计入
Declared
事件,但不会计入Created
事件。 -
Deleted
Rate at which queues are deleted
删除队列的速率
Ports and Contexts
![image-20240718004212887](images/RabbitMQ Web管理界面简介/image-20240718004212887.png)
说明:
5672 amqp客户端连接访问端口
15672 RabbitMQ的web管理控制台连接端口
25672 RabbitMQ的集群通信端口
Export definitions
the definitions consits of users, virtual host, permissions, parameters, exchanges, queues, policles and bindings.They do not include the contents of queues. Exclusive queues will not be exported.
定义包括用户、虚拟主机、权限、参数、交换器、队列、策略和绑定。它们不包括队列的内容。排它队列将不会被导出。
Import definitions
the definitions that are imported will be managed with the current definitions. If an error occurs during import, any change made will not be rolled back.
导入的定义将与当前定义合并。。如果在导入过程中发生错误,所做的任何更改都不会回滚。
Connections
Name
:连接名称User name
: 连接使用的用户名。State
当前连接状态,running
:运行中;idle
:空闲。SSL / TLS
:是否使用SSL、TSL 进行连接。Protocol
:连接使用的协议。Channels
:创建的channel的总数。From client
:每秒发出的数据量。To client
:每秒收到的数据量。
备注:点击队列名称,可以查看关于该队列的更多详细信息
Channnels
-
Channel
通道名称 -
User name
: 使用的用户名。 -
Mode
Channel 保证模式。可以为以下之一,,或者不是:
-
C
- confirmchannel将发送流媒体发布确认
-
T
- transactional通过事务保证
-
-
State
:当前的状态,running
:运行中;idle
:空闲。 -
Unconfirmed
:待确认的消息总数。 -
Prefetch
:设置的prefetch的个数。Channel prefetch counts.
Each channel can have two prefetch counts: A per-consumer count, which will limit each new consumer created on the channel, and a global count, which is shared between all consumers on the channel.
This column shows one, the other, or both limits if they are set.
chanel预取计数。
每个channel可以有两个预取计数:一个是每个消费者计数,它将限制chanel上创建的每个新消费者,另一个是全局计数,它被channel上的所有消费者之间共享。
此列显示一个、另一个或两个限制(如果都设置的话)。就消费者而言,
prefetch
允许为每个消费者指定最大的unacked消息数量。简单来说就是指定一个消费者一次可以从RabbitMQ中获取多少条消息并缓存在客户端中。一旦缓冲区满了,RabbitMQ将会停止投递新消息消费者直到它发出ack
。假设
prefetch
值设为10,共有两个消费者。意味着每个消费者每次会从队列中预抓取 10 条消息到本地缓存着等待消费。同时该channel的unacked
数变为20。而RabbitMQ投递的顺序是,先为消费者1投递满10条消息,再往消费者2投递10条消息。如果这时有新消息需要投递,先判断channel的unacked
数是否等于20,如果是则不会将消息投递给消费者,消息继续保存在队列。之后其中一个消费者对一条消息进行ack
,unacked
此时变成19,RabbitMQ判断哪个消费者的unacked
少于10,就投递给哪个消费者。总的来说,消费者负责不断处理消息,不断
ack
,然后只要unacked
数少于prefetch * consumerNum
,broker就不断将消息投递过去。 -
Unacked
:待ack
的消息总数。 -
publish
:生产者发布消息的速率。 -
confirm
:broker确认发布的速率。 -
unroutable(drop)
表示因无法被接收而删除消息的速率 -
deliver/get
:消费者获取消息的速率。 -
ack
:消费者确认消息的速率。
备注:点击channel名称,可以查看关于该channel的更多详细信息
Exchanges
备注:图示交换器为安装RabbitMQ后自动创建的。
Name
:交换器名称。
Type
:交换器类型。
Features
:功能。 可以是以下之一,或者不是:
-
D
: 持久化。 -
I
:Internal,表示该交换器不可以被client用来推送消息,仅用来进行交换器和交换器之间的绑定,否则可以推送消息也可以绑定。 -
Message rate in
:消息进入的速率。 -
Message rate out
:消息出去的速率。
备注:点击交换器名称,可以查看关于该交换器的更多详细信息
Queues
Name
:队列名称。
Features
:功能。 可以是以下之一,或者不是:D
: 持久化。
State
:队列当前的状态,running
:运行中;idle
:空闲。
Ready
:待消费的消息总数。
Unacked
:待应答的消息总数。
Total
:总数 = Ready
+ Unacked
。
incoming
:消息进入的速率。
deliver/get
:消息获取的速率。
ack
:消息应答的速率。
Admin
该界面可以对用户,虚拟主机,功能标识,策略,限制,集群等进行管理。