Overview
1. Totals (全局统计)
这部分展示了整个 RabbitMQ 服务集群的汇总信息。
Queued messages (last minute): 显示在过去一分钟内,所有队列中待处理的消息总数。这是一个非常重要的指标,反映了消息积压情况。如果这个数字持续增长,说明消费者处理能力跟不上生产者发送速度,可能需要扩容消费者或优化消费逻辑。

Message rates (last minute): 显示在过去一分钟内,消息的生产速率和消费速率。这可以帮助你了解消息的流动情况,判断系统是否处于健康状态。

Global counts: 这是一个非常直观的汇总面板,显示了当前集群中:
Connections: 客户端(你的应用)与 RabbitMQ 建立的 TCP 连接数。
Channels: 在一个 Connection 内部建立的虚拟通道数。一个 Connection 可以包含多个 Channel,Channel 是进行消息操作的基本单位。
Exchanges: 交换器(消息路由规则)的总数。
Queues: 队列(存储消息的地方)的总数。
Consumers: 消费者(从队列拉取消息的应用)的总数。

2. Nodes (节点详情)
这部分展示了集群中每个节点的详细运行状态。RabbitMQ 可以是单节点部署,也可以是集群。这里显示的是名为 rabbit@rabbit 的节点。
Name: 节点的名称。
rabbit@rabbit是默认的命名方式,其中rabbit是主机名。File descriptors: 文件描述符。Erlang 虚拟机(RabbitMQ 基于它构建)使用的文件句柄数量。如果这个数字接近系统限制(如
ulimit -n),RabbitMQ 可能会因无法打开新文件而崩溃。绿色条表示正常。Socket descriptors: 套接字描述符。用于网络通信的文件描述符数量。同样,过高可能意味着网络连接过多。
Erlang processes: Erlang 进程数。RabbitMQ 内部使用大量轻量级进程来处理任务。这个数字通常在几百到几千之间波动是正常的。
Memory: 内存使用量。显示当前节点占用的内存。绿色条表示内存使用在正常范围内。如果接近红色区域,说明内存压力大,可能需要关注。
Disk space: 磁盘空间。显示 RabbitMQ 数据目录(
/var/lib/rabbitmq)的可用空间。如果过低,RabbitMQ 会拒绝接收新消息以防止磁盘写满。Uptime: 运行时间。显示该节点已经运行了多久。
Cores: 该节点所在的物理或虚拟 CPU 核心数。
Info: 显示节点的详细信息类型(
basic或rss)。Reset stats: 重置统计信息按钮。
This node / All nodes: 切换显示当前节点还是所有节点的统计信息。
3.Churn statistics (动态统计)

RabbitMQ 在过去一分钟内,核心组件的创建和销毁操作速率。这些指标对于理解系统的动态变化和稳定性至关重要。
Connection operations (连接操作)
图表内容: 展示了客户端连接(Connection)的创建和关闭速率。
指标解读:
Created (黄色): 每秒新建立的连接数。如果这个值很高,可能意味着客户端频繁地重新连接,这可能是由网络不稳定或客户端配置问题(如连接超时)引起的。
Closed (蓝色): 每秒关闭的连接数。通常,这个值应该与
Created值接近,表示连接正常生命周期结束。如果Closed远大于Created,可能意味着连接被异常断开。
当前状态: 图表显示在过去一分钟内,这两个操作速率都为
0.00/s,表明系统目前没有连接活动。
Channel operations (通道操作)
图表内容: 展示了在连接内部创建和关闭通道(Channel)的速率。
指标解读:
Created (黄色): 每秒新创建的通道数。通道是轻量级的,通常一个连接会创建多个通道。如果这个值异常高,可能意味着客户端在频繁地创建和销毁通道,可能存在资源泄漏或设计问题。
Closed (蓝色): 每秒关闭的通道数。
当前状态: 同样,这两个值都为
0.00/s,系统处于空闲状态。
Queue operations (队列操作)
图表内容: 展示了队列(Queue)的声明、创建和删除速率。
指标解读:
Declared (黄色): 每秒声明的队列数。声明队列是一个相对昂贵的操作,通常在应用启动时进行。如果这个值持续很高,可能意味着应用在运行时动态创建了大量临时队列,或者存在配置错误。
Created (蓝色): 每秒实际创建的队列数(声明成功后)。
Deleted (红色): 每秒删除的队列数。高删除速率可能意味着临时队列被频繁使用和清理。
当前状态: 所有操作速率都为
0.00/s,没有队列操作发生。
是系统稳定性的“晴雨表”。在正常情况下,这些值应该相对稳定且较低。如果 Connection 或 Channel 的创建/关闭速率突然飙升,或者 Queue 的声明/删除速率异常,这通常是问题出现的前兆,需要立即调查客户端代码或网络状况。
4.Ports and contexts (端口与上下文)

RabbitMQ 服务器监听的端口以及Web 管理接口的配置,这对于网络配置和故障排查非常有用。
Listening ports (监听端口)
表格内容: 列出了 RabbitMQ 服务器正在监听的网络端口及其对应的协议。
指标解读:
amqp: 默认的 AMQP 0-9-1 协议端口,5672。这是你的应用程序(生产者/消费者)连接 RabbitMQ 的主要端口。
clustering: 用于节点间通信的端口,25672。如果你部署了 RabbitMQ 集群,这个端口用于节点间的数据同步和心跳。
http: 默认的 HTTP 管理接口端口,15672。这是你访问管理界面的端口。
http/prometheus: 用于 Prometheus 监控的端口,15692。如果你的监控系统使用 Prometheus,它会通过这个端口拉取指标数据。
当前状态: 所有端口都正常监听,
Bound to列显示为::,表示监听所有网络接口(IPv4 和 IPv6)。
Web contexts (Web 上下文)
表格内容: 展示了 Web 管理界面的具体配置。
指标解读:
Context: Web 服务的上下文名称。
Bound to: 绑定的 IP 地址(
0.0.0.0表示监听所有 IPv4 地址)。Port: 端口号。
SSL: 是否启用 SSL 加密(图中未启用)。
Path: Web 服务的根路径(
/)。
当前状态: 管理界面(
RabbitMQ Management)和 Prometheus 接口(RabbitMQ Prometheus)都配置在根路径/,并监听在各自的端口上。
Export/Import definitions (导出/导入定义)
功能: 这两个功能允许你将整个 RabbitMQ 的配置(包括交换器、队列、绑定、用户、权限等)导出为一个文件,或者从一个文件导入。
用途: 这对于环境迁移、灾备恢复或快速部署非常有用。你可以将生产环境的配置导出,然后在测试或新环境中导入,确保环境一致性。
当前状态: 界面显示了导出文件的默认命名格式和上传文件的入口。
这张图是网络配置的“地图”。你需要确保这些端口在防火墙中是开放的,并且没有被其他服务占用。Export/Import definitions 功能是运维自动化和标准化的关键工具。
评论