Monitor RabbitMQ clusters and nodes through Domotz

RabbitMQ is an open-source message-broker software (sometimes called message-oriented middleware) that originally implemented the Advanced Message Queuing Protocol (AMQP) and has since been extended with a plug-in architecture to support Streaming Text Oriented Messaging Protocol (STOMP), MQ Telemetry Transport (MQTT), and other protocols.

RabbitMQ is used by thousands of companies, including many of the world's biggest brands, to manage communication between applications, databases, and devices. With RabbitMQ, companies have been able to build robust and scalable applications that integrate seamlessly with their existing systems.

However, keeping an eye on the performance of the complex RabbitMQ system is vital for this communication channel's success.

Monitor RabbitMQ using Domotz network monitoring software. We enable you to proactively monitor RabbitMQ performance and instances (single nodes or clusters) through Domotz.

Start Your Free Trial
Integration Domotz + RabbitMQ

checkiconCheck the configuration of the Nodes/Clusters in your RabbitMQ instances

checkiconMonitor vital parameters, performance, and hardware health

checkiconMonitor the number of connections, consumers, and messages

checkiconBreakdown resources and statistics by Exchanges and Queues

How RabbitMQ Monitoring Works

RabbitMQ Clusters and Node Monitoring

Monitor RabbitMQ clusters and nodes using our custom integration driver scripts.

The scripts use the HTTP based API to access the RabbitMQ information. A set of credentials (Username and Password) is required to access the information.

Three different Custom Integration scripts have been developed to offer an initial set of variables and stats that can be monitored through Domotz:

  • rabbitmq_system.js - this script dynamically create system metrics for the RabbitMQ Nodes and Clusters
  • rabbitmq_exchanges.js - this script dynamically creates a table with parameters and statistics for all the exchanges discovered on the RabbitMQ instances
  • rabbitmq_queues.js - this script dynamically creates a table with parameters and statistics for all the queues discovered on the RabbitMQ instances

You can find the RabbitMQ driver codes in our examples library. Just customize the drivers to fit your needs.


Easily Monitor the Nodes and Clusters configured in your RabbitMQ instances

Monitor Nodes and Clusters

For each Node/Cluster, correctly identify its configuration. Check the limits and adjust them accordingly:

  • Health check Parameters
  • Sockets Available (and used ones)
  • Memory limits (and used one)
  • File descriptors limits (and used ones)
  • Etc

Monitor the performance stats and info for each of the Exchange configured

Monitor Performance Stats

For each configured Exchange, measure and monitor the health check parameters, such as:

  • Vhosts of the Exchange
  • Type of the Exchange
  • Messages (Acknowledged, Confirmed, Published, etc)
  • Number of messages managed per second
  • And more

Monitor the performance stats and info for each of the Queue configured

Performance Stats Queue Config

For each configured Queue, measure and monitor the health check parameters, such as:

  • Vhosts of the Queue
  • Type of the Queue
  • Messages (Acknowledged, Confirmed, Published, etc)
  • Number of messages managed per second
  • Number of Consumers
  • Memory consumed for the specific Queue
  • And more

How to enable the RabbitMQ monitoring driver

RabbitMQ Create New Driver RabbitMQ example Driver Code

To enable the custom integration for Kubernetes monitoring, open the WebApp and follow these few steps:

  1. From the left menu, click on "Integration" then on the tab "Custom Integration"
  2. By clicking on “Create a new driver” will open a window where you need to choose the “Driver name” and the “Driver description”
    For example: “RabbitMQ System Statistics” as a Driver name and a brief description of the purpose for this integration (e.g. “This driver gets nodes and cluster metrics from RabbitMQ management plugin”).
  3. Copy the content of the following scripts from the example in the Driver code area (the empty space for the code):
    • rabbitmq_system.js
    • rabbitmq_exchanges.js
    • rabbitmq_queues.js
  4. Apply the Custom Integration to the device hosting the RabbitMQ Cluster.
  5. Note that the scripts use the HTTP based API to access the RabbitMQ information. It requires the RabbitMQ Management Plugin. If not done yet, enable the RabbitMQ management plugin. See RabbitMQ documentation for the instructions.

The driver example code can be found at the links below:


Want to learn more about how to set up the RabbitMQ integration with Domotz?

Ready to get started with Domotz?

  • Powerful
  • Automated
  • Simple
  • Affordable
Start Your Free Trial Contact Sales