Watch your message brokers in realtime.
Hover any row for the detail.
Walk the Redis keyspace and inspect every value, with a live server-statistics band running alongside.
AMQP 1.0: a curated list of topics and queues, or ActiveMQ discovery over Jolokia. RabbitMQ: every queue and exchange in the vhost, with message counts, consumers and rates, from its management API.
Read the messages sitting in a queue: browse (AMQP 1.0 reads copies; RabbitMQ puts each message straight back), skip, or destructive.
Send one message to a queue, topic or exchange behind a deliberate keystroke. RabbitMQ asks for the routing key and reports confirms, NACKs and unroutable messages.
Redis: a live statistics band, Server Details and the connected clients. RabbitMQ: overview totals, node health, publish and deliver rates, and Connections and Consumers tabs.
A pinned, read-only command console — every read path stays non-destructive, so you can probe safely in production.
Pub/sub, pattern pub/sub, streams, keyspace events and MONITOR for Redis; topic & queue tails for AMQP 1.0; exchange taps for RabbitMQ, started from the list.
Record any live tail to a lossless JSONL file — one JSON object per line, RFC 3339 timestamps, browsable in-app and friendly to jq.
Writes only when you ask — and every release is signed.
Browsing, inspecting, tailing and recording leave your data alone. Keyhole writes only when you publish a message or peek a queue: RabbitMQ has no read-only peek, so a browse takes each message and puts it straight back (peek modes). Every release artifact is checksummed, signed (sigstore/cosign keyless) and carries SLSA build-provenance attestations, alongside a CycloneDX SBOM. The canonical, verifiable install command points straight at GitHub:
$ curl --proto '=https' --tlsv1.2 -LsSf \
https://github.com/AlexKasapis/Keyhole/releases/latest/download/keyhole-installer.sh | sh