Welcome to Pandora FMS Community › Forums › Soporte de la comunidad › module plugin + crontab
-
module plugin + crontab
Posted by edurs on September 14, 2012 at 21:29Hola, perdón que vuelva a abrir un hilo sobre un tema semajente, pero he avanzado en algunas pruebas y quizás ahora con más datos puedan ayudarme.
Mi idea es mediante un programita java que se ejecuta como plugin crear modulos de pandora para realizar el monitoreo de distintos backup a disco. (Si a alguien le interesa le comparto el código del programa y el funcionamiento)
Hasta ahi todo bien, pero no tiene sentido ejecutar ese mismo plugin en el agente cada 2 minutos, sino que con una vez al día alcanzaría, el tema es..como creo un modulo plugin con esa frecuencia en un agente que tiene una frecuencia de 2 minutos.
He intentado algo asi:
# Plugin para controlar backup bases
module_begin
module_interval 5
module_plugin “C:Program Filespandora_agentutilbackBases.bat”
module_endcomo prueba a ver si logro ejecutarlo a cada 10 minutos, pero se ejecuta siempre a cada 2 minutos
y también he intentado algo así:
# Plugin para controlar backup bases
module_begin
module_plugin “C:Program Filespandora_agentutilbackBases.bat”
module_crontab 10,11 * * * *
module_endPara intentar por ejemplo ejecutarlo una vez a cada hora, en este caso la primera vez se ejecuta bien, luego no se ejecuta y no va ningun error al log.
Si a alguien se le ocurre alguna posible solución estaré muy agradecido.
Saludos!
Eduardo
luismi replied 12 years, 3 months ago 3 Members · 10 Replies -
10 Replies
-
-
::
Es decir que si tengo un agente que se reporta cada 5 minutos todos los módulos deben ejecutarse cada menos de 5 minutos???? O esto es algo en particular de los que se ejecutan como plugin?
Tengo módulos con distintas frecuencias, incluso algunos que se ejecutan una sola vez al dia en agentes que se reportan cada 2 minutos y no tengo inconvenientes, salvo este caso de los modulos de tipo plugin -
-
::
Muchas gracias por las respuestas Nacho.
Aun no me queda muy claro. Poner un intervalo en lugar de programar con el crontab ya lo probé pero no funciona, toma el comportamiento que comentaba en el primer post.
No me queda claro si debo poner un intervalo al modulo que se crea en el xml que se ejecuta mediante el plugin.
Como es el comportamiento con los plugin? Se ejecuta una sola vez los módulos de tipo plugin y luego siguen ejecutándose los módulos que se crean mediante ese plugin quedando alojados en memoria? O se ejecuta el modulo de tipo plugin tantas veces como este configurada la frecuencia de ese agente y vuelve a generar los módulos contenidos en él? -
::
Buenas tardes;
Prueba a usar esta estructura para la ejecución de tu plugin, he puesto que se ejecute cada día a las 12 de la noche:
module_begin
module_name nombreejemplo
module_type generic_data
module_exec C:Program Filespandora_agentutilbackBases.bat
module_crontab * 0 * * *
module_endDependiendo del tipo de dato que devuelva tu plugin tendrás que modificar el module_type, a continuación te adjunto los tipos de datos que manejan los módulos:
Un saludo
-
::
Hola Nacho,
Tampoco resultó, me tira esto al log:
2012-09-27 13:45:02 Pandora agent started
2012-09-27 13:45:02 Pandora_Module_Exec: plugin did not executed well (retcode: 9009)Te repaso el funcionamiento del plugin, mediante ese .bat invoco a la aplicación java que genera 20 módulos, cada uno de ellos chequea la existencia de un archivo en una ruta dada y que su fecha de modificación y tamaño sean correctos. El tipo de datos de cada uno de esos módulos es genérico (un número) pero lo que devuelve el .bat que se invoca son los 20 módulos en su respectivo formato xml para que pandora los reconozca.
Te muestro un ejemplo de lo que devuelve la ejecución a mano del programa java:Y así sucesivamente para cada uno de los backups…
Gracias!
-
-
::
Buenas noches edurs,
Disculpa por la demora en contestar.
Los módulos de tipo plugin no permiten asignarles un multiplicador del intervalo del agente (module_interval), es decir, no se puede encerrar entre un module_begin…module_end. La ejecución de un plugin de agente únicamente se hace con el parámetro module_plugin, sin más.
La ejecución de un plugin de servidor genera un XML, que se inserta sin validar, en el XML general que el agente enviará al servidor.
Si creas un .bat que ejecute el plugin, ese módulo devolverá como dato toda la estructura XML del plugin, pero no será procesado por el servidor de Pandora como módulos independientes, si no como un string del módulo con nombre el module_name configurado en el módulo que lo ejecuta. No sé si me he explicado bien.
Yo lo que haría sería implementar el control de ejecución dentro del propio plugin. Es decir, haciendo que se una única vez al día, controlando el cambio de día, y a una hora en específico. De esta forma, puede crear el módulo del tipo module_plugin, que se ejecutará cada 2 minutos, pero que únicamente devolverá datos una vez al día.
El siguiente paso será configurar esos módulos que se creen en el agente, a través de la consola web de Pandora, con un intervalo de 12 horas, para que de esa forma, si no reporta información en el doble de su intervalo, 24 horas, pasen a estado desconocido. Si reportan, esos módulos se mostrarán con estado normal hasta las 24 horas.
Espero haberte ayudado. Un saludo.
-
::
Muchas gracias por la respuesta Luismi, era lo que necesitaba, y muy buena tu solución, la implanté y aparentemente quedó funcionando ok, vamos a ver con el paso de los días si siguen levantados los módulos pq he tenido algunos inconvenientes con módulos de tipo plugin que luego de 2 o 3 días dejan de ejecutarse y tiran al log el mensaje “Pandora_Module_Exec: plugin did not executed well (retcode: 9009)” pero ese ya es otro tema, este inconveniente que plateaba me lo has solucionado!
Muchas gracias!
Saludos,
Eduardo -