Esta es la segunda y última etapa en la configuración de MON.

Se muestran los valores por defecto para los servicios obligatorios . Vea el tema de ayuda correspondiente a continuación para más ayuda acerca de las Definiciones de Servicios.

Para "mail.alert", asegúrese de que el demonio "sendmail" está iniciado en la máquina.

### Definiciones de Servicios

service servicename
  Una definición de servicio comienza por la palabra clave service seguida de una palabra, que es la etiqueta de este servicio.

  Los componentes de un servicio son un intervalo, un monitor y una o más definiciones de periodos de tiempo, como se definen a continuación.

  Si se define un nombre de servicio "default" dentro de un grupo de coincidencia llamada "dafault" (ver arriba), entonces se usará la definición "por defecto/por defecto" para el manejo de eventos de MON desconocidos.

interval timeval
  La palabra clave interval seguida por un valor de tiempo especifica la frecuencia con que se activará un guión de monitorización. Los valores de tiempo se definen como "30s", "5m", "1h", o "1d", significando 30 segundos, 5 minutos, 1 hora, o 1 día. La parte numérica puede ser una fracción, como "1.5h" o una hora y media. Este formato para especificar tiempo lo conoceremos como timeval.

traptimeout timeval
  Esta palabra clave tiene como argumento la misma especificación de tiempo que interval, y hace que el servicio espere un evento desde una fuente externa al menos con esa frecuencia, de lo contrario se anotará un fallo. Esto se usa para un servicio tipo heartbit.

trapduration timeval
  Si se recibe un evento, habitualmente el estado del servicio al que se dirige dicho evento permanecerá constante. Si se especifica trapduration el servicio se mantendrá en estado fallido el tiempo indicado por timeval, para a continuación cambiar a "success".

randskew timeval
  Más que planificar la ejecución del guión de monitorización al inicio de cada intervalo, ajustar aleatoriamente el intervalo especificado por el parámetro interval hasta randskew unidades en cualquier sentido. El valor de la deriva se especific como el del parámetro interval: "30s", "5m", etc... Por ejemplo, si interval es 1m, y randskew es "5s", entonces mon planificará el guión de monitorización para ejecutarse con entre 55 y 65 segundos de intervalo. La intención es ayudar a distribuir la carga del servidor cuando se monitorizan muchos servicios con los mismos intervalos.

monitor nombre-monitor [arg...]
  La palabra clave monitor seguida de un nombre de guión y sus argumentos especifica el monitor que ejecutar cuando expire el temporizador. Se mantienen las convenciones del intérprete de comandos en cuanto al "quoting" de los argumentos que pasar al guión de monitorización. El guión se lanza desde el directorio indicado por el argumento -s, y las siguientes palabras proporcionadas son los argumentos del programa de monitorización, seguidos de la lista de máquinas en el grupo a que hace referencia el grupo de vigilancia actual. Si la línea de monitor acaba con un ";;" como palabra separada, no se añaden los grupos de máquinas a la lista de argumentos cuando se lanza el programa.

allow_empty_group
  La opción allow_empty_group permite lanzar un monitor incluso cuando el grupo de máquinas de esta vigilancia está vacío por estar desactivadas las máquinas. El comportamiento por defecto es no lanzar el monitor cuando todas las máquinas de un grupo están desactivadas.

description descriptiontext
  El texto a continuación de description lo consultan los programas cliente, y se le pasa a las alertas y monitores a través de una variable de entorno. Debería contener una breve descripción del servicio, adecuada para incluirla en un correo electrónico o en una página web.

exclude_hosts host [host...]
  Cualquier máquina listada a continuación de exclude_hosts se excluirá de la comprobación del servicio.

exclude_period periodspec
  No ejecutar un monitor planificado durante el periodo de tiempo identificado por periodspec.

depend dependexpression
  La palabra clave depend se usa para especificar una expresión de dependencia, que evalúa a verdadero o falso, en sentido booleano. Las dependencias son verdaderas expresiones de PERL, y como tales deben cumplir todas sus reglas sintácticas. Las expresiones se evalúan en su propio espacio de paquete para que no tengan efectos laterales indeseados. Si se encuentra un error de sintaxis durante la evaluación de la expresión, se registra tal hecho mediante syslog.

  Antes de evaluar la expresión se llevan a cabo las siguientes sustituciones en la expresión: las frases que parecen "grupo:servicio" se sustituyen por el valor del estado operacional actual del servicio especificado. Estos estados operacionales se calculan de manera recursiva, de manera que si el servicio A depende del servicio B, y el servicio B depende del C, entonces el servicio A depende del C. Los estados operacionales exitosos (que evalúan a "1") son "STAT_OK", "STAT_COLDSTART", "STAT_WARMSTART", y "STAT_UNKNOWN". Se puede usar la palabra "SELF" (todo en mayúsculas) en el grupo ("SELF:service"), y es una abreviatura del grupo de vigilancia actual.

  Puede usar esta característica para controlar las alertas de los servicios que dependen de otros, por ejemplo, una prueba de SMTP que depende de que la máquina sea alcanzable mediante ping.

