Welcome to Pandora FMS Community!

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

Welcome to Pandora FMS Community Forums Soporte de la comunidad Ejecutar .bat tras alerta lanzada

  • Ejecutar .bat tras alerta lanzada

    Posted by saaave on May 12, 2015 at 11:52

    Buenas!,

    Tengo un agente instalado en un servidor Windows con un módulo que simplemente realiza un ping a una IP, si la IP responde devuelve un 1, si no responde devuelve un 0 y su correspondiente estado crítico. Ahora bien, quiero asignarle a ese módulo una alerta para que ejecute un .bat que tengo en el servidor donde tengo el agente instalado, lo que hace este bat es simplemente desactivar y volver a activar la tarjeta de red.

    La alerta se lanza bien pero en el comando no sé muy bien que ponerle para que se ejecute el .bat una vez lanzada la alerta.

    He probado con módule_exec y la ruta del .bat sin éxito.

    Si alguien puede echarme una mano se lo agradecería.

    Gracias!.

    emilio replied 9 years ago 4 Members · 5 Replies
  • 5 Replies
  • javier

    Member
    May 12, 2015 at 12:45
    0 Karma points
    Community rank: tentacle-noob-1 Tentacle noob
    Like it
    Up
    0
    Down
    Drop it
    ::

    Buenos días,

    en la definición del módulo existe una acción que es module_condition con la que es posible definir comandos que se ejecutarán cuando el módulo devuelva determinados valores.

    Es necesario especificar una de las siguientes operaciones:

    > [valor]: Ejecuta el comando cuando el valor del módulo es mayor que el valor dado.
    < [valor]: Ejecuta el comando cuando el valor del módulo es menor que el valor dado.
    = [valor]: Ejecuta el comando cuando el valor del módulo es igual al valor dado.
    != [valor]: Ejecuta el comando cuando el valor del módulo es distinto al valor dado.
    =~ [expresión regular]: Ejecuta el comando cuando el valor del módulo concuerda con la expresión regular dada.
    (valor, valor): Ejecuta el comando cuando el valor del módulo está comprendido entre los valores dados.

    En el sistema operativo Windows es recomendable anteponer cmd.exe /c al comando para asegurar que se ejecuta de forma adecuada. Por ejemplo:

    module_begin
    module_name condition_test
    module_type generic_data
    module_exec echo 5
    module_condition (2, 8) cmd.exe /c script.bat
    module_end

    Un saludo!

  • jpegazo

    Member
    February 5, 2016 at 23:38
    0 Karma points
    Community rank: tentacle-noob-1 Tentacle noob
    Like it
    Up
    0
    Down
    Drop it
    ::

    Estimados, primero que todo no quise abrir un tema porque pensé que no era necesario ya que es sobre la misma temática mi duda.

    Tengo el siguiente módulo en un servidor Linux, donde básicamente me devuelve la memoria RAM libre en %
    El problema es que la instrucción module_condition < 30 /root/LiberarCache.sh no funciona, es decir, al ser menor a 30 (%) no ejecuta el script. Ya probé el script directamente y funciona correctamente. ¿A que se debe? module_begin module_name Memoria Libre (%) module_description Memoria Libre (%) module_type generic_data module_exec TOTAL=`vmstat -s | grep "total memory" | awk  '{ print $1 } '` ; FREE=`vmstat -s | grep "free memory" | awk  '{ print $1 } '` ; TOT="100" ; echo "scale=2;($ module_condition < 30 /root/LiberarCache.sh module_min_warning 11 module_max_warning 30 module_min_critical 0 module_max_critical 10 module_unit % module_end

  • emilio

    Member
    February 9, 2016 at 16:26
    0 Karma points
    Community rank: tentacle-noob-1 Tentacle noob
    Like it
    Up
    0
    Down
    Drop it
    ::

    Buenos días,

    Parece problema de los timeout.

    ¿Podrías ponerle un timeout a la ejecución del módulo más alto que el tiempo que tarda en el ejecutarse el comando + el script?

    Revisa también que el sh tenga permisos de ejecución.

    Un saludo,
    Emilio.

  • jpegazo

    Member
    February 9, 2016 at 19:44
    0 Karma points
    Community rank: tentacle-noob-1 Tentacle noob
    Like it
    Up
    0
    Down
    Drop it
    ::

    Agradezco tu respuesta, pude solucionarlo. El problema era tenia mal definida la alerta en el archivo de configuración.

    Ya funciona sin problemas!

  • emilio

    Member
    February 16, 2016 at 15:45
    0 Karma points
    Community rank: tentacle-noob-1 Tentacle noob
    Like it
    Up
    0
    Down
    Drop it
    ::

    Hola jpegazo,

    Me alegra que consiguieras solucionarlo. No dudes abrir nuevas incidencias ante cualquier otro problema.

    Un saludo,
    Emilio.