---
title: "RabbitMQ"
description: ""
url: "https://docs.itrsgroup.com/docs/geneos/7.11.0/collection/rabbitmq/index.html"
---
## Overview


RabbitMQ is an open source message broker that supports multiple messaging protocols. It is a message querying library used to communicate in scalable distributed systems.

The RabbitMQ integration provides a Gateway configuration file that enables monitoring of RabbitMQ environment through a set of pre-configured Toolkit samplers.

This guide walks you through the integration process.

## Intended audience

This user guide is intended for experienced Geneos users who want to set up and configure an integration between Geneos and RabbitMQ. This is also intended for users who are monitoring data from the RabbitMQ environment.

As a user, you should be familiar with Python and with general administration of the RabbitMQ services.

## Prerequisites


The following requirements must be met before the installation and setup of the template:



- Geneos 4.11 or higher.
- Python 2.7 or higher.
- Access to the RabbitMQ environment (version 1.1 or higher).


## Setup and configuration

The RabbitMQ monitoring integration is largely preconfigured and involves these primary steps:

1. [Download the integration files](https://docs.itrsgroup.com/docs/geneos/7.11.0/collection/rabbitmq/index.html#download-the-integration-files)
2. [Load the integration files](https://docs.itrsgroup.com/docs/geneos/7.11.0/collection/rabbitmq/index.html#load-the-integration-files)
3. [Associate the samplers with a managed entity](https://docs.itrsgroup.com/docs/geneos/7.11.0/collection/rabbitmq/index.html#associate-the-samplers-with-a-managed-entity)


**Note**


The include files are intended to be read-only and should not be edited (unless the integration specifically requires for them to be modified). This is because include files can be shared between a few instances of a Gateway and best practice is to share them in their default state. It is also to make the upgrades and maintenance process of the integration files easier. All configuration should be carried out in your local Gateway files instead.  




### Download the integration files

1. Download the integration package `geneos-integration-rabbitmq-<version>.zip` from the [ITRS Downloads](https://resources.itrsgroup.com/downloads) site.
2. Save the files on the same machine where your Gateway is running.

The integration package includes the `include/rabbitmqMonitoring.xml` file. This is a Gateway configuration file (also called an include file) containing Toolkit samplers configured for RabbitMQ monitoring integration.

### Load the integration files

To load the integration files into the Gateway Setup Editor, follow these steps:

1. Open Gateway Setup Editor.
2. In the **Navigation** panel, click **Includes** to create a new file.
3. Enter the location of the file to include in the **Location** field. In this example, it is the `include/rabbitmqMonitoring.xml`.
4. Update the **Priority** field. This can be any value except `1`. If you input a priority of `1`, the Gateway Setup Editor returns an error.
5. Expand the file location in the **Include** section.
6. Select **Click to load**.
7. Click **Yes** to load the new include file.
    ![Include file](https://docscdn.itrsgroup.com/geneos/images/integrations/rabbitmq-ug-load-integration-file.png)
    
**Success**

  The Gateway configuration now appears in the **Includes** section. 


### Associate the samplers with a managed entity

After you have loaded the configuration file, the RabbitMQ samplers become available for use. These samplers are associated with a predefined Type. To associate the samplers with a managed entity, follow these steps:

1. In the Gateway Setup Editor, create a new managed entity by right-clicking the **Managed entities** folder.
2. Under the **Basic** tab for the new managed entity, add a pre-configured type. There are two types available, you can add either of them or both: `RabbitMQ` and `RabbitMQ-Queues`.
3. Specify the environment associated with the samplers. By default, this is `RabbitMQ`.
4. Apply the managed entity to the running Netprobe.
5. Click **Validate current document** ![](https://docscdn.itrsgroup.com/geneos/images/Icons/validate22x22.png "icon") to check your configuration.
6. Click **Save current document** ![](https://docscdn.itrsgroup.com/geneos/images/Icons/save16x16.png "icon") to apply the changes.

![RabbitMQ managed entity](https://docscdn.itrsgroup.com/geneos/images/integrations/rabbitmq-ug-add-managed-entity.png)


**Success**

  After you save your changes to the managed entity, the RabbitMQ dataviews appear under the managed entity on the state tree. 


For more information about include files, see the [Include files in Gateway Setup Editor](https://docs.itrsgroup.com/docs/geneos/7.11.0/processing/configuration/gse_user_guide/index.html#include-files).

## Environment configuration

The default environment configuration is created by the `rabbitmqMonitoring.xml` script. You can create a new environment based on the default one and modify the environment variables according to your system.


**Note**


Standard variable scoping rules apply when variable reference is used in include files. Please take note of that when creating your own variables. For more information, see [Variable Scoping and Resolution](https://docs.itrsgroup.com/docs/geneos/7.11.0/processing/gateway-administration/gateway_user_variables_and_environments/index.html#variable-scoping-and-resolution).




### Environment variables

The `rabbitmqMonitoring.xml` script provides the variables that are set in the **Environments** section. These are configured to ensure that the integration monitors your target RabbitMQ environment.

<div class="table-container">
<table class="legacy-table" style="width: 100%;margin-left: 0;margin-right: auto;mc-table-style: url('../Resources/TableStyles/ref_3_col_table.css');" class="TableStyle-ref_3_col_table" cellspacing="0">
                        <col class="TableStyle-ref_3_col_table-Column-Column1" style="width: 190px;"/>
                        <col class="TableStyle-ref_3_col_table-Column-Column1" style="width: 94px;"/>
                        <col class="TableStyle-ref_3_col_table-Column-Column1"/>
                        <thead>
                            <tr class="TableStyle-ref_3_col_table-Head-Header1">
                                <th class="TableStyle-ref_3_col_table-HeadE-Column1-Header1">Variable</th>
                                <th class="TableStyle-ref_3_col_table-HeadE-Column1-Header1">Type</th>
                                <th class="TableStyle-ref_3_col_table-HeadD-Column1-Header1">Description</th>
                            </tr>
                        </thead>
                        <tbody>
                            <tr class="TableStyle-ref_3_col_table-Body-Body1">
                                <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">PYTHON_PATH</td>
                                <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">String</td>
                                <td class="TableStyle-ref_3_col_table-BodyD-Column1-Body1">Path of the Python library located on the machine where the Netprobeis running.</td>
                            </tr>
                            <tr class="TableStyle-ref_3_col_table-Body-Body1">
                                <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">RABBITMQ_SCRIPT </td>
                                <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">String</td>
                                <td class="TableStyle-ref_3_col_table-BodyD-Column1-Body1">
                                    <p>Python script for listing out RabbitMQ information.</p>
                                </td>
                            </tr>
                            <tr class="TableStyle-ref_3_col_table-Body-Body1">
                                <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">RABBITMQ_SAMPLE</td>
                                <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">Integer</td>
                                <td class="TableStyle-ref_3_col_table-BodyD-Column1-Body1">Frequency of sampling. If checks are executed manually, the value is shown as <code>0</code>.</td>
                            </tr>
                            <tr class="TableStyle-ref_3_col_table-Body-Body1">
                                <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">RABBITMQ_LABEL</td>
                                <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">String</td>
                                <td class="TableStyle-ref_3_col_table-BodyD-Column1-Body1">	Used to assign a name to a group of samplers.</td>
                            </tr>
                            <tr class="TableStyle-ref_3_col_table-Body-Body1">
                                <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">RABBITMQ_SERVER</td>
                                <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">String</td>
                                <td class="TableStyle-ref_3_col_table-BodyD-Column1-Body1">Host and port to your RabbitMQ server. <p class="note">Note: Do not include <code>HTTP://</code> in the server address.</p></td>
                            </tr>
                            <tr class="TableStyle-ref_3_col_table-Body-Body1">
                                <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">RABBITMQ_USER  </td>
                                <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">String</td>
                                <td class="TableStyle-ref_3_col_table-BodyD-Column1-Body1">Username that is used with RabbitMQ.</td>
                            </tr>
                            <tr class="TableStyle-ref_3_col_table-Body-Body1">
                                <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">RABBITMQ_PASS </td>
                                <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">String</td>
                                <td class="TableStyle-ref_3_col_table-BodyD-Column1-Body1">Password that is used with RabbitMQ username.</td>
                            </tr>
                        </tbody>
                    </table>
                    
</div>

You can also use environment variables when configuring the samplers. The available environment variables are:

<div class="table-container">
<table class="legacy-table" style="width: 100%;margin-left: 0;margin-right: auto;mc-table-style: url('../Resources/TableStyles/ref_3_col_table.css');" class="TableStyle-ref_3_col_table" cellspacing="0">
                        <col class="TableStyle-ref_3_col_table-Column-Column1" style="width: 190px;"/>
                        <col class="TableStyle-ref_3_col_table-Column-Column1" style="width: 94px;"/>
                        <col class="TableStyle-ref_3_col_table-Column-Column1"/>
                        <thead>
                            <tr class="TableStyle-ref_3_col_table-Head-Header1">
                                <th class="TableStyle-ref_3_col_table-HeadE-Column1-Header1">Variable</th>
                                <th class="TableStyle-ref_3_col_table-HeadE-Column1-Header1">Type</th>
                                <th class="TableStyle-ref_3_col_table-HeadD-Column1-Header1">Description</th>
                            </tr>
                        </thead>
                        <tbody>
                            <tr class="TableStyle-ref_3_col_table-Body-Body1">
                                <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">GET_MQ_VHOSTS  </td>
                                <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">Boolean</td>
                                <td class="TableStyle-ref_3_col_table-BodyD-Column1-Body1">Gets a list of virtual hosts and their properties.</td>
                            </tr>
                            <tr class="TableStyle-ref_3_col_table-Body-Body1">
                                <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">GET_MQ_NODES  </td>
                                <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">Boolean</td>
                                <td class="TableStyle-ref_3_col_table-BodyD-Column1-Body1">Gets a list of nodes and their properties.</td>
                            </tr>
                            <tr class="TableStyle-ref_3_col_table-Body-Body1">
                                <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">GET_MQ_OVERVIEW </td>
                                <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">Boolean</td>
                                <td class="TableStyle-ref_3_col_table-BodyD-Column1-Body1">A high-level overview of your RabbitMQ environment.</td>
                            </tr>
                            <tr class="TableStyle-ref_3_col_table-Body-Body1">
                                <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">GET_MQ_EXCHANGES</td>
                                <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">Boolean</td>
                                <td class="TableStyle-ref_3_col_table-BodyD-Column1-Body1">Gets a list of exchanges and their properties.</td>
                            </tr>
                            <tr class="TableStyle-ref_3_col_table-Body-Body1">
                                <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">GET_MQ_QUEUES_INFO </td>
                                <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">Boolean</td>
                                <td class="TableStyle-ref_3_col_table-BodyD-Column1-Body1">Gets a list of queues and their metadata.</td>
                            </tr>
                            <tr class="TableStyle-ref_3_col_table-Body-Body1">
                                <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">GET_MQ_QUEUES_STATS </td>
                                <td class="TableStyle-ref_3_col_table-BodyE-Column1-Body1">Boolean</td>
                                <td class="TableStyle-ref_3_col_table-BodyD-Column1-Body1">Gets a list of queues and their performance, and health statistics.</td>
                            </tr>
                        </tbody>
                    </table>
                
</div>

## Metrics and dataviews

The RabbitMQ monitoring integration provides a number of samplers each with a default dataview. The sections below show example dataviews.


**Note**

  Your access to the dataviews in Geneos depends on your permission levels in RabbitMQ. If you do not have permission to view a certain pod, you will not see applicable dataviews in Active Console. 


### RabbitMQ-Exchanges

This sampler displays a list of exchanges and their properties.

![RabbitMQ-Exchanges](https://docscdn.itrsgroup.com/geneos/images/integrations/rabbitmq-tr-exchanges-dataview.png)

<div class="table-container">
<table class="legacy-table" style="width: 100%;margin-left: 0;margin-right: auto;mc-table-style: url('../Resources/TableStyles/ref_2_col_table.css');" class="TableStyle-ref_2_col_table" cellspacing="0">
                    <col class="TableStyle-ref_2_col_table-Column-Column1" style="width: 209px;"/>
                    <col class="TableStyle-ref_2_col_table-Column-Column1"/>
                    <thead>
                        <tr class="TableStyle-ref_2_col_table-Head-Header1">
                            <th class="TableStyle-ref_2_col_table-HeadE-Column1-Header1">Headline field</th>
                            <th class="TableStyle-ref_2_col_table-HeadD-Column1-Header1">Description</th>
                        </tr>
                    </thead>
                    <tbody>
                        <tr class="TableStyle-ref_2_col_table-Body-Body1">
                            <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">execDuration</td>
                            <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1">
                                <p>Elapsed time for the Toolkit plug-in to run the script.</p>
                                <p>Unit: seconds</p>
                            </td>
                        </tr>
                    </tbody>
                </table>
                
</div><div class="table-container">
<table class="legacy-table" style="width: 100%;margin-left: 0;margin-right: auto;mc-table-style: url('../Resources/TableStyles/ref_2_col_table.css');" class="TableStyle-ref_2_col_table" cellspacing="0">
                    <col class="TableStyle-ref_2_col_table-Column-Column1" style="width: 208px;"/>
                    <col class="TableStyle-ref_2_col_table-Column-Column1"/>
                    <thead>
                        <tr class="TableStyle-ref_2_col_table-Head-Header1">
                            <th class="TableStyle-ref_2_col_table-HeadE-Column1-Header1">Column Name</th>
                            <th class="TableStyle-ref_2_col_table-HeadD-Column1-Header1">Description</th>
                        </tr>
                    </thead>
                    <tbody>
                        <tr class="TableStyle-ref_2_col_table-Body-Body1">
                            <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">name</td>
                            <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1">Name of the RabbitMQ exchange.</td>
                        </tr>
                        <tr class="TableStyle-ref_2_col_table-Body-Body1">
                            <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">vhost</td>
                            <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1">Indicates which virtual host the exchange belongs to.</td>
                        </tr>
                        <tr class="TableStyle-ref_2_col_table-Body-Body1">
                            <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">autoDelete</td>
                            <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1">Indicates if the queue gets automatically deleted when all consumers have finished using it.</td>
                        </tr>
                        <tr class="TableStyle-ref_2_col_table-Body-Body1">
                            <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">durable</td>
                            <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1">Indicates if the exchange is configured with a parameter <code>durable</code>.</td>
                        </tr>
                        <tr class="TableStyle-ref_2_col_table-Body-Body1">
                            <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">type</td>
                            <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1">Type of the exchange. Available types are: direct, default, topic, fanout, headers and dead letter exchange.</td>
                        </tr>
                        <tr class="TableStyle-ref_2_col_table-Body-Body1">
                            <td class="TableStyle-ref_2_col_table-BodyE-Column1-Body1">internal</td>
                            <td class="TableStyle-ref_2_col_table-BodyD-Column1-Body1">Indicates if an event is internal.</td>
                        </tr>
                    </tbody>
                </table>
                
</div>

### RabbitMQ-Nodes

This sampler retrieves a list of nodes and metadata statistics for the individual nodes.

![RabbitMQ-Nodes](https://docscdn.itrsgroup.com/geneos/images/integrations/rabbitmq-tr-nodes-dataview.png)

<div class="table-container">
<table class="legacy-table" style="width: 100%;margin-left: 0;margin-right: auto;mc-table-style: url('../Resources/TableStyles/ref_2_col_table.css');" class="TableStyle-ref_2_col_table" cellspacing="0">
                    <col class="TableStyle-ref_2_col_table-Column-Column1" style="width: 209px;"/>
                    <col class="TableStyle-ref_2_col_table-Column-Column1"/>
                    <thead>
                        <tr class="TableStyle-ref_2_col_table-Head-Header1">
                            <th class="TableStyle-ref_2_col_table-HeadE-Column1-Header1">Headline field</th>
                            <th class="TableStyle-ref_2_col_table-HeadD-Column1-Header1">Description</th>
                        </tr>
                    </thead>
                    <tbody>
                        <tr class="TableStyle-ref_2_col_table-Body-Body1">
                            <td class="TableStyle-ref_2_col_table-BodyB-Column1-Body1">execDuration</td>
                            <td class="TableStyle-ref_2_col_table-BodyA-Column1-Body1">
                                <p>Elapsed time for the Toolkit plug-in to run the script.</p>
                                <p>Unit: seconds</p>
                            </td>
                        </tr>
                    </tbody>
                </table>
                
</div>

### RabbitMQ-Overview

This sampler displays the high level overview of the RabbitMQ environment.

![RabbitMQ-Overview](https://docscdn.itrsgroup.com/geneos/images/integrations/rabbitmq-tr-overview-dataview.png)

<div class="table-container">
<table class="legacy-table" style="width: 100%;margin-left: 0;margin-right: auto;mc-table-style: url('../Resources/TableStyles/ref_2_col_table.css');" class="TableStyle-ref_2_col_table" cellspacing="0">
                    <col class="TableStyle-ref_2_col_table-Column-Column1" style="width: 209px;"/>
                    <col class="TableStyle-ref_2_col_table-Column-Column1"/>
                    <thead>
                        <tr class="TableStyle-ref_2_col_table-Head-Header1">
                            <th class="TableStyle-ref_2_col_table-HeadE-Column1-Header1">Headline field</th>
                            <th class="TableStyle-ref_2_col_table-HeadD-Column1-Header1">Description</th>
                        </tr>
                    </thead>
                    <tbody>
                        <tr class="TableStyle-ref_2_col_table-Body-Body1">
                            <td class="TableStyle-ref_2_col_table-BodyB-Column1-Body1">execDuration</td>
                            <td class="TableStyle-ref_2_col_table-BodyA-Column1-Body1">
                                <p>Elapsed time for the Toolkit plug-in to run the script.</p>
                                <p>Unit: seconds</p>
                            </td>
                        </tr>
                    </tbody>
                </table>
                
</div>

### RabbitMQ-QueueInfo

This sampler displays a list of queues and metadata statistics for those queues.

![RabbitMQ-QueueInfo](https://docscdn.itrsgroup.com/geneos/images/integrations/rabbitmq-tr-queueinfo-dataview.png)

<div class="table-container">
<table class="legacy-table" style="width: 100%;margin-left: 0;margin-right: auto;mc-table-style: url('../Resources/TableStyles/ref_2_col_table.css');" class="TableStyle-ref_2_col_table" cellspacing="0">
                    <col class="TableStyle-ref_2_col_table-Column-Column1" style="width: 209px;"/>
                    <col class="TableStyle-ref_2_col_table-Column-Column1"/>
                    <thead>
                        <tr class="TableStyle-ref_2_col_table-Head-Header1">
                            <th class="TableStyle-ref_2_col_table-HeadE-Column1-Header1">Headline field</th>
                            <th class="TableStyle-ref_2_col_table-HeadD-Column1-Header1">Description</th>
                        </tr>
                    </thead>
                    <tbody>
                        <tr class="TableStyle-ref_2_col_table-Body-Body1">
                            <td class="TableStyle-ref_2_col_table-BodyB-Column1-Body1">execDuration</td>
                            <td class="TableStyle-ref_2_col_table-BodyA-Column1-Body1">
                                <p>Elapsed time for the Toolkit plug-in to run the script.</p>
                                <p>Unit: seconds</p>
                            </td>
                        </tr>
                    </tbody>
                </table>
                
</div>

### RabbitMQ-QueueStats

This sampler displays a list of queues and usage statistics for those queues.

![RabbitMQ-QueueStats](https://docscdn.itrsgroup.com/geneos/images/integrations/rabbitmq-tr-queuestats-dataview.png)

<div class="table-container">
<table class="legacy-table" style="width: 100%;margin-left: 0;margin-right: auto;mc-table-style: url('../Resources/TableStyles/ref_2_col_table.css');" class="TableStyle-ref_2_col_table" cellspacing="0">
                    <col class="TableStyle-ref_2_col_table-Column-Column1" style="width: 209px;"/>
                    <col class="TableStyle-ref_2_col_table-Column-Column1"/>
                    <thead>
                        <tr class="TableStyle-ref_2_col_table-Head-Header1">
                            <th class="TableStyle-ref_2_col_table-HeadE-Column1-Header1">Headline field</th>
                            <th class="TableStyle-ref_2_col_table-HeadD-Column1-Header1">Description</th>
                        </tr>
                    </thead>
                    <tbody>
                        <tr class="TableStyle-ref_2_col_table-Body-Body1">
                            <td class="TableStyle-ref_2_col_table-BodyB-Column1-Body1">execDuration</td>
                            <td class="TableStyle-ref_2_col_table-BodyA-Column1-Body1">
                                <p>Elapsed time for the Toolkit plug-in to run the script.</p>
                                <p>Unit: seconds</p>
                            </td>
                        </tr>
                    </tbody>
                </table>
                
</div>

### RabbitMQ-VHosts

This sampler displays a list of virtual hosts (vhosts) and metadata statistics for those virtual hosts.

![RabbitMQ-VHosts](https://docscdn.itrsgroup.com/geneos/images/integrations/rabbitmq-tr-vhosts-dataview.png)

<div class="table-container">
<table class="legacy-table" style="width: 100%;margin-left: 0;margin-right: auto;mc-table-style: url('../Resources/TableStyles/ref_2_col_table.css');" class="TableStyle-ref_2_col_table" cellspacing="0">
                    <col class="TableStyle-ref_2_col_table-Column-Column1" style="width: 209px;"/>
                    <col class="TableStyle-ref_2_col_table-Column-Column1"/>
                    <thead>
                        <tr class="TableStyle-ref_2_col_table-Head-Header1">
                            <th class="TableStyle-ref_2_col_table-HeadE-Column1-Header1">Headline field</th>
                            <th class="TableStyle-ref_2_col_table-HeadD-Column1-Header1">Description</th>
                        </tr>
                    </thead>
                    <tbody>
                        <tr class="TableStyle-ref_2_col_table-Body-Body1">
                            <td class="TableStyle-ref_2_col_table-BodyB-Column1-Body1">execDuration</td>
                            <td class="TableStyle-ref_2_col_table-BodyA-Column1-Body1">
                                <p>Elapsed time for the Toolkit plug-in to run the script.</p>
                                <p>Unit: seconds</p>
                            </td>
                        </tr>
                    </tbody>
                </table>
                
</div>


