# MQTT # Introducción **Este plugin tiene como finalidad poder recibir mensajes de un topic de MQTT**, teniendo la posibilidad de aplicar filtros como palabras o el formato del texto de los mensajes esperados. El plugin realiza todas estas acciones mediante un cliente con el que conecta.
# Matriz de compatibilidad
**Sistemas donde se ha probado**Rocky linux, Fedora 34
**Sistemas donde funciona**Cualquier sistema linux
# Pre requisitos - Es necesaria conectividad hacia el host y topic del que se pretende recibir mensajes. # Parámetros **Parámetros de conectividad**
-i, --host Dirección del servidor MQTT'
-p, --port Puerto del servidor MQTT
**Parámetros para recibir mensajes y filtrar**
-r, --suscribe\_topic Tema de suscripción MQTT
-t, --time Duración del tiempo de ejecución en segundos
-f, --filter Filtro (palabra) a aplicar. Solo se recibiran mensajes que contengan la palabra.
-k, --format Formato de texto de los mensajes esperados a recibir
-l, --limit Limite de mensajes
**Parámetros configuración Pandora**
--agent\_name Nombre del agente que se creará o en el que se creará el módulo
--intervalIntervalo de monitorización del agente
--temporalDirectorio temporal de PandoraFMS
--data\_dir Directorio de datos de PandoraFMS
--group Grupo de destino de PandoraFMS
--transfer\_mode Modo de transferencia de datos, local o tentacle
--tentacle\_client Ruta del cliente de tentacle, por defecto "tentacle\_client"
--tentacle\_opts Opciones adicionales de tentacle
--tentacle\_port Puerto de tentacle
--tentacle\_address IP de tentacle
**Parámetros extra**
--log\_file Ruta donde se generará el archivo de logs
# Ejecución manual El formato de ejecución del plugin es el siguiente: ``` ./pandora_mqtt --agent_name < agent name > --host < host > --port < port > \ [ --subscribe_topic < subscribe_topic > ] [ --time < time > ] \ [ --filter < filter > ] [ --format < format > ] [ --limit < limit > ] \ [ --transfer_mode < local o tentacle > ] [ --tentacle_port < tentacle_port > ] \ [ --tentacle_address < tentacle_address > ] [ --tentacle_client < tentacle client path ] \ [ --tentacle_opts < tentacle extra options ][ -g < group > ] [ --data_dir < data dir > ] \ [ --temporal < temporary directory path > ] [ --interval < interval agent monitorings in seconds > ] \ [ --logfile < logfile path > ] ``` # Configuración en PandoraFMS Para configurar el plugin en PandoraFMS, se deben seguir los siguientes pasos : **1. Subir el plugin a PandoraFMS, por ejemplo en la siguiente ruta:** ``` /etc/pandora/plugin ``` **2. Dirigirse al apartado plugins y crear uno nuevo:** [![imagen.png](https://pandorafms.com/guides/public/uploads/images/gallery/2024-01/scaled-1680-/VNOimagen.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2024-01/VNOimagen.png) **3. Se le añade nombre, descripción y timeout:** [![imagen.png](https://pandorafms.com/guides/public/uploads/images/gallery/2024-01/scaled-1680-/ERUimagen.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2024-01/ERUimagen.png) **4. Se añade la ruta del plugin en el comando y los parámetros necesarios para la ejecución de este.**

Para cada parámetro se debe configurar una macro, siendo la sintaxis de esta macro la siguiente : \_fieldx\_, siendo x el numero posicional del parámetro, por ejemplo en la siguiente imagen vemos los parámetros que es necesario usar para suscribirse a un topic y recibir mensajes.

[![imagen.png](https://pandorafms.com/guides/public/uploads/images/gallery/2024-01/scaled-1680-/HPnimagen.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2024-01/HPnimagen.png) **5. Se configurar las macros anteriores, añadiendo en cada una el valor del parámetro:** [![imagen.png](https://pandorafms.com/guides/public/uploads/images/gallery/2024-01/scaled-1680-/sDmimagen.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2024-01/sDmimagen.png) **6.** **Una vez configurado se debe crear un módulo en un agente que ejecute el plugin. En el menu de módulos de un agente creamos un módulo de tipo plugin nuevo:** [![imagen.png](https://pandorafms.com/guides/public/uploads/images/gallery/2024-01/scaled-1680-/503imagen.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2024-01/503imagen.png) **7. En el menú de configuración del módulo, le ponemos un nombre, seleccionamos el plugin antes cnfigurado y se le debe dar a "crear".** [![imagen.png](https://pandorafms.com/guides/public/uploads/images/gallery/2024-01/scaled-1680-/kZHimagen.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2024-01/kZHimagen.png) **8. En el agente seleccionado con el parámetro --agent\_name, se creará un nuevo módulo de formato lista, que contendrá los mensajes recibidos por la ejecución del plugin** [![imagen.png](https://pandorafms.com/guides/public/uploads/images/gallery/2024-01/scaled-1680-/3G0imagen.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2024-01/3G0imagen.png) # Agente y módulos generados por el plugin - El plugin creará un agente con el nombre seleccionado con el parámetro --agent\_name. O en su defecto introducirá el módulo en un agente que ya exista con este nombre. - El plugin creará un módulo:
MQTT.<topic de subscripción>.results Resultados obtenidos en formato lista, es decir, los mensajes recibidos que han pasado los filtros usados.