Introduction
L'état de supervision d'un service ou d'un hôte est déterminé par 2 composants :
- le statut du check ou de l'hôte (i.e. OK, WARNING, UP, DOWN, etc.)
- le type d'état dans lequel est le check ou l'hôte
Il y a 2 types d'états dans Shinken Enterprise - état SOFT et état HARD. Ces états sont primordiaux car ils sont utilisés pour déterminer quand les événements sont exécutés et quand les notifications sont envoyées.
Ce paragraphe décrit les différences entre état SOFT et état HARD, quand ils s'appliquent et ce qui se passe quand ils s'appliquent.
Relance des vérifications de service et d'hôte
Afin d'éviter les fausses alarmes liées aux états transitoires, Shinken Enterprise permet de définir combien de fois un service ou un hôte doit être (re)vérifié avant d'être considéré comme ayant un réel problème. Ceci est contrôlé par le paramètre "max_check_attempts" dans la définition des services et des hôtes. Il est important de comprendre comment sont (re)vérifiés les hôtes et services afin de comprendre les différents types d'état.
Etat "Soft"
L'état "Soft" apparaît dans les conditions suivantes :
- quand le résultat de la vérification d'un service ou d'un hôte n'est pas OK ou UP, et que le service n'a pas encore été rechecké le nombre de fois défini dans le paramètre "max_check_attempts" C'est ce qu'on appelle un erreur "soft" .
- quand un service ou un hôte revient d'un état "erreur soft". C'est ce qu'on appelle une reprise "soft".
Les points suivants apparaissent lorsqu'un service ou un hôte subissent un changement d'état "SOFT" :
- L'état "SOFT" est tracé.
- le traitement d'événements est lancé pour gérer l'état "SOFT" .
L'état "SOFT" est tracé uniquement si vous avez activé les paramètres "log_service_retries" ou "log_host_retries" dans le fichier principal de configuration.
Le plus important lors d'un état "SOFT" est le lancement du traitement d'événements. Utiliser le traitement d'événements peut être très pratique si vous essayez de régler pro-activement un problème avant que l'état ne passe en "HARD". Les macros $HOSTSTATETYPE$ ou $SERVICESTATETYPE$ auront la valeur "SOFT" lorsque les événements sont exécutés, ce qui permet au script de savoir quand il est nécessaire de réaliser des actions correctrices. Plus d'informations disponibles dans le paragraphe <advanced/eventhandlers>`.
Etat "Hard"
L'état "Hard" apparaît dans les conditions suivantes :
- quand le résultat de la vérification d'un service ou d'un hôte n'est pas OK ou UP, et que le service a déjà été rechecké le nombre de fois défini dans le paramètre "max_check_attempts" C'est ce qu'on appelle un erreur "Hard" .
- quand un hôte ou service passe d'un état d'erreur à un autre état d'erreur (e.g. WARNING à CRITICAL).
- quand le résultat de la vérification d'un service ou d'un hôte n'est pas OK et que l'hôte associé est dans un état DOWN ou UNREACHABLE.
- quand un hôte ou un service revient d'un état d'erreur "Hard". C'est ce qu'on appelle une reprise "hard".
- quand on reçoit un check passif. Les checks passifs sont traités en état "hard" .
Les points suivants apparaissent lorsqu'un service ou un hôte subissent un changement d'état "HARD":
- l'état HARD est tracé.
- le traitement d'événements est lancé pour gérer l'état "HARD"
- les contacts sont notifiés au sujet du problème ou de sa résolution.
Les valeurs $HOSTSTATETYPE$ ou $SERVICESTATETYPE$ sont à "HARD" lorsque les événements sont exécutés ce qui permet au script de savoir quand il est nécessaire de réaliser des actions correctrices
Exemple
Voici un exemple de comment sont déterminés les types d'état quand un changement apparaît, et quand les événements et les notifications sont lancés. L'exemple ici montre le résultat de checks consécutifs, la valeur du paramètre max_check_attempts étant à 3.
| Temps | Nombre de Check | Type d'état | Type d'état | Changement | Notes |
|---|---|---|---|---|---|
| 0 | 1 | OK | HARD | Non | Etat Initial |
| 1 | 1 | CRITICAL | SOFT | Oui | 1ère détection d'un état non-OK Lancement d'événements |
| 2 | 2 | WARNING | SOFT | Oui | Le check continue d'être en non-OK . Exécution des événements. |
| 3 | 3 | CRITICAL | HARD | Oui | Le nombre maximum de check est atteint donc l'état passe à "HARD" . Exécution des événements et envoi d'une notification sur un problème. Le nombre de check est remis à 1 aussitôt après. |
| 4 | 1 | WARNING | HARD | Oui | Le check passe en état HARD WARNING . Exécution des événements et envoi d'une notification sur un problème |
| 5 | 1 | WARNING | HARD | Non | Le check se stabilise en état "problème HARD" . En fonction de la définition de l'intervalle défini pour un service, une autre notification peut être envoyée. |
| 6 | 1 | OK | HARD | Oui | Le check repasse en état HARD . Exécution des événements et envoi d'une notification de reprise. |
| 7 | 1 | OK | HARD | Non | Le check est toujours OK. |
| 8 | 1 | UNKNOWN | SOFT | Oui | Le check est détecté comme passant de l'état "SOFT" à "non-OK" . Exécution des événements |
| 9 | 2 | OK | SOFT | Oui | Le check revient à un état SOFT . Exécution des événements, mais pas d'envoi de notifications car il ne s'agissait pas vraiment d'un problème. L'état est passé à "HARD" et le nombre de checks repasse à 1 aussitôt après. |
| 10 | 1 | OK | HARD | Non | Le check se stabilise en état OK . |
Add Comment