Monitorización condicional

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.

Was this article helpful?

Related Articles

Need Support?

Can't find the answer you're looking for?
Contact Support

Recent Discussions