El Agente Software de Pandora FMS soporta la ejecución de guiones de comandos (scripts) dependiendo del valor que devuelva un módulo. Hay dos posibilidades de actuación: utilizando postcondiciones y utilizando precondiciones; ambas consisten en parámetros que deben añadirse en la definición de un módulo.
Postcondiciones
El parámetro module_condition
permite definir postcondiciones a la ejecución de un módulo, comandos que se ejecutarán (o no) dependiendo del valor que devuelva la ejecución de cierto módulo. Pueden añadirse varias condiciones a un mismo módulo.
module_begin module_name CPU_Usage_Condition module_type generic_data module_exec get_cpu_usage.pl module_condition < 10 start_new_server.sh module_condition < 20 add_processes.sh module_end
En este ejemplo, el módulo de “Uso de CPU” tiene añadidas dos postcondiciones, que implican la ejecución de los scripts start_new_server.sh
y add_processes.sh
cuando el valor del módulo caiga por debajo de 10
y 20
, respectivamente. Con un valor de 15
, por ejemplo, sólo se ejecutaría add_processes.sh
.
Precondiciones
Las precondiciones se establecen con el parámetro module_precondition
, y permiten evaluar una condición antes de la ejecución del módulo. Dependiendo del resultado, el módulo se ejecutará o no. Al igual que en las postcondiciones, se pueden establecer varias para un mismo módulo.
module_begin module_name CPU_Usage module_type generic_data module_exec get_cpu_usage.pl module_precondition > 10 number_active_processes.sh module_precondition = 1 important_service_enabled.sh module_end
En el ejemplo, el módulo sólo se ejecutará si el script number_active_processes.sh
devuelve un valor mayor de 10
, al mismo tiempo que important_service_enabled.sh
devuelve un valor de 1
. En el momento en el que alguna de las dos condiciones no se cumpliera (por ejemplo si important_service_enabled.sh
devolviera un 0
), el módulo no se ejecutaría.