RabbitMQ
Este plugin permite obtener datos de monitorización de un entorno de RabbitMQ.
La información es obtenida vía web a través del API de RabbitMQ, por lo que no es necesario instalar ningún software adicional para su funcionamiento.
- Introducción
- Matriz de compatibilidad
- Prerrequisitos
- Configuración
- Ejecución manual
- Configuración en pandora
- Módulos generados por el plugin
Introducción
Este plugin permite obtener datos de monitorización de un entorno de RabbitMQ.
La información es obtenida vía web a través del API de RabbitMQ, por lo que no es necesario instalar ningún software adicional para su funcionamiento.
Este plugin está diseñado para funcionar tanto como plugin de servidor como plugin de agente, ofreciendo flexibilidad en su despliegue según tus necesidades de infraestructura y monitorización.
Matriz de compatibilidad
Desarrollado contra:
- RabbitMQ 3.7.18
Prerrequisitos
Se requiere conexión con el API de RabbitMQ desde el equipo donde se lance el plugin.
Se requiere conexión con el servicio Tentacle asociado a su servidor de Pandora FMS si no se ejecuta como plugin de agente.
El despliegue de este plugin por binarios no requiere ningún requisito especial.
Configuración
El fichero de configuración del plugin se divide en bloques:
Configuraciones de acceso al API
##################
## RabbitMQ access
##################
## API host:port
host=192.168.80.20:8080
## OVM Manager user
user=guest
## OVM Manager password
pass=guest
host
Dirección IP y puerto de conexión para el API de RabbitMQ
user
Usuario de acceso al API de RabbitMQ
pass
Contraseña del usuario indicado
Configuraciones del agente
###################
## Agent parameters
###################
## Agent name (if not running as agent plugin)
agent_name=RabbitMQ
## Agent interval
interval=300
agent_name
Nombre del agente al que se enviará la monitorización si el plugin no se ejecuta como plugin de agente.
interval
Intervalo de monitorización para el agente indicado.
Configuraciones de transferencia de los ficheros XML
######################
## 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
Directorio temporal en el que se generarán los ficheros XML del agente antes de su transferencia al servidor de Pandora FMS (si el plugin no se ejecuta como plugin de agente).
transfer_mode
Método de transferencia de ficheros que se utilizará. Si no se establece como “tentacle” se considerará que el método de transferencia es “local” (copiando los ficheros XML del directorio temporal a uno definido).
local_folder
Directorio al que se copiarán los ficheros XML si el método de transferencia no se establece como “tentacle”.
tentacle_ip
Dirección IP al que se enviarán los ficheros XML si el método de transferencia se establece como “tentacle”.
tentacle_port
Puerto al que conectarse al servidor de Tentacle indicado en el parámetro “tentacle_ip”.
tentacle_opts
Opciones adicionales para la transferencia de ficheros al servidor de Tentacle indicado.
module_group
Define el grupo al que pertenecerán los módulos.
Configuraciones adicionales
###################
## Extra parameters
###################
## Set to 1 to run de plugin as an agent plugin
as_agent_plugin=1
as_agent_plugin
Si se establece a “1” el plugin se ejecutará como plugin de agente. Si se establece a “0” el plugin generará ficheros XML que transferirá al servidor de Pandora FMS para ser procesados.
Ejecución manual
Para ejecutar el plugin configure el archivo de configuración “rabbitmq_monitor.conf” según las instrucciones precedentes.
Ejecución del plugin:
./rabbitmq_monitor rabbitmq_monitor.conf
Con as_agent_plugin 1:
Imprimirá por consola el XML con la información del RabbitMQ.
Con as_agent_plugin 0:
Creará el agente y los módulos asociados en Pandora, imprimiendo 1 como resultado final.
Configuración en pandora
Como plugin de servidor
Iremos a servidores > plugins:
Pinchamos en añadir plugin:
Le ponemos el nombre y la descripción que se prefiera:
Metemos como comando la ruta al plugin, y como parámetros los que hemos metido ejecutando el plugin, los campos "_field_" son macros definidas más abajo.
Ponemos por cada macro la descripción que se prefiera y como valor los datos de rabbitMQ
Como plugin de agente
Deberemos habilitar la configuración remota, para habilitarla tenemos que abrir el archivo pandora_agent.conf :
vim /etc/pandora/pandora_agent.conf
Y después de esto reiniciamos el agente :
/etc/init.d/pandora_agent_daemon restart
Se nos habrá activado la configuración remota, vamos al menu de agentes y pinchamos en el icono de configuración remota que es el siguiente :
Metemos el comando tal como lo ejecutamos y damos a "añadir":
Ejemplo :
/usr/share/pandora_server/util/plugin/rabbitmq_monitor /usr/share/pandora_server/util/plugin/rabbitmq_monitor.conf
Se nos habra creado un nuevo plugin:
Hecho esto, reiniciamos el agente :
/etc/init.d/pandora_agent_daemon restart
Y si vamos al agente con la configuración remota se habrán creado los módulos de rabbitMQ.
Módulos generados por el plugin
La ejecución estándar de este plugin devolverá los siguientes módulos:
- 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.