Los plugins (complementos) permiten a Pandora FMS obtener información que requiere un procesamiento complejo o que requiere el uso de sistemas o API complejas. Ejemplos de plugins pueden ser la monitorización de bases de datos Oracle® que requiere un complejo proceso para la monitorización y además ciertas tareas de auto descubrimiento; otro ejemplo podría ser un plugin de parseo de HTML simple, pero que requiera algo que no puede hacer el Servidor de chequeos WEB.
Pandora FMS ofrece dos posibilidades a la hora de ejecutar plugins: ejecución en el Agente Software o en el servidor.
Para realizar tareas de reconocimiento en plugins que así lo requieran tenemos de nuevo dos posibilidades.
La primera consiste en usar el servidor Recon Task del servidor de Pandora FMS. Para ello será necesario crear el código ad-hoc para la tecnología o situación concreta. De nuevo las Recon Task cargar el servidor de Pandora FMS por lo que si para realizar la tarea de reconocimiento son necesarias muchas peticiones de datos esta opción deberá ser descartada.
Como alternativa es posible crear una tarea de Recon usando un plugin de agente. Normalmente los plugins de agente devuelven unos módulos que se adjuntan al XML que envía el agente al servidor PFMS. Ahora bien, al instalar el agente en una máquina con el se instala Tentacle lo que permite enviar XML al servidor PFMS. Para realizar una Recon task desde un plugin de agente es posible aprovechar esto y, además de añadir los módulos al agente como hace un plugin normal, dotar al plugin de la capacidad de enviar los XML a Pandora FMS con la información de otros agentes actualizada como lo haría una Recon task.
La idea es que el plugin además de crear los módulos normales, recolecte la información, monte y envíe los XML simulando otros agentes instalados si fuera necesario.
La razón para realizar un plugin que envíe datos por XML y además realice tareas de reconocimiento es para poder distribuir la carga de la monitorización en distintas máquinas y no centralizar en el servidor.
Se usará un plugin de servidor cuando:
Se usará un plugin de agente cuando:
Con el fin de que todos los plugins sean lo más estándar posible y que dispongan de características similares hay que tener en cuenta los siguientes aspectos que detallamos a continuación.
En Pandora FMS seguimos un sistema de versiones para los plugin que tiene el siguiente formato:
v1r1
Siendo:
vX
: versión del plugin, el paso de una versión a otra se produce cuando se añade una nueva funcionalidad importante o se corrige un error que impide el correcto funcionamiento del plugin. La primera versión es v1
.rY
: revisión del plugin, el paso de una revisión a otra se produce cuando se arregla algún bug o se implementa una funcionalidad menor. La primera revisión es r1
.
Siempre que se pase a una nueva versión se comenzará por la primera revisión, es decir, si un plugin está en la versión v1r5
y debe aumentar el número de versión entonces pasará a v2r1
.
Todos los plugins deberán responder ante una llamada sin parámetros o con una opción corta tipo -h
o larga tipo -help
mostrando el comando para su ejecución y los diferentes parámetros del mismo y además es necesario mostrar la versión del plugin. Por ejemplo:
$ ./myplugin myplugin version: v1r1 Usage myplugin <param1> <param2> <param3>