IntegrationsCurrently available IntegrationsRabbitMQ Integration

RabbitMQ Integration for Grafana Cloud

RabbitMQ is one of the most popular open source message brokers, used worldwide at both small startups and large enterprises. It is easy to deploy on premises and in the cloud, and supports multiple messaging protocols. Given its high adoption rate, and based on our community’s usage statistics and customers’ questions, we decided to deliver this integration.

The RabbitMQ community already had amazing dashboards available, covering a cluster’s general healthiness overview, memory consumption, and some other scenarios.

We did some work on top of the first two dashboards, and packaged them up with additional filtering options, so you can go down to the node level and also check the overall cluster information summing up all node’s metrics. We also made the dashboards agnostic to the underlying infrastructure, since the original ones are tailored for a Kubernetes environment.

RabbitMQ-Overview dashboard delivers all information available on the RabbitMQ Management Overview page, allowing you to understand the state of any cluster at a glance.

Erlang-Memory-Allocators dashboard breaks down memory consumption information across all allocators and schedulers.

Pre-install configuration for the RabbitMQ Integration

This integration monitors a RabbitMQ Cluster using the built-in Prometheus metrics collector, shipped natively with RabbitMQ as of version 3.8.0. It provides two dashboards, one that provides a general overview of the cluster health, and other that focus on memory allocators.

In order to enable the Prometheus metrics collector in your Cluster, please run the following command.

rabbitmq-plugins enable rabbitmq_prometheus

Post-install configuration for the RabbitMQ Integration

In the agent configuration file, the agent must be pointed to each node that composes the RabbitMQ Cluster, such as rabbitmqnode1host:15692 in the example below, that exposes a /metrics endpoint.

prometheus:
  wal_directory: /tmp/wal
  configs:
    - name: integrations
      scrape_configs:
        - job_name: integrations/rabbitmq
          static_configs:
            - targets: ['rabbitmqnode1host:15692', 'rabbitmqnode2host:15692', 'rabbitmqnode3host:15692']
      remote_write:
        - url: http://cortex:9009/api/prom/push