dep_behavior {a|m}
  La evaluación de los grafos de dependencias pueden controlar la eliminación de alertas o invocaciones de monitores.

  Eliminación de alertas. Cuando esta opción vale "a" la expresión de dependencias se evaluará después de que el monitor del servicio termine o se reciba un evento. Sólo se enviará una alerta si la evaluación tiene éxito, significando que ninguno de los nodos en el grafo de dependencias informó de fallo.

  Eliminación de monitores. Cuando esta opción vale "m", la expresión de dependencias se evalúa antes de que se ejecute el monitor del servicio. Si la evaluación tiene éxito se ejecutará el monitor. En cualquier otro caso, el monitor no se ejecutará y el estado del servicio permanecerá sin cambios.

### Definiciones de Periodo

Se usan los periodos para definir las condiciones que deberían permitir el reparto de las alertas.

period [label:] periodspec
  Un periodo agrupa una o más alarmas y variables que controlan cuán a menudo sucede una alerta cuando sucede un fallo. La palabra clave period tiene dos formas. La primera toma como argumento una especificación de periodo del módulo de PERL 5 de Patrick Ryan Time::Period. Consulte "perldoc Time::Period" para más información.

  La segunda forma necesita una etiqueta seguida de una especificación de periodo, definida arriba. La etiqueta consiste de caracteres alfabéticos o carácter de subrayado seguido de cero o más caracteres alfanuméricos o de subrayado, terminados por un carácter de dos puntos. Esta forma permite múltiples periodos con la misma definición de periodo. Uno de los usos es disponer de una definición de periodo que no tenga parámetros alertafter o alertevery para un determinado periodo de tiempo, y otra para el mismo periodo de tiempo con un conjunto diferente de alertas que no contengan esos parámetros.

alertevery timeval
  La palabra clave alertevery (en el interior de una definición de period) toma el mismo tipo de argumento que la variable interval y limita el número de veces que se envía una alerta cuando el servicio permanece indisponible. Por ejemplo, si el intervalo es "1h", entonces las alertas en ese periodo sólo se dispararán una vez a la hora. Si se omite la palabra clave alertevery en una entrada de periodo, se enviará una alerta cada vez que se detecte un fallo. Por defecto, si la salida de dos fallos consecutivos cambia, entonces se ignorará el intervalo alertevery. Si la palabra "summary" es el último argumento, sólo se considerarán las líneas de salida del resumen cuando se compare la salida de fallos consecutivos.

alertafter num

alertafter num timeval
  La palabra clave alertafter (en el interior de una sección period) tiene dos formas: sólo con el argumento "num", o con los argumentos "num timeval". En la primera forma sólo se invocará una alerta tras "num" fallos consecutivos.

  En la segunda forma, los argumentos son un entero positivo seguido de un intervalo, como se describión antes en la variable interval. Si se especifican estos parámetros las alertas de ese periodo sólo se llamarán después de que sucedan tantos fallos durante ese intervalo. Por ejemplo, si se indica alertafter con los argumentos "3 30m", entonces la alerta se llamará si suceden 3 fallos en 30 minutos.

numalerts num

  Esta variable le dice al servidor que no llame más de num alertas durante un fallo. El contador de alertas es propio de cada periodo, y se pone a cero tras cada éxito.

comp_alerts

  Si se especifica esta opción, entonces las "upalerts" sólo se llamarán si la alerta "down" correspondiente ya ha sido llamada.

alert alert [arg...]
  Un periodo puede contener múltiples alertas, que se disparan cuando sucede un fallo en el servicio. Una alerta se especifica con la palabra clave alert, seguida de un parámetro exit opcional, y argumentos que se interpretan de igual manera que en la definición de monitor, pero sin la excepción del ";;". El parámetro exit toma la forma de exit=x o exit=x-y y tiene el efecto de que sólo se llame a la alerta si el estado de salida del guión de monitorización cae dentro del rango del parámetro exit. Si, por ejemplo, la línea de la alerta es alert exit=10-20 mail.alert mis, entonces mail-alert sólo se invocará (con mis como argumentos) cuando el valor de salida del programa sea entre 10 y 20. Esta característica permite disparar diferentes alertas ante diferentes niveles de severidad (como cuando el espacio libre en disco cae del 8% al 3%).

  Vea la sección PROGRAMAS DE ALERTA anterior para una lista de los parámetros que MON pasará automáticamente para alertar a los programas.

upalert alert [arg...]
  Una upalert es lo contrario de una alert. Se llama a una "upalert" cuando un servicio hace la transición desde un estado de fallo a uno de funcionamiento. El guión upalert se llama proporcionando los mismos parámetros que al guión alert, con el añadido del parámetro -u, que permite indicar al guión de alerta que se le está llamando como un "upalert" Se pueden especificar múltiples "upalerts" en una especificación determinada de periodo. Dese cuenta de que el comportamiento por defecto es que se enviará un "upalert" sin importar si se enviaron previamente alertas "down", puesto que las "upalerts" se disparan en una transición de estados. Configure la opción por periodo comp_alerts para aparejar las "upalerts" con las alertas "down".

startupalert alert [arg...]
  Una startupalert sólo se llama cuando el servidor mon inicia su ejecución.

upalertafter timeval
  El parámetro upalertafter se especifica como una cadena de texto que sigue la sintaxis del parámetro interval ("30s", "1m", etc.), y controla la activación de una upalert. Si un servicio se recupera tras haber estado caído un tiempo igual o superior al valor de esta opción se llamará una upalert. Use esta opción para evitar la llamada a los "upalerts" debidas a "blips" (breves indisponibilidades del servicio).