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:52Buenas!,
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
-
::
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_endUn saludo!
-
::
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 -
-
-