Nagios comprueba la frecuencia del servicio en función del estado del servicio


9

Estoy tratando de detectar la agitación del disco mediante la supervisión de si, así que desde el comando vmstat. Estoy monitoreando otros servicios usando nagios y la verificación del servicio ocurre cada 5 minutos. Para este servicio de control, quiero que Nagios lo verifique cada 20 minutos y si el estado devuelto no es correcto (es decir, de advertencia o crítico), el servicio de control se debe verificar cada 3 minutos hasta que el estado devuelto sea correcto. El tiempo de verificación del servicio para todos los demás servicios permanece sin cambios.

Soy nuevo en Nagios y cualquier ayuda sobre esto sería muy apreciada.

Respuestas:


14

Suponiendo que la interval_lengthdirectiva se establece en 60 por defecto:

$ grep interval_length /usr/local/nagios/etc/nagios.cfg 
# This value works of the interval_length you specify later.  If you leave
# actual seconds rather than a multiple of the interval_length variable.
interval_length=60

Para los servicios especiales, debe definir una plantilla diferente para ello en /usr/local/nagios/etc/objects/templates.cfg:

define service{
        name                            special-service    
        ...
        max_check_attempts              3           
        normal_check_interval           20         
        retry_check_interval            3           
        notification_interval           60   
        ...   
        }

Presta atención a:

  • normal_check_interval: este servicio se verifica cada 20 minutos en condiciones normales
  • retry_check_interval: el número de minutos a esperar antes de programar una nueva verificación cuando el servicio ha cambiado a un estado no correcto. Tenga en cuenta que si el servicio ha sido reintentado max_attemptssin un cambio en su estado, volverá a programarse según la check_intervaltarifa.

y use esta plantilla para su servicio:

define service{
    use                     special-service
    host_name               xx
    service_description     yy
    check_command           zz
    contact_groups          admins
    }

También es posible que deba definir una escalación de servicio para cambiar la notification_intervalfunción según el estado del servicio, algo como esto:

define serviceescalation{
    host_name               xx
    service_description     yy
    last_notification       0
    notification_interval   10
    escalation_options      [w,u,c]
    contact_groups          admins
    }

Significa que esta escalada de servicio se usa cuando el servicio está en estado ADVERTENCIA, DESCONOCIDO o CRÍTICO. Y ahora tiene nuevos intervalos de notificación: 10 minutos.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.