Menu
Grafana Cloud

RabbitMQ integration for Grafana Cloud

RabbitMQ is the most widely deployed open source message broker. It supports multiple messaging protocols, and can be deployed in distributed and federated configurations to meet high-scale, high-availability requirements.

This integration includes five useful alerts and two pre-built dashboards to help monitor and visualize RabbitMQ metrics.

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

Install RabbitMQ integration for Grafana Cloud

  1. In your Grafana Cloud instance, click Integrations and Connections (lightning bolt icon).
  2. Navigate to the RabbitMQ tile and review the prerequisites. Then click Install integration.
  3. Once the integration is installed, follow the steps on the Configuration Details page to setup Grafana Agent and start sending RabbitMQ metrics to your Grafana Cloud instance.

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.

In case you are deploying multiple grafana agents on different nodes for this integration, make sure to keep the target for each node different otherwise the dashboards may show some information incorrectly for different nodes.

metrics:
  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

Dashboards

The RabbitMQ integration installs the following dashboards in your Grafana Cloud instance to help monitor your metrics.

  • Erlang-Memory-Allocators
  • RabbitMQ-Overview

RabbitMQ Overview

image

Erlang Memory Allocators

image

Alerts

The RabbitMQ integration includes the following useful alerts:

Group: ClusterAlerts

AlertDescription
RabbitMQMemoryHighWarning: RabbitMQ memory usage is high.
RabbitMQFileDescriptorsUsageWarning: RabbitMQ file descriptors usage is high.
RabbitMQUnroutableMessagesWarning: A RabbitMQ queue has unroutable messages.
RabbitMQNodeNotDistributedCritical: RabbitMQ node not distributed, link state is down.
RabbitMQNodeDownCritical: RabbitMQ node is down.

Metrics

The following metrics are automatically written to your Grafana Cloud instance by connecting your RabbitMQ instance through this integration:

  • erlang_vm_allocators
  • erlang_vm_dist_node_state
  • rabbitmq_build_info
  • rabbitmq_channel_consumers
  • rabbitmq_channel_get_ack_total
  • rabbitmq_channel_get_empty_total
  • rabbitmq_channel_get_total
  • rabbitmq_channel_messages_acked_total
  • rabbitmq_channel_messages_confirmed_total
  • rabbitmq_channel_messages_delivered_ack_total
  • rabbitmq_channel_messages_delivered_total
  • rabbitmq_channel_messages_published_total
  • rabbitmq_channel_messages_redelivered_total
  • rabbitmq_channel_messages_unconfirmed
  • rabbitmq_channel_messages_unroutable_dropped_total
  • rabbitmq_channel_messages_unroutable_returned_total
  • rabbitmq_channels
  • rabbitmq_channels_closed_total
  • rabbitmq_channels_opened_total
  • rabbitmq_connections
  • rabbitmq_connections_closed_total
  • rabbitmq_connections_opened_total
  • rabbitmq_disk_space_available_bytes
  • rabbitmq_identity_info
  • rabbitmq_process_max_fds
  • rabbitmq_process_max_tcp_sockets
  • rabbitmq_process_open_fds
  • rabbitmq_process_open_tcp_sockets
  • rabbitmq_process_resident_memory_bytes
  • rabbitmq_queue_messages_published_total
  • rabbitmq_queue_messages_ready
  • rabbitmq_queue_messages_unacked
  • rabbitmq_queues
  • rabbitmq_queues_created_total
  • rabbitmq_queues_declared_total
  • rabbitmq_queues_deleted_total
  • rabbitmq_resident_memory_limit_bytes

Changelog

# 0.0.4 - December 2022

- Update mixin to the latest version
  - Added Job variable to all dashboards
  - Enabled multi and all selection on all variables
  - Renaming alerts for better standadization

# 0.0.3 - September 2022

- Update dashboard panels descriptions.

# 0.0.2 - October 2021

- Update mixin to latest version:
  - Update queries to use $\_\_rate_interval

# 0.0.1 - May 2021

- Initial release

Cost

By connecting your RabbitMQ instance to Grafana Cloud you might incur charges. To view information on the number of active series that your Grafana Cloud account uses for metrics included in each Cloud tier, see Active series and dpm usage and Cloud tier pricing.