Running it: the management UI, alarms and flow control

RabbitMQ Course · lesson 12 of 15 · 5 min read

Ready versus Unacked, plus the two resource alarms, explain nearly every RabbitMQ incident.

Open this lesson in the learning hub

Key points

  • Enable the UI with rabbitmq-plugins enable rabbitmq_management and 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.relative 0.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.