跳转到正文

RabbitMQ 运维与观测 ​

本页结论:看懂四个核心指标(队列深度、Unacked、消费速率、内存/磁盘告警)就能覆盖大多数 RabbitMQ 日常问题;本仓库 lab 用 rabbitmqctl JSON 输出做 Broker 侧断言。

管理接口 ​

工具用途
Management UI(15672)队列/Exchange/绑定/连接可视化,本仓库实验容器默认开启
rabbitmqctl / rabbitmq-diagnostics节点级命令:状态、队列列表、诊断
Management HTTP API/api/queues、/api/nodes 等,供监控采集
Prometheus 插件rabbitmq_prometheus,指标导出到 9090 端口

本仓库 lab 框架在断言阶段调用(示例):

bash
docker compose -p <project> exec rabbitmq \
  rabbitmqctl list_queues name messages messages_ready messages_unacknowledged --formatter=json

核心指标 ​

指标含义异常信号
messages_ready队列中等待投递的消息数持续增长 = 消费跟不上(积压),见 背压与积压
messages_unacknowledged已投递未 ACK 的在途消息堆积 = 消费者卡死/处理过慢/忘记 ACK
publish/deliver/ack 速率生产与消费吞吐曲线deliver 归零而 ready 增长 = 消费者断连
内存/磁盘 watermark节点资源告警线触发后 Broker 流控(blocking producers),全局变慢

补充观测点:

  • redeliver 速率:突增通常意味着消费者崩溃或处理异常(对照 可靠性 中 consumer-crash 的 redelivered=true 日志)。
  • 连接/Channel 数:连接泄漏与 Channel 暴涨是常见故障。
  • DLQ 深度:DLQ 有消息 = 有失败需要人工处理,应直接告警。

追踪传播 ​

本仓库 Demo 把 traceId、eventType、aggregateId 写入消息 headers,消费端日志原样带出,一条消息在 producer/consumer 两端可用同一 traceId 关联。生产环境可接 OpenTelemetry:producer 注入 context,consumer 从 headers 恢复。

常见故障速查 ​

现象先查什么
生产端突然变慢/超时节点是否进入 memory/disk alarm(流控);队列是否积压
消息「消失」是否发到未绑定的 Exchange(开 mandatory + basicReturn 观察);是否被 TTL/max-length 淘汰
消费停滞Unacked 是否打满 prefetch;消费者进程是否存活
重启后消息没了队列/消息是否 durable+persistent;是否用了 Classic 单副本队列

积压与恢复追赶 ​

backlog-recovery 实验先在没有消费者在线时发布 6 条持久化消息,确认 messages_ready=6;随后启动消费者追赶,最终收到 6 条不同 messageId,队列深度归零。两轮消息使用相同的 3 个业务订单号,因此业务幂等把写入收敛为 3 行,另 3 条记录为 duplicate_skipped。

