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 保证模式。可以为以下之一,,或者不是:

    1. C - confirm

      channel将发送流媒体发布确认

    2. 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,如果是则不会将消息投递给消费者,消息继续保存在队列。之后其中一个消费者对一条消息进行ackunacked此时变成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

该界面可以对用户,虚拟主机,功能标识,策略,限制,集群等进行管理。

参考连接

https://www.cnblogs.com/pxyblog/p/16920987.html