RabbitMQ 管理与诊断命令
rabbitmqctl 通过 Erlang 分布式协议管理 RabbitMQ 节点,用来查看队列、连接、交换机和集群状态,以及创建用户、设置权限和策略。它必须在 RabbitMQ 节点所在主机上运行。
rabbitmqctl status
rabbitmqctl cluster_status
rabbitmqctl list_queues name messages consumers
rabbitmqctl list_queues -p /app name messages_ready messages_unacknowledged
rabbitmqctl list_exchanges -p /app
rabbitmqctl list_bindings -p /app
rabbitmqctl list_connections name peer_host state
rabbitmqctl list_channels connection number consumer_count
rabbitmqctl add_user app 'S3cret'
rabbitmqctl set_permissions -p /app app '.*' '.*' '.*'
rabbitmqctl set_policy -p /app ha-two '^ha\.' '{"ha-mode":"exactly","ha-params":2}' --apply-to queues
rabbitmqctl purge_queue -p /app app-events
rabbitmqctl delete_queue -p /app app-events
-p <vhost>;漏掉会用默认 /,看起来像“队列不存在”。purge_queue 会清空消息且不可恢复;先确认队列名和 vhost。.* 前先确认业务实际需要。cluster_status 再处理。status 里能看 alarm,不要只重启服务。delete_queue 不会删除绑定和交换机;清理时要一并检查。rabbitmqctl 是节点本地管理工具,远程管理优先用 HTTP API 或管理插件。rabbitmq-server — 服务端rabbitmq-plugins — 插件管理