Warren
Comparison

Warren vs. the RabbitMQ management UI: what each one is for

2026-09-30 · 6 min read · Viktor Baumann

Warren is not a replacement for the RabbitMQ management UI. It does not declare queues, edit policies or manage users on the broker. The two overlap in exactly one place: looking at the messages in a queue and doing something with them. This page is about that overlap, honestly, because the management UI is free, already installed, and for a lot of situations enough.

What the management UI is

The management plugin ships with RabbitMQ. It configures the broker: exchanges, queues, bindings, policies, vhosts, users, permissions, cluster status, and it shows rates and counts for all of it. Every RabbitMQ operator has it open. For configuration it is the right tool and Warren does not touch that.

It also has a small message-handling corner on each queue page: Get messages, Publish message, Purge, and, with the shovel plugins enabled, Move messages. That corner is where dead-letter work happens, and it was built for a quick look, not for an incident.

Side by side

Management UIWarren
Configure the broker (queues, policies, users)yesno, by design
See which queues are dead-letter queuesno; you know by namedetected by DLX binding or name pattern, sorted to the top
Look at messagesGet messages: one page of up to a few dozen, raw payload, headers as nested tablespeek without consuming, pretty-printed JSON, large payloads loaded on demand, base64 blobs collapsed
Why a message diedread x-death yourselftimeline per message: which queue, why, how often, when; grouped by cause across the queue; framework headers (x-exception-*, MT-Fault-*) recognised
Search inside a queuenoyes, over payload and headers of the loaded messages
Move messagesMove messages: the whole queue to one target queue, via a temporary shovelselected messages or the first N; to the original exchange and routing key from x-death, to a queue, or to an exchange
Strip x-death and retry headers before replaynoyes, so the message gets a fresh retry budget
Throttle a replaynoN messages per second, runs in the background, can be stopped
Edit a message before replaycopy the payload into Publish message by handedit payload, content type or headers, with JSON validation; the republished message is marked as edited
Discard some messages, keep the restno; Purge removes everythingdiscard selected messages with a reason; purge with a reason
Export and import messagesnoNDJSON export of selected messages, import into any target
Who did what, whennothing is recordedaudit log per replay, discard, purge and publish, with the per-message outcome and the message as it sat in the queue
Queue historyrates for the last hour at useful resolutionsampled every 30 seconds, kept for 7 days, 15 minutes to 7 days per queue
Alertingnone; you need Prometheus or a scriptrules by regex: messages above threshold, no consumers while messages wait, growth, inflow rate; to Slack, Teams, webhook (Team and Pro)
Rolesbroker users and tagsviewer, operator, admin; local users or OIDC (Pro)
Keyboardmouseeverything reachable without a mouse; ? lists the shortcuts
Priceincluded with RabbitMQCommunity free for one cluster; Team and Pro paid, one-time

When the management UI is enough

That covers a lot of days. Do not install another tool for those.

When it is not

What Warren does not do

Declare or delete queues and exchanges, edit bindings or policies, manage broker users and permissions, show cluster or node health, or run shovels and federation. For all of that you keep the management UI. Warren reads through the management API and replays over AMQP with a least-privilege user, and it never changes broker configuration.

Warren also does not fix the reason messages die. Idempotent consumers, a retry topology with a wait queue and a parking lot, and alerts that fire early remove most manual replays. Warren is for the ones that remain.

Running both

Most teams keep the management UI for configuration and open Warren when a dead-letter queue has something in it. The two share the broker credentials model: Warren's RabbitMQ user needs the management tag plus read and write on the vhost, nothing more. One container, embedded database, and the demo below starts a broker with real dead letters next to it so you can compare on your own machine.