Open bwmills opened 4 years ago
Not sure if this project is still active.
For anyone interested, if you're using a monitoring setup such as Prometheus + Grafana, note that rabbitmq_queue_message_published_total
is sufficient (or at least partially sufficient) to obtain some insight into queue performance per vhost.
Once you have the prometheus_rabbitmq_exporter
setup and configured with RabbitMQ and your Prometheus config scraping (in our case) the Kubernetes pods running RabbitMQ, and Prometheus added as a data source in Grafana; you can try something along these lines in Grafana:
(1) Create a dashboard variable (what Grafana calls template variables)
Name: top_queues
Type: Query
Data source: prometheus
Refresh: On Time Range Change
Query:
query_result(topk(25, sum(rate(rabbitmq_queue_messages_published_total[${__range_s}s])) by(queue, vhost)))
Regex: .*queue="(.*?)".*
Multi-value: enabled
Include All Option: enabled
(2) Create a dashboard (or add a panel to an existing dashboard)
Use this query to power a graph or a table depending on your preference.
sum(rate(rabbitmq_queue_messages_published_total{queue=~"$top_queues"}[2m])) by (vhost, queue) * 7 / 8
Note that the * 7 / 8
helps refine the accuracy of your results (time series values) depending on your Prometheus scrape interval and other factors related to the number of samples you wish to include in your 2 minute ( [2m]
) query interval (i.e. this may need to be refined in your environment).
The visualization area in your Grafana graph/table will need some tuning as always. You might name this Grafana panel "Top 25 Queue Rates" or the like.
Greetings,
I am aware that as of 3.8.0, RabbitMQ ships a built-in
rabbitmq_prometheus
plugin.We are however still running RabbitMQ 3.7.15 and using the
3.7.9.1
release ofprometheus_rabbitmq_exporter
which is currently configured as follows in our Kubernetes config map for a RabbitMQ cluster running as a stateful set with persistent volumes for storage.Config
which exports the following metrics:
Current Metrics
prometheus_rabbitmq_overview_collector
prometheus_rabbitmq_queues_collector
queue_messages_stat
Goal
We'd like to get better insight into queue performance per
vhost
. The RabbitMQ documentation is a bit unclear, and other searches have led here and here, though it's difficult to know what is supported.Question
What
prometheus_rabbitmq_exporter
collector do we need to enable to export per-queue message publish rates and related metrics to gain these insights? Or do we need to expand the metrics listed inqueue_messages_stat
?Thanks in advance for your assistance.