Nagios vérifie la fréquence du service en fonction de l'état du service


9

J'essaie de détecter le débordement de disque en surveillant si, donc à partir de la commande vmstat. Je surveille d'autres services à l'aide de nagios et la vérification des services a lieu toutes les 5 minutes. Pour ce service de raclage, je veux que les nagios le vérifient toutes les 20 minutes et si le statut renvoyé n'est pas correct (c.-à-d. Avertissement ou critique), le service de raclage doit être vérifié toutes les 3 minutes jusqu'à ce que le statut renvoyé par le service devienne OK. L'heure de vérification du service pour tous les autres services reste inchangée.

Je suis nouveau à Nagios et toute aide à ce sujet serait vraiment appréciée.

Réponses:


14

En supposant que la interval_lengthdirective est définie sur 60 par défaut:

$ 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

Pour les services spéciaux, vous devez définir un modèle différent pour celui-ci dans /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   
        ...   
        }

Faites attention au:

  • normal_check_interval: ce service est vérifié toutes les 20 minutes dans des conditions normales
  • retry_check_interval: le nombre de minutes à attendre avant de planifier une nouvelle vérification lorsque le service est passé à l'état non OK. Notez que si le service a été réessayé max_attemptssans modification de son statut, il redeviendra programmé au check_intervaltarif.

et utilisez ce modèle pour votre service:

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

Vous devrez peut-être également définir une escalade de service pour modifier l'état en notification_intervalfonction de l'état du service, quelque chose comme ceci:

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

Cela signifie que cette escalade de service est utilisée lorsque le service est dans un état AVERTISSEMENT, INCONNU ou CRITIQUE. Et vous avez maintenant un nouvel intervalle de notification: 10 minutes.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.