bash
bash demos/rabbitmq/backlog-recovery/run.sh
rabbitmq / backlog-recoverybash demos/rabbitmq/backlog-recovery/run.sh
assert.out.txt
PASS confirmed: 6
PASS backlogDepth: 6
PASS received: 6
PASS uniqueMessageIds: 6
PASS businessCommitted: 3
PASS businessDuplicatesSkipped: 3
PASS business_rows: 3
PASS queueDepthAfter: 0
PASS consumer.exitCode: 0
RESULT: all assertions passed
consumer.out.txt
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
[consumer] timestamp=2026-10-07T10:28:22.491773208Z level=INFO service=order-service product=rabbitmq lab=backlog-recovery messageId=01M4AYGAS0RPAKM4005Z85MT9F eventType=order.created schemaVersion=1 aggregateId=order-1001 traceId=00000000000000000000000000000001 correlationId=order-1001 destination=orders.backlog consumer=consumer-1 attempt=1 redelivered=false status=received
[replay-gate] timestamp=2026-10-07T10:28:22.504666557Z checkpoint=after-delivery messageId=01M4AYGAS0RPAKM4005Z85MT9F token=4fc1dc23bdac-1-after-delivery-01M4AYGAS0RPAKM4005Z85MT9F-1 status=waiting
[replay-gate] timestamp=2026-10-07T10:28:23.811930804Z checkpoint=after-delivery messageId=01M4AYGAS0RPAKM4005Z85MT9F token=4fc1dc23bdac-1-after-delivery-01M4AYGAS0RPAKM4005Z85MT9F-1 status=released
[consumer] timestamp=2026-10-07T10:28:23.823118129Z level=INFO service=order-service product=rabbitmq lab=backlog-recovery messageId=01M4AYGAS0RPAKM4005Z85MT9F eventType=order.created schemaVersion=1 aggregateId=order-1001 traceId=00000000000000000000000000000001 correlationId=order-1001 destination=orders.backlog attempt=1 status=business_committed
[replay-gate] timestamp=2026-10-07T10:28:23.823575085Z checkpoint=before-ack messageId=01M4AYGAS0RPAKM4005Z85MT9F token=4fc1dc23bdac-1-before-ack-01M4AYGAS0RPAKM4005Z85MT9F-2 status=waiting
[replay-gate] timestamp=2026-10-07T10:28:25.225816936Z checkpoint=before-ack messageId=01M4AYGAS0RPAKM4005Z85MT9F token=4fc1dc23bdac-1-before-ack-01M4AYGAS0RPAKM4005Z85MT9F-2 status=released
[consumer] timestamp=2026-10-07T10:28:25.228050162Z level=INFO service=order-service product=rabbitmq lab=backlog-recovery messageId=01M4AYGASTFXYJBH007ZRWA48Y eventType=order.created schemaVersion=1 aggregateId=order-1002 traceId=00000000000000000000000000000002 correlationId=order-1002 destination=orders.backlog consumer=consumer-1 attempt=1 redelivered=false status=received
[replay-gate] timestamp=2026-10-07T10:28:25.228674653Z checkpoint=after-delivery messageId=01M4AYGASTFXYJBH007ZRWA48Y token=4fc1dc23bdac-1-after-delivery-01M4AYGASTFXYJBH007ZRWA48Y-3 status=waiting
[replay-gate] timestamp=2026-10-07T10:28:26.731216004Z checkpoint=after-delivery messageId=01M4AYGASTFXYJBH007ZRWA48Y token=4fc1dc23bdac-1-after-delivery-01M4AYGASTFXYJBH007ZRWA48Y-3 status=released
[consumer] timestamp=2026-10-07T10:28:26.734316406Z level=INFO service=order-service product=rabbitmq lab=backlog-recovery messageId=01M4AYGASTFXYJBH007ZRWA48Y eventType=order.created schemaVersion=1 aggregateId=order-1002 traceId=00000000000000000000000000000002 correlationId=order-1002 destination=orders.backlog attempt=1 status=business_committed
[replay-gate] timestamp=2026-10-07T10:28:26.734750500Z checkpoint=before-ack messageId=01M4AYGASTFXYJBH007ZRWA48Y token=4fc1dc23bdac-1-before-ack-01M4AYGASTFXYJBH007ZRWA48Y-4 status=waiting
[replay-gate] timestamp=2026-10-07T10:28:28.136939500Z checkpoint=before-ack messageId=01M4AYGASTFXYJBH007ZRWA48Y token=4fc1dc23bdac-1-before-ack-01M4AYGASTFXYJBH007ZRWA48Y-4 status=released
[consumer] timestamp=2026-10-07T10:28:28.138606068Z level=INFO service=order-service product=rabbitmq lab=backlog-recovery messageId=01M4AYGASV6CRYJF00633JGN6Z eventType=order.created schemaVersion=1 aggregateId=order-1003 traceId=00000000000000000000000000000003 correlationId=order-1003 destination=orders.backlog consumer=consumer-1 attempt=1 redelivered=false status=received
[replay-gate] timestamp=2026-10-07T10:28:28.139041805Z checkpoint=after-delivery messageId=01M4AYGASV6CRYJF00633JGN6Z token=4fc1dc23bdac-1-after-delivery-01M4AYGASV6CRYJF00633JGN6Z-5 status=waiting
[replay-gate] timestamp=2026-10-07T10:28:29.441187025Z checkpoint=after-delivery messageId=01M4AYGASV6CRYJF00633JGN6Z token=4fc1dc23bdac-1-after-delivery-01M4AYGASV6CRYJF00633JGN6Z-5 status=released
[consumer] timestamp=2026-10-07T10:28:29.442915729Z level=INFO service=order-service product=rabbitmq lab=backlog-recovery messageId=01M4AYGASV6CRYJF00633JGN6Z eventType=order.created schemaVersion=1 aggregateId=order-1003 traceId=00000000000000000000000000000003 correlationId=order-1003 destination=orders.backlog attempt=1 status=business_committed
[replay-gate] timestamp=2026-10-07T10:28:29.443321059Z checkpoint=before-ack messageId=01M4AYGASV6CRYJF00633JGN6Z token=4fc1dc23bdac-1-before-ack-01M4AYGASV6CRYJF00633JGN6Z-6 status=waiting
[replay-gate] timestamp=2026-10-07T10:28:30.845449019Z checkpoint=before-ack messageId=01M4AYGASV6CRYJF00633JGN6Z token=4fc1dc23bdac-1-before-ack-01M4AYGASV6CRYJF00633JGN6Z-6 status=released
[consumer] timestamp=2026-10-07T10:28:30.846970378Z level=INFO service=order-service product=rabbitmq lab=backlog-recovery messageId=01M4AYGASXZ20VMR00E6M21X70 eventType=order.created schemaVersion=1 aggregateId=order-1001 traceId=00000000000000000000000000000001 correlationId=order-1001 destination=orders.backlog consumer=consumer-1 attempt=1 redelivered=false status=received
[replay-gate] timestamp=2026-10-07T10:28:30.847445859Z checkpoint=after-delivery messageId=01M4AYGASXZ20VMR00E6M21X70 token=4fc1dc23bdac-1-after-delivery-01M4AYGASXZ20VMR00E6M21X70-7 status=waiting
[replay-gate] timestamp=2026-10-07T10:28:32.349797826Z checkpoint=after-delivery messageId=01M4AYGASXZ20VMR00E6M21X70 token=4fc1dc23bdac-1-after-delivery-01M4AYGASXZ20VMR00E6M21X70-7 status=released
[consumer] timestamp=2026-10-07T10:28:32.355518140Z level=INFO service=order-service product=rabbitmq lab=backlog-recovery messageId=01M4AYGASXZ20VMR00E6M21X70 eventType=order.created schemaVersion=1 aggregateId=order-1001 traceId=00000000000000000000000000000001 correlationId=order-1001 destination=orders.backlog attempt=1 status=duplicate_skipped
[replay-gate] timestamp=2026-10-07T10:28:32.355979064Z checkpoint=before-ack messageId=01M4AYGASXZ20VMR00E6M21X70 token=4fc1dc23bdac-1-before-ack-01M4AYGASXZ20VMR00E6M21X70-8 status=waiting
[replay-gate] timestamp=2026-10-07T10:28:33.758332011Z checkpoint=before-ack messageId=01M4AYGASXZ20VMR00E6M21X70 token=4fc1dc23bdac-1-before-ack-01M4AYGASXZ20VMR00E6M21X70-8 status=released
[consumer] timestamp=2026-10-07T10:28:33.759810166Z level=INFO service=order-service product=rabbitmq lab=backlog-recovery messageId=01M4AYGASY8XKPW500G0AB6E5N eventType=order.created schemaVersion=1 aggregateId=order-1002 traceId=00000000000000000000000000000002 correlationId=order-1002 destination=orders.backlog consumer=consumer-1 attempt=1 redelivered=false status=received
[replay-gate] timestamp=2026-10-07T10:28:33.760266020Z checkpoint=after-delivery messageId=01M4AYGASY8XKPW500G0AB6E5N token=4fc1dc23bdac-1-after-delivery-01M4AYGASY8XKPW500G0AB6E5N-9 status=waiting
[replay-gate] timestamp=2026-10-07T10:28:35.062919265Z checkpoint=after-delivery messageId=01M4AYGASY8XKPW500G0AB6E5N token=4fc1dc23bdac-1-after-delivery-01M4AYGASY8XKPW500G0AB6E5N-9 status=released
[consumer] timestamp=2026-10-07T10:28:35.063948335Z level=INFO service=order-service product=rabbitmq lab=backlog-recovery messageId=01M4AYGASY8XKPW500G0AB6E5N eventType=order.created schemaVersion=1 aggregateId=order-1002 traceId=00000000000000000000000000000002 correlationId=order-1002 destination=orders.backlog attempt=1 status=duplicate_skipped
[replay-gate] timestamp=2026-10-07T10:28:35.064440197Z checkpoint=before-ack messageId=01M4AYGASY8XKPW500G0AB6E5N token=4fc1dc23bdac-1-before-ack-01M4AYGASY8XKPW500G0AB6E5N-10 status=waiting
[replay-gate] timestamp=2026-10-07T10:28:36.466752731Z checkpoint=before-ack messageId=01M4AYGASY8XKPW500G0AB6E5N token=4fc1dc23bdac-1-before-ack-01M4AYGASY8XKPW500G0AB6E5N-10 status=released
[consumer] timestamp=2026-10-07T10:28:36.468062581Z level=INFO service=order-service product=rabbitmq lab=backlog-recovery messageId=01M4AYGAT0WVVWSR00TWEAN60V eventType=order.created schemaVersion=1 aggregateId=order-1003 traceId=00000000000000000000000000000003 correlationId=order-1003 destination=orders.backlog consumer=consumer-1 attempt=1 redelivered=false status=received
[replay-gate] timestamp=2026-10-07T10:28:36.468550285Z checkpoint=after-delivery messageId=01M4AYGAT0WVVWSR00TWEAN60V token=4fc1dc23bdac-1-after-delivery-01M4AYGAT0WVVWSR00TWEAN60V-11 status=waiting
[replay-gate] timestamp=2026-10-07T10:28:38.072453070Z checkpoint=after-delivery messageId=01M4AYGAT0WVVWSR00TWEAN60V token=4fc1dc23bdac-1-after-delivery-01M4AYGAT0WVVWSR00TWEAN60V-11 status=released
[consumer] timestamp=2026-10-07T10:28:38.073656746Z level=INFO service=order-service product=rabbitmq lab=backlog-recovery messageId=01M4AYGAT0WVVWSR00TWEAN60V eventType=order.created schemaVersion=1 aggregateId=order-1003 traceId=00000000000000000000000000000003 correlationId=order-1003 destination=orders.backlog attempt=1 status=duplicate_skipped
[replay-gate] timestamp=2026-10-07T10:28:38.074150101Z checkpoint=before-ack messageId=01M4AYGAT0WVVWSR00TWEAN60V token=4fc1dc23bdac-1-before-ack-01M4AYGAT0WVVWSR00TWEAN60V-12 status=waiting
[replay-gate] timestamp=2026-10-07T10:28:39.376308390Z checkpoint=before-ack messageId=01M4AYGAT0WVVWSR00TWEAN60V token=4fc1dc23bdac-1-before-ack-01M4AYGAT0WVVWSR00TWEAN60V-12 status=released
[consumer] timestamp=2026-10-07T10:28:39.376793732Z level=INFO service=order-service product=rabbitmq lab=backlog-recovery queue=orders.backlog received=6 status=done
inspect-db.out.txt
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
[inspect] timestamp=2026-10-07T10:28:39.939590744Z level=INFO service=order-service product=rabbitmq lab=backlog-recovery business_rows=3 processed_rows=3 status=snapshot
producer.out.txt
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
[producer] timestamp=2026-10-07T10:28:19.385588489Z level=INFO service=order-service product=rabbitmq lab=backlog-recovery messageId=01M4AYGAS0RPAKM4005Z85MT9F eventType=order.created schemaVersion=1 aggregateId=order-1001 traceId=00000000000000000000000000000001 correlationId=order-1001 destination=orders.backlog routingKey=orders.backlog durationMs=3 status=confirmed
[producer] timestamp=2026-10-07T10:28:19.387263447Z level=INFO service=order-service product=rabbitmq lab=backlog-recovery messageId=01M4AYGASTFXYJBH007ZRWA48Y eventType=order.created schemaVersion=1 aggregateId=order-1002 traceId=00000000000000000000000000000002 correlationId=order-1002 destination=orders.backlog routingKey=orders.backlog durationMs=0 status=confirmed
[producer] timestamp=2026-10-07T10:28:19.388590804Z level=INFO service=order-service product=rabbitmq lab=backlog-recovery messageId=01M4AYGASV6CRYJF00633JGN6Z eventType=order.created schemaVersion=1 aggregateId=order-1003 traceId=00000000000000000000000000000003 correlationId=order-1003 destination=orders.backlog routingKey=orders.backlog durationMs=0 status=confirmed
[producer] timestamp=2026-10-07T10:28:19.390072490Z level=INFO service=order-service product=rabbitmq lab=backlog-recovery messageId=01M4AYGASXZ20VMR00E6M21X70 eventType=order.created schemaVersion=1 aggregateId=order-1001 traceId=00000000000000000000000000000001 correlationId=order-1001 destination=orders.backlog routingKey=orders.backlog durationMs=0 status=confirmed
[producer] timestamp=2026-10-07T10:28:19.391496908Z level=INFO service=order-service product=rabbitmq lab=backlog-recovery messageId=01M4AYGASY8XKPW500G0AB6E5N eventType=order.created schemaVersion=1 aggregateId=order-1002 traceId=00000000000000000000000000000002 correlationId=order-1002 destination=orders.backlog routingKey=orders.backlog durationMs=0 status=confirmed
[producer] timestamp=2026-10-07T10:28:19.393159513Z level=INFO service=order-service product=rabbitmq lab=backlog-recovery messageId=01M4AYGAT0WVVWSR00TWEAN60V eventType=order.created schemaVersion=1 aggregateId=order-1003 traceId=00000000000000000000000000000003 correlationId=order-1003 destination=orders.backlog routingKey=orders.backlog durationMs=0 status=confirmed
[producer] timestamp=2026-10-07T10:28:19.393267436Z level=INFO service=order-service product=rabbitmq lab=backlog-recovery destination=orders.backlog confirmed=6 status=done
setup.out.txt
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.

