Sign inSign up

viba88/warren

By viba88

•Updated 3 days ago

Dead-letter operations console for RabbitMQ. Browse, explain and replay dead letters, with an audit

Image
Message queues
Monitoring & observability
0

2.1K

viba88/warren repository overview

⁠Warren: dead-letter operations for RabbitMQ

Warren is a self-hosted web console for the dead-letter side of RabbitMQ. It runs as one container next to your broker and shows what is in a dead-letter queue without consuming it: payload, headers and the x-death history of every message, grouped by cause.

  • Find out why messages died: group by reason, exception, queue or routing key; read the death history as a sentence; one list of failures across all dead-letter queues of a cluster.
  • Replay safely: selected messages, the first N or everything matching a filter, back to their original exchange and routing key, death headers stripped, publisher confirms, throttled. A dry run freezes the exact messages before any bulk action.
  • Know whether it worked: replayed messages that die again are found and counted against their replay ("5 of 143 died again").
  • Park, discard, undo: move poison messages to <queue>.parking with their history, or remove them with a reason; a copy is kept for seven days, so a discard (or a purge of up to 10,000 messages) can be restored.
  • Audit log of every replay, park, discard, purge, publish and export, message by message.
  • Alerts and replay rules (Team, Pro): new failures, piling up, no consumers, broker disk and memory, to Slack, Teams, PagerDuty, Opsgenie, e-mail or webhook; Prometheus metrics; transient failures replayed on a schedule with backoff.
  • Set-up checks: queues that lose dead letters, and a map of where each cluster's dead letters go.

RabbitMQ 3.13 and 4.x, classic and quorum queues. The Community edition is free for one broker with up to three vhosts.

⁠Try it in a minute

A RabbitMQ, Warren and real dead letters in one compose file:

curl -O https://warrenops.io/docker-compose.try.yml
docker compose -f docker-compose.try.yml up -d

Open http://localhost:8080⁠ and sign in as admin / admin.

⁠Run it next to your broker

docker run -d -p 8080:8080 -v warren-data:/app/data \
  -e WARREN_RABBIT_MANAGEMENT_URL=http://rabbitmq:15672 \
  -e WARREN_RABBIT_HOST=rabbitmq \
  -e WARREN_RABBIT_USERNAME=warren -e WARREN_RABBIT_PASSWORD=change-me \
  -e WARREN_ADMIN_PASSWORD=change-me-too \
  viba88/warren:latest

The RabbitMQ user needs the management tag and read and write on the vhost.

Tags: X.Y.Z, X.Y and latest, for linux/amd64 and linux/arm64. The same images are on ghcr.io/viba88/warren.

Tag summary

Content type

Image

Digest

sha256:659c1e41e…

Size

158.1 MB

Last updated

3 days ago

docker pull viba88/warren