Running it: the management UI, alarms and flow control
Ready versus Unacked, plus the two resource alarms, explain nearly every RabbitMQ incident.
Open this lesson in the learning hubKey points
- Enable the UI with
rabbitmq-plugins enable rabbitmq_managementand it listens on 15672. - The guest user is restricted to loopback, so any remote login needs a real user with permissions.
- Watch Ready against Unacked: high Ready means too few consumers, high Unacked means stuck ones.
- The memory alarm fires at
vm_memory_high_watermark.relative0.4 and blocks publishers. - The default disk alarm is 50MB free; both alarms block publishing but still let consumers drain.
- A connection in flow state is being throttled by credit-based flow control, not by the network.
Example
rabbitmq-plugins enable rabbitmq_management # UI on 15672
rabbitmq-plugins enable rabbitmq_prometheus # metrics on 15692
rabbitmqctl add_user app 'change-me'
rabbitmqctl set_permissions -p / app '.*' '.*' '.*'
# the one command that tells you what is actually wrong
rabbitmqctl list_queues name messages_ready \
messages_unacknowledged consumers memory
rabbitmq-diagnostics alarms # memory or disk alarm active?
rabbitmq-diagnostics list_unresponsive_queues
rabbitmqctl list_connections name state channels # look for "flow"
High Ready means add consumers, high Unacked means fix the consumer - and alarms block publishers, not consumers.
This is a reading copy. The full lesson — with the visual explainer, the interactive lab and a Run button for the code — lives in the RabbitMQ Course course, and every lesson in it is listed on the RabbitMQ Course contents page.