Get Direct Stream Observability with Our New Open Source RabbitMQ Plugin
We’ve been working on a RabbitMQ plugin to make stream observability significantly clearer and it’s now available as open source.
You can install this to get clear, direct visibility into what your streams and consumers are doing in production without relying on the management interface or client side metrics.
Why This Exists
RabbitMQ streams maintain a lot of useful internal state, but that data is not exposed by core RabbitMQ in a Prometheus-friendly way.
With the plugin, you will be able to answer such questions as by looking at Prometheus metrics with Grafana:
- Are my consumers keeping up?
- Where exactly are we in the stream?
- Are retention policies configured correctly and taking effect?
- What’s happening on this specific node?
You can figure these out usually by looking at the management interface, command line, custom tooling, or indirect signals.
This plugin makes those answers directly observable.
Key Metrics
Main Stream State

We can use these metrics to calculate the number of entries in the stream as well as the approximate message throughput of the stream.
committed_offset— the last committed offset of the streamfirst_offset— retention boundary, the oldest offset which is still presentreaders— number of attached consumers and replicas
Stream Replica Lag

Because the plugin exposes each replica’s offsets, we can calculate how far behind the replication is. This can be useful if we suspect one node is falling behind or if the streams can not handle the load.
Consumer Insight
These are the signals you rely on to confirm the system is behaving correctly or to pinpoint issues when it isn’t.

The plugin provides per-consumer offsets, allowing you to calculate how far the consumer is lagging behind.
Consumer Insight
The plugin exposes additional metrics, such as first_timestamp, segment counts and more. Check out the docs for details.
When You Might Use It
This plugin becomes useful as soon as you need real visibility into stream behavior:
- You want to verify consumers are not falling behind
- You need to confirm offsets and retention are correct
- You’re debugging uneven consumption across nodes
- You care about node-local state, not just cluster-level views
What This Plugin Does
The plugin exposes local RabbitMQ stream counters as Prometheus metrics, using a separate registry and scrape endpoint.
- Registry:
7s_streams - Endpoint:
/metrics/7s_streams
The important detail is that everything is node-local. You get visibility into what each node sees, which is often what matters when debugging real issues.
It also keeps stream metrics isolated from the default Prometheus output, so you can control how you scrape and store them.For installation instructions and downloads, visit the GitHub repository.
Open Source
“The plugin is now open source and open for contributions.
If you’re missing a metric or want to extend it further, open an issue or send a PR.”
Lajos Gerecs | Seventh State RabbitMQ Consultant




