# RabbitMQ

# Introduction

This plugin allows to obtain monitoring data from a RabbitMQ environment.

The information is obtained via web through the RabbitMQ API, so it is not necessary to install any additional software for its operation.

**This plugin is designed to work both as a server plugin and as an agent plugin, offering flexibility in its deployment according to your infrastructure and monitoring needs.**

# Compatibility matrix

Developed against:

RabbitMQ 3.7.18

# Pre requisites

Connection to the RabbitMQ API is required from the machine where the plugin is launched.

Connection with the Tentacle service associated to your Pandora FMS server is required if it is not executed as an agent plugin.

The deployment of this plugin by binaries does not require any special requirement.

# Configuration

The plugin configuration file is divided into blocks:

  
**API access settings**

\##################

\## RabbitMQ access

\##################

\## API host:port

host=192.168.80.20:8080

\## OVM Manager user

user=guest

\## OVM Manager password

pass=guest

**host**

IP address and connection port for the RabbitMQ API

**user**

RabbitMQ API login user

**pass**

Password of the specified user

##  

**Agent configurations**

\###################

\## Agent parameters

\###################

\## Agent name (if not running as agent plugin)

agent\_name=RabbitMQ

\## Agent interval

interval=300

**agent\_name**

Name of the agent to which the monitoring will be sent if the plugin is not running as an agent plugin.

**interval**

Monitoring interval for the indicated agent.

  
  
  
  
XML file transfer settings

\######################

\## Transfer parameters

\######################

\## Temporal folder

tmp=/tmp

\## Transfer mode used to send XML file (tentacle or local)

transfer\_mode=tentacle

\## Local folder to copy XML file (used only if transfer\_mode is not tentacle)

local\_folder=/var/spool/pandora/data\_in/

\## Tentacle server IP

tentacle\_ip=127.0.0.1

\## Tentacle server port

tentacle\_port=41121

\## Tentacle extra options (if needed)

\#tentacle\_opts=

\## Define Module Group

\#module\_group=General

**tmp**

Temporary directory where the agent XML files will be generated before transferring them to Pandora FMS server (if the plugin is not executed as agent plugin).

  
**transfer\_mode**

File transfer method to be used. If it is not set as "tentacle" it will be considered that the transfer method is "local" (copying the XML files from the temporary directory to a defined one).

  
**local\_folder**

Directory to which the XML files will be copied to if the transfer method is not set to "tentacle".

  
**tentacle\_ip**

IP address to which the XML files will be sent if the transfer method is set to "tentacle".

  
**tentacle\_port**

Port to connect to the Tentacle server specified in the "tentacle\_ip" parameter.

**tentacle\_opts**

Additional options for transferring files to the indicated Tentacle server.

**module\_group**

Defines the group to which the modules will belong.

  
  
  
Additional configurations

\###################

\## Extra parameters

\###################

\## Set to 1 to run de plugin as an agent plugin

as\_agent\_plugin=1

**as\_agent\_plugin**

If set to "1" the plugin will be executed as an agent plugin. If set to "0" the plugin will generate XML files that will be transferred to Pandora FMS server to be processed.

# Manual execution

To run the plugin configure the configuration file "rabbitmq\_monitor.conf" according to the instructions above.

Execution of the plugin:

```
./rabbitmq_monitor rabbitmq_monitor.conf
```

With as\_agent\_plugin 1:

It will print by console the XML with the RabbitMQ information.

[![image.png](https://pandorafms.com/guides/public/uploads/images/gallery/2025-07/scaled-1680-/qs1image.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2025-07/qs1image.png)

With as\_agent\_plugin 0:

 It will create the agent and the associated modules in Pandora, printing 1 as the final result.

[![image.png](https://pandorafms.com/guides/public/uploads/images/gallery/2025-07/scaled-1680-/7GAimage.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2025-07/7GAimage.png)

# Configuration in pandora

**As a server plugin**

<div id="bkmrk-we-will-go-to-server"><div>We will go to servers &gt; plugins:</div><div>  
</div></div>![image.png](https://pandorafms.com/guides/public/uploads/images/gallery/2025-07/scaled-1680-/E0Wimage.png)click in "add plugin":

[![image.png](https://pandorafms.com/guides/public/uploads/images/gallery/2025-07/scaled-1680-/Sn0image.png)  ](https://pandorafms.com/guides/public/uploads/images/gallery/2025-07/Sn0image.png)We put in the name and description of your choice:

[![image.png](https://pandorafms.com/guides/public/uploads/images/gallery/2025-07/scaled-1680-/Z6Qimage.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2025-07/Z6Qimage.png)

We enter as command the path to the plugin, and as parameters the ones we have entered by executing the plugin, the "\_field\_" fields are macros defined below.

[![image.png](https://pandorafms.com/guides/public/uploads/images/gallery/2025-07/scaled-1680-/1Nmimage.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2025-07/1Nmimage.png)

We put for each macro the description of your choice and as value the data of your rabbitMQ

[![image.png](https://pandorafms.com/guides/public/uploads/images/gallery/2025-07/scaled-1680-/ReUimage.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2025-07/ReUimage.png)

**As agent plugin**

We should enable the remote configuration, to enable it we have to open the pandora\_agent.conf file:

```bash
vim /etc/pandora/pandora_agent.conf
```

Inside we look for the remote\_config line, to enable it we set it to 1.

[![image.png](https://pandorafms.com/guides/public/uploads/images/gallery/2025-07/scaled-1680-/TTTimage.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2025-07/TTTimage.png)

And after that we restart the agent :

```
/etc/init.d/pandora_agent_daemon restart
```

The remote configuration will have been activated, go to the agents menu and click on the remote configuration icon, which is as follows:

[![image.png](https://pandorafms.com/guides/public/uploads/images/gallery/2025-07/scaled-1680-/l9Mimage.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2025-07/l9Mimage.png)

Then we go to plugin menu :

[![image.png](https://pandorafms.com/guides/public/uploads/images/gallery/2025-07/scaled-1680-/Kcpimage.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2025-07/Kcpimage.png)

We enter the command, click in add:

[![image.png](https://pandorafms.com/guides/public/uploads/images/gallery/2025-07/scaled-1680-/LbDimage.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2025-07/LbDimage.png)

Example:

```bash
/usr/share/pandora_server/util/plugin/rabbitmq_monitor /usr/share/pandora_server/util/plugin/rabbitmq_monitor.conf
```

A new plugin will have been created:

[![image.png](https://pandorafms.com/guides/public/uploads/images/gallery/2025-07/scaled-1680-/Ucdimage.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2025-07/Ucdimage.png)

Once this is done, we restart the agent:

```bash
/etc/init.d/pandora_agent_daemon restart
```

And if we go to the agent with the remote configuration, the rabbitMQ modules will have been created.

# Modules generated by the plugin

The standard execution of this plugin will return the following modules:

- Availability.
- Cluster name.
- Total queue messages.
- Messages unacknowledged.
- Total exchanges.
- Queue publish rate.
- Queue deliver get rate.
- Queue deliver noack rate.
- Mem used rate - *nodename*.
- Proc used rate - *nodename*.
- Node status - *nodename*.
- Exchanges in rate.
- Exchanges out rate.
- Total connections.
- Connections running.
- Connections blocked.
- Total received octets.
- Total sent octets.

[![image.png](https://pandorafms.com/guides/public/uploads/images/gallery/2025-09/scaled-1680-/oQRimage.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2025-09/oQRimage.png)