在 RabbitMQ 实验台查看离线积压与恢复轨道。积压不等于丢失;生产环境还必须监控积压增长斜率、磁盘水位与追赶吞吐,不能只等待队列最终清零。

安全基线(单节点实验版) ​

  • 本仓库实验账号 guest/guest 仅允许 localhost 访问(RabbitMQ 默认行为),管理端口只绑 127.0.0.1。
  • 生产基线:独立用户 + 最小权限(configure/write/read 正则按实体收敛)、TLS 加密 AMQP、禁用默认 guest、审计开启 management 审计日志。
  • Kubernetes/Helm 部署只讲原则:单容器实验拓扑不等价生产集群;Quorum Queue 需要节点反亲和与稳定的存储。

cli-tools:纯自带 CLI 实验 ​

sbin 共 10 项;4.x 已移除 rabbitmqctl add_queue(实测 Command not found),队列声明改用 management 镜像自带的 rabbitmqadmin declare queue。镜像内没有 curl/python3,收发由宿主机 curl 调 management HTTP API(15672)完成:publish ×3 全部 "routed":true,get 以 ack_requeue_false 消费即删除 3 条。最后 rabbitmqctl list_queues 复查队列深度归零。

rabbitmq / dockerbash demos/rabbitmq/docker/run.sh
assert.out.txt
---
status: verified
capturedAt: "2026-08-23T15:19:49.324Z"
dockerImage: "rabbitmq:4.1.4-management@sha256:294b01e1796a8acede4619f32a1c394fae1f8021e57986ea01aad38dc2a4f502"
exitCode: 0
---
PASS binCount: 10
PASS nodeRunning: 1
PASS queueCreated: 1
PASS routedCount: 3
PASS consumedCount: 3
PASS consumedUnique: 3
PASS queueDepth: 0
RESULT: all assertions passed
bin-list.out.txt
[cli-tools] $ ls /opt/rabbitmq/sbin
rabbitmq-defaults
rabbitmq-diagnostics
rabbitmq-env
rabbitmq-plugins
rabbitmq-queues
rabbitmq-server
rabbitmq-streams
rabbitmq-upgrade
rabbitmqctl
vmware-rabbitmq
consume.out.txt
[cli-tools] $ curl -s -u guest:guest -X POST http://127.0.0.1:15672/api/queues/%2F/orders-cli/get -d '{"count":3,"ackmode":"ack_requeue_false","encoding":"auto"}'
[{"payload_bytes":11,"redelivered":false,"exchange":"","routing_key":"orders-cli","message_count":2,"properties":[],"payload":"order-cli-1","payload_encoding":"string"},{"payload_bytes":11,"redelivered":false,"exchange":"","routing_key":"orders-cli","message_count":1,"properties":[],"payload":"order-cli-2","payload_encoding":"string"},{"payload_bytes":11,"redelivered":false,"exchange":"","routing_key":"orders-cli","message_count":0,"properties":[],"payload":"order-cli-3","payload_encoding":"string"}]
create.out.txt
[cli-tools] $ rabbitmqadmin declare queue name=orders-cli durable=true
queue declared
inventory.out.txt
---
status: verified
capturedAt: "2026-08-23T15:19:49.324Z"
dockerImage: "rabbitmq:4.1.4-management@sha256:294b01e1796a8acede4619f32a1c394fae1f8021e57986ea01aad38dc2a4f502"
exitCode: 0
---
[cli-tools] $ ls /opt/rabbitmq/sbin
rabbitmq-defaults
rabbitmq-diagnostics
rabbitmq-env
rabbitmq-plugins
rabbitmq-queues
rabbitmq-server
rabbitmq-streams
rabbitmq-upgrade
rabbitmqctl
vmware-rabbitmq
produce.out.txt
[cli-tools] $ curl -s -u guest:guest -X POST http://127.0.0.1:15672/api/exchanges/%2F/amq.default/publish -d '{"properties":{},"routing_key":"orders-cli","payload":"order-cli-1","payload_encoding":"string"}'
{"routed":true}
[cli-tools] $ curl -s -u guest:guest -X POST http://127.0.0.1:15672/api/exchanges/%2F/amq.default/publish -d '{"properties":{},"routing_key":"orders-cli","payload":"order-cli-2","payload_encoding":"string"}'
{"routed":true}
[cli-tools] $ curl -s -u guest:guest -X POST http://127.0.0.1:15672/api/exchanges/%2F/amq.default/publish -d '{"properties":{},"routing_key":"orders-cli","payload":"order-cli-3","payload_encoding":"string"}'
{"routed":true}
session.out.txt
---
status: verified
capturedAt: "2026-08-23T15:19:49.324Z"
dockerImage: "rabbitmq:4.1.4-management@sha256:294b01e1796a8acede4619f32a1c394fae1f8021e57986ea01aad38dc2a4f502"
exitCode: 0
---
## status
[cli-tools] $ sh -c rabbitmqctl status && echo && rabbitmq-diagnostics check_running
Status of node rabbit@hello-mq-rabbitmq ...
Runtime

