Welcome to Pandora FMS Community!

Find answers, ask questions, and connect with our community around the world.

  • module plugin + crontab

    Posted by edurs on September 14, 2012 at 21:29

    Hola, 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_end

    como 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_end

    Para 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
  • Nacho1988

    Member
    September 18, 2012 at 20:07
    0 Karma points
    Community rank: tentacle-noob-1 Tentacle noob
    Like it
    Up
    0
    Down
    Drop it
    ::

    Buenas tardes;

    El intervalo del agente tendría que ser superior al del módulo para un correcto funcionamiento.

    Un saludo.

  • edurs

    Member
    September 18, 2012 at 23:16
    0 Karma points
    Community rank: tentacle-noob-1 Tentacle noob
    Like it
    Up
    0
    Down
    Drop it
    ::

    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

  • Nacho1988

    Member
    September 20, 2012 at 18:02
    0 Karma points
    Community rank: tentacle-noob-1 Tentacle noob
    Like it
    Up
    0
    Down
    Drop it
    ::

    Buenas tardes;

    No me explique bien.

    Si al modulo no le fijas un module_interval para que se ejecute cada cierto tiempo tomara el intervalo de tiempo del agente por lo que se ejecutará cada 2 minutos haciendo caso omiso de lo que ejecuta el crontab.

  • edurs

    Member
    September 25, 2012 at 00:10
    0 Karma points
    Community rank: tentacle-noob-1 Tentacle noob
    Like it
    Up
    0
    Down
    Drop it
    ::

    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?

  • Nacho1988

    Member
    September 28, 2012 at 14:47
    0 Karma points
    Community rank: tentacle-noob-1 Tentacle noob
    Like it
    Up
    0
    Down
    Drop it
    ::

    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_end

    Dependiendo 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:

    http://openideas.info/wiki/index.php?title=Pandora:Documentation_es:Configuracion#module_type_.3Ctipo.3E

    Un saludo

  • edurs

    Member
    October 2, 2012 at 22:23
    0 Karma points
    Community rank: tentacle-noob-1 Tentacle noob
    Like it
    Up
    0
    Down
    Drop it
    ::

    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!

  • edurs

    Member
    October 19, 2012 at 15:28
    0 Karma points
    Community rank: tentacle-noob-1 Tentacle noob
    Like it
    Up
    0
    Down
    Drop it
    ::

    Perdón la insistencia, pero alguien sabe si es posible poner un intervalo de ejecución a un modulo de tipo plugin que sea diferente al intervalo de ejecución del agente?

    Gracias,

  • luismi

    Member
    October 24, 2012 at 02:28
    0 Karma points
    Community rank: tentacle-noob-1 Tentacle noob
    Like it
    Up
    0
    Down
    Drop it
    ::

    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.

  • edurs

    Member
    November 5, 2012 at 16:24
    0 Karma points
    Community rank: tentacle-noob-1 Tentacle noob
    Like it
    Up
    0
    Down
    Drop it
    ::

    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

  • luismi

    Member
    November 6, 2012 at 01:06
    0 Karma points
    Community rank: tentacle-noob-1 Tentacle noob
    Like it
    Up
    0
    Down
    Drop it
    ::

    Hola edurs,

    Me alegro haber sido de ayuda. Ya sabes, para cualquier cosa, no dudes en comentárnosla.

    Saludos.