L'état de supervision d'un hôte ou d'un check est déterminé par 2 composants :
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 ces états s'appliquent, ainsi que les actions qui en découlent.
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 la propriété "Nb maximum de tentatives de confirmation du statut de l'hôte" (dans l'interface Configuration) ou "max_check_attempts" (dans la définition .cfg des checks et des hôtes).
L'état "SOFT" apparaît dans les conditions suivantes :
Le point suivant apparaît lorsqu'un check ou un hôte subit un changement d'état "SOFT" :
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 proactivement un problème avant que l'état ne passe en "HARD". Les notations dde remplacement de contenu $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 la page des Gestionnaire d'événements.
L'état "HARD" apparaît dans les conditions suivantes :
Les points suivants apparaissent lorsqu'un service ou un hôte subissent un changement d'état "HARD":
Les notations de remplacement de contenu $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. Plus d'informations disponibles dans la page des Gestionnaire d'événements.
Voici un exemple sur la détermination du types d'état (soft ou hard) quand un changement apparaît, et quand les événements et les notifications sont lancés.
L'exemple ci dessous montre le résultat de vérifications consécutives sur un check, la valeur du paramètre max_check_attempts étant à 3.
| Temps | Nombre de vérifications | Type d'état | Type d'état | Changement | Notes |
|---|---|---|---|---|---|
| 0 | 1 | OK | HARD | Non | Etat Initial |
| 1 | 1 | CRITIQUE | SOFT | Oui | 1ère détection d'un état non OK. Exécution d'événements (si paramétrés). |
| 2 | 2 | AVERTISSEMENT | SOFT | Oui | Le check continue d'être en non OK . Exécution des événements (si paramétrés). |
| 3 | 3 | CRITIQUE | HARD | Oui | Le nombre maximum d'essais est atteint donc l'état passe à "HARD". |
| 4 | 1 | AVERTISSEMENT | HARD | Oui | Le check passe en état HARD AVERTISSEMENT. Exécution des événements (si paramétrés) et envoi d'une notification sur un problème. |
| 5 | 1 | AVERTISSEMENT | HARD | Non | Le check se stabilise en état "problème HARD" . En fonction de la définition de l'intervalle de temps entre les notifications défini pour le check, une autre notification peut être envoyée. |
| 6 | 1 | OK | HARD | Oui | Le check repasse en état HARD . Exécution des événements (si paramétrés) et envoi d'une notification de reprise. |
| 7 | 1 | OK | HARD | Non | Le check est toujours OK. |
| 8 | 1 | INCONNU | SOFT | Oui | Le check est détecté comme passant de l'état "SOFT" à "non OK" . Exécution des événements (si paramétrés). |
| 9 | 2 | OK | HARD | Oui | Le check revient à un état SOFT . Exécution des événements (si paramétrés), 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 vérifications repasse à 1 aussitôt après. |
| 10 | 1 | OK | HARD | Non | Le check se stabilise en état OK . |