OS PID: 20
OS: Linux
Uptime (seconds): 6
Is under maintenance?: false
RabbitMQ version: 4.1.4
RabbitMQ release series support status: see https://www.rabbitmq.com/release-information
Node name: rabbit@hello-mq-rabbitmq
Erlang configuration: Erlang/OTP 27 [erts-15.2.7.2] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1] [jit:ns]
Crypto library: OpenSSL 3.3.5 30 Sep 2025
Erlang processes: 418 used, 1048576 limit
Scheduler run queue: 1
Cluster heartbeat timeout (net_ticktime): 60

Plugins

Enabled plugin file: /etc/rabbitmq/enabled_plugins
Enabled plugins:

 * rabbitmq_prometheus
 * accept
 * prometheus
 * rabbitmq_management
 * rabbitmq_management_agent
 * rabbitmq_web_dispatch
 * amqp_client
 * cowboy
 * oauth2_client
 * jose

Data directory

Node data directory: /var/lib/rabbitmq/mnesia/rabbit@hello-mq-rabbitmq
Raft data directory: /var/lib/rabbitmq/mnesia/rabbit@hello-mq-rabbitmq/quorum/rabbit@hello-mq-rabbitmq

Config files

 * /etc/rabbitmq/conf.d/10-defaults.conf

