RabbitMQ Management UI Tour

The RabbitMQ Management UI is a built-in web dashboard that lets you monitor and control your broker from a browser. You can view queues, publish test messages, manage users, and inspect connections — all without writing a single line of code. This tour walks through every major section.

Accessing the Dashboard

Open your browser and go to http://localhost:15672. Log in with your credentials (default: guest / guest). The dashboard loads with a top navigation bar and an overview panel.

Overview Tab

The Overview tab is the first thing you see after logging in. It shows a bird's-eye view of the entire broker.

+-----------------------------------------------+
|  Totals                                       |
|  Queued messages: 42   Ready: 40  Unacked: 2  |
|  Message rates: Publish 120/s  Deliver 118/s  |
+-----------------------------------------------+
|  Nodes                                        |
|  rabbit@server1   Running   Memory: 256 MB    |
+-----------------------------------------------+
|  Ports and Contexts                           |
|  AMQP 5672   Management 15672                 |
+-----------------------------------------------+

Key metrics on the Overview tab include the total number of queued messages, message rates (publish, deliver, acknowledge per second), and the health status of each node in your cluster.

Connections Tab

The Connections tab lists every active TCP connection to the broker. For each connection you can see:

  • The client's IP address and port
  • The virtual host the client is connected to
  • The username used to connect
  • The number of channels open on that connection
  • The heartbeat interval

Click any connection to see its detailed channel list and close it if needed.

Channels Tab

The Channels tab shows every open channel across all connections. Each row displays which queue the channel is consuming from, its prefetch count, and how many unacknowledged messages it holds. This tab is useful for spotting consumers that have stopped acknowledging messages.

Exchanges Tab

The Exchanges tab lists all exchanges on the broker. RabbitMQ ships with several built-in (default) exchanges:

  • (AMQP default) — the nameless direct exchange, routes by queue name
  • amq.direct — a standard direct exchange
  • amq.fanout — a standard fanout exchange
  • amq.topic — a standard topic exchange
  • amq.headers — a standard headers exchange

Click any exchange to see its bindings, publish a test message to it, or delete it. You can also declare new exchanges directly from this tab.

Queues Tab

The Queues tab is where you spend most of your monitoring time. It shows every queue with its current state:

Name          | Messages | Ready | Unacked | State
---------------------------------------------------------
order-queue   |   150    |  148  |    2    | running
email-queue   |     0    |    0  |    0    | idle

Click a queue to open its detail view. From there you can:

  • See the message rate graph (publish rate vs delivery rate)
  • Publish a test message directly into the queue
  • Get (peek at) messages waiting in the queue without consuming them
  • Purge all messages from the queue
  • View and manage bindings for this queue
  • Delete the queue

Publishing a Test Message from the UI

You do not need code to test RabbitMQ. Open any exchange or queue and use the built-in publish form:

  1. Go to the Exchanges tab and click an exchange.
  2. Scroll down to the "Publish message" section.
  3. Enter a routing key (for example: test.key).
  4. Type a message body (for example: {"event": "test"}).
  5. Click "Publish message."

The message travels through the exchange, gets routed to a bound queue, and shows up in the queue count immediately.

Admin Tab

The Admin tab covers user management, virtual hosts, and broker-wide policies.

Users Section

Add, remove, or change permissions for users. You can assign tags like administrator, monitoring, or policymaker to control what each user can see and do.

Virtual Hosts Section

Create or delete virtual hosts. A virtual host is a separate namespace with its own queues and exchanges. Click a virtual host to see which users have access to it.

Policies Section

Policies apply settings to queues and exchanges automatically based on name patterns. For example, a policy can enable message TTL on all queues whose names start with temp-, without you having to configure each queue individually.

Using the HTTP API

Everything in the Management UI is also available via a REST API. The API base URL is http://localhost:15672/api/. For example, to list all queues:

curl -u guest:guest http://localhost:15672/api/queues

This returns a JSON array of all queues with their statistics. The HTTP API is ideal for building custom monitoring scripts or integrating with external dashboards like Grafana.

Important Dashboard Tips

  • The dashboard auto-refreshes every 5 seconds by default. You can adjust this interval in the top-right corner.
  • High "Unacked" counts on the Channels tab indicate consumers that are processing slowly or have crashed.
  • A queue that keeps growing (messages arriving faster than they are consumed) is a sign you need more consumers.
  • The memory bar on the Overview tab turns orange when RabbitMQ uses over 40% of system RAM and red above 60%. Take action before it hits 100%.

Summary

The RabbitMQ Management UI gives you complete visibility into your broker. The Overview tab shows global health. The Connections and Channels tabs reveal client activity. The Exchanges and Queues tabs let you inspect routing and message flow. The Admin tab handles users, virtual hosts, and policies. Mastering this dashboard makes debugging and monitoring RabbitMQ much faster than reading raw logs.

Leave a Comment

Your email address will not be published. Required fields are marked *