Log file(s)

 * <stdout>

Alarms

(none)

Tags

(none)

Memory

Total memory used: 0.1537 gb
Calculation strategy: rss
Memory high watermark setting: 0.6 of available memory, computed to: 10.0598 gb

reserved_unallocated: 0.0939 gb (61.06 %)
code: 0.0237 gb (15.44 %)
other_system: 0.0186 gb (12.12 %)
other_proc: 0.0153 gb (9.96 %)
other_ets: 0.0024 gb (1.54 %)
atom: 0.0012 gb (0.76 %)
metrics: 0.0008 gb (0.55 %)
plugins: 0.0003 gb (0.19 %)
msg_index: 0.0002 gb (0.1 %)
mgmt_db: 0.0002 gb (0.1 %)
mnesia: 0.0001 gb (0.05 %)
binary: 0.0001 gb (0.05 %)
metadata_store: 0.0 gb (0.02 %)
quorum_ets: 0.0 gb (0.0 %)
metadata_store_ets: 0.0 gb (0.0 %)
connection_other: 0.0 gb (0.0 %)
quorum_queue_procs: 0.0 gb (0.0 %)
quorum_queue_dlx_procs: 0.0 gb (0.0 %)
stream_queue_procs: 0.0 gb (0.0 %)
stream_queue_replica_reader_procs: 0.0 gb (0.0 %)
connection_readers: 0.0 gb (0.0 %)
connection_writers: 0.0 gb (0.0 %)
connection_channels: 0.0 gb (0.0 %)
queue_procs: 0.0 gb (0.0 %)
stream_queue_coordinator_procs: 0.0 gb (0.0 %)
allocated_unused: 0.0 gb (0.0 %)

File Descriptors

Total: 0, limit: 65439

Free Disk Space

Low free disk space watermark: 0.05 gb
Free disk space: 90.0695 gb

Totals

Connection count: 0
Queue count: 0
Virtual host count: 1

Listeners

Interface: [::], port: 15672, protocol: http, purpose: HTTP API
Interface: [::], port: 15692, protocol: http/prometheus, purpose: Prometheus exporter API over HTTP
Interface: [::], port: 25672, protocol: clustering, purpose: inter-node and CLI tool communication
Interface: [::], port: 5672, protocol: amqp, purpose: AMQP 0-9-1 and AMQP 1.0

Checking if RabbitMQ is running on node rabbit@hello-mq-rabbitmq ...
RabbitMQ on node rabbit@hello-mq-rabbitmq is fully booted and running

## create
[cli-tools] $ rabbitmqadmin declare queue name=orders-cli durable=true
queue declared

## produce
[cli-tools] $ curl -s -u guest:guest -X POST http://127.0.0.1:15672/api/exchanges/%2F/amq.default/publish -d '{"properties":{},"routing_key":"orders-cli","payload":"order-cli-1","payload_encoding":"string"}'
{"routed":true}
[cli-tools] $ curl -s -u guest:guest -X POST http://127.0.0.1:15672/api/exchanges/%2F/amq.default/publish -d '{"properties":{},"routing_key":"orders-cli","payload":"order-cli-2","payload_encoding":"string"}'
{"routed":true}
[cli-tools] $ curl -s -u guest:guest -X POST http://127.0.0.1:15672/api/exchanges/%2F/amq.default/publish -d '{"properties":{},"routing_key":"orders-cli","payload":"order-cli-3","payload_encoding":"string"}'
{"routed":true}

## consume
[cli-tools] $ curl -s -u guest:guest -X POST http://127.0.0.1:15672/api/queues/%2F/orders-cli/get -d '{"count":3,"ackmode":"ack_requeue_false","encoding":"auto"}'
[{"payload_bytes":11,"redelivered":false,"exchange":"","routing_key":"orders-cli","message_count":2,"properties":[],"payload":"order-cli-1","payload_encoding":"string"},{"payload_bytes":11,"redelivered":false,"exchange":"","routing_key":"orders-cli","message_count":1,"properties":[],"payload":"order-cli-2","payload_encoding":"string"},{"payload_bytes":11,"redelivered":false,"exchange":"","routing_key":"orders-cli","message_count":0,"properties":[],"payload":"order-cli-3","payload_encoding":"string"}]

## verify
[cli-tools] $ rabbitmqctl list_queues name messages
Timeout: 60.0 seconds ...
Listing queues for vhost / ...
name	messages
orders-cli	0
status.out.txt
[cli-tools] $ sh -c rabbitmqctl status && echo && rabbitmq-diagnostics check_running
Status of node rabbit@hello-mq-rabbitmq ...
Runtime

OS PID: 20
OS: Linux
Uptime (seconds): 6
Is under maintenance?: false
RabbitMQ version: 4.1.4
RabbitMQ release series support status: see https://www.rabbitmq.com/release-information
Node name: rabbit@hello-mq-rabbitmq
Erlang configuration: Erlang/OTP 27 [erts-15.2.7.2] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1] [jit:ns]
Crypto library: OpenSSL 3.3.5 30 Sep 2025
Erlang processes: 418 used, 1048576 limit
Scheduler run queue: 1
Cluster heartbeat timeout (net_ticktime): 60

Plugins

Enabled plugin file: /etc/rabbitmq/enabled_plugins
Enabled plugins:

 * rabbitmq_prometheus
 * accept
 * prometheus
 * rabbitmq_management
 * rabbitmq_management_agent
 * rabbitmq_web_dispatch
 * amqp_client
 * cowboy
 * oauth2_client
 * jose

Data directory

Node data directory: /var/lib/rabbitmq/mnesia/rabbit@hello-mq-rabbitmq
Raft data directory: /var/lib/rabbitmq/mnesia/rabbit@hello-mq-rabbitmq/quorum/rabbit@hello-mq-rabbitmq

Config files

 * /etc/rabbitmq/conf.d/10-defaults.conf

Log file(s)

 * <stdout>

Alarms

(none)

Tags

(none)

Memory

Total memory used: 0.1537 gb
Calculation strategy: rss
Memory high watermark setting: 0.6 of available memory, computed to: 10.0598 gb

reserved_unallocated: 0.0939 gb (61.06 %)
code: 0.0237 gb (15.44 %)
other_system: 0.0186 gb (12.12 %)
other_proc: 0.0153 gb (9.96 %)
other_ets: 0.0024 gb (1.54 %)
atom: 0.0012 gb (0.76 %)
metrics: 0.0008 gb (0.55 %)
plugins: 0.0003 gb (0.19 %)
msg_index: 0.0002 gb (0.1 %)
mgmt_db: 0.0002 gb (0.1 %)
mnesia: 0.0001 gb (0.05 %)
binary: 0.0001 gb (0.05 %)
metadata_store: 0.0 gb (0.02 %)
quorum_ets: 0.0 gb (0.0 %)
metadata_store_ets: 0.0 gb (0.0 %)
connection_other: 0.0 gb (0.0 %)
quorum_queue_procs: 0.0 gb (0.0 %)
quorum_queue_dlx_procs: 0.0 gb (0.0 %)
stream_queue_procs: 0.0 gb (0.0 %)
stream_queue_replica_reader_procs: 0.0 gb (0.0 %)
connection_readers: 0.0 gb (0.0 %)
connection_writers: 0.0 gb (0.0 %)
connection_channels: 0.0 gb (0.0 %)
queue_procs: 0.0 gb (0.0 %)
stream_queue_coordinator_procs: 0.0 gb (0.0 %)
allocated_unused: 0.0 gb (0.0 %)

File Descriptors

Total: 0, limit: 65439

Free Disk Space

Low free disk space watermark: 0.05 gb
Free disk space: 90.0695 gb

Totals

Connection count: 0
Queue count: 0
Virtual host count: 1

Listeners

Interface: [::], port: 15672, protocol: http, purpose: HTTP API
Interface: [::], port: 15692, protocol: http/prometheus, purpose: Prometheus exporter API over HTTP
Interface: [::], port: 25672, protocol: clustering, purpose: inter-node and CLI tool communication
Interface: [::], port: 5672, protocol: amqp, purpose: AMQP 0-9-1 and AMQP 1.0

Checking if RabbitMQ is running on node rabbit@hello-mq-rabbitmq ...
RabbitMQ on node rabbit@hello-mq-rabbitmq is fully booted and running
verify.out.txt
[cli-tools] $ rabbitmqctl list_queues name messages
Timeout: 60.0 seconds ...
Listing queues for vhost / ...
name	messages
orders-cli	0

官方资料 ​

以统一实验验证消息系统语义边界