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 The status of the check or host (i.e. OK, WARNING, UP, DOWN, etc.)
- The type of state the check or host is in.
- le type d'état dans lequel est le check ou l'hôte
Il y a 2 types d'état dans There are two state types in Shinken Enterprise - état SOFT states and et état HARD states. These state types are a crucial part of the monitoring logic, as they are used to determine when event handlers are executed and when notifications are initially sent out.
This document describes the difference between SOFT and HARD states, how they occur, and what happens when they occur.
Service and Host Check Retries
...
.Ces états sont primordiaux dans car ils sont utilisés pour déterminer quand les vévénemenst sont exécutés et quand les notificatiosn 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ésulta de checks consécutifs, la valeur de du paramètre max_check_attempts étant à 3.
| Temps | Nombre de Check | Type d'état | Type d'état | Changement |
|---|
Soft States
...
- When a service or host check results in a non-OK or non-UP state and the service check has not yet been (re)checked the number of times specified by the max_check_attempts directive in the service or host definition. This is called a soft error.
- When a service or host recovers from a soft error. This is considered as a soft recovery.
The following things occur when hosts or services experience SOFT state changes:
- The SOFT state is logged.
- Event handlers are executed to handle the SOFT state.
SOFT states are only logged if you enabled the log_service_retries or log_host_retries options in your main configuration file.
The only important thing that really happens during a soft state is the execution of event handlers. Using event handlers can be particularly useful if you want to try and proactively fix a problem before it turns into a HARD state. The $HOSTSTATETYPE$ or $SERVICESTATETYPE$ macros will have a value of "SOFT" when event handlers are executed, which allows your event handler scripts to know when they should take corrective action. More information on event handlers can be found :ref:`here <advanced/eventhandlers>`.
Hard States
...
- When a host or service check results in a non-UP or non-OK state and it has been (re)checked the number of times specified by the max_check_attempts option in the host or service definition. This is a hard error state.
- When a host or service transitions from one hard error state to another error state (e.g. WARNING to CRITICAL).
- When a service check results in a non-OK state and its corresponding host is either DOWN or UNREACHABLE.
- When a host or service recovers from a hard error state. This is considered to be a hard recovery.
- When a passive host check is received. Passive host checks are treated as HARD.
The following things occurs when hosts or services experience HARD state changes:
- The HARD state is logged.
- Event handlers are executed to handle the HARD state.
- Contacts are notified about the host or check problem or recovery.
The $HOSTSTATETYPE$ or$SERVICESTATETYPE$ data will have a value of "HARD" when event handlers are executed, which allows your event handler scripts to know when they should take corrective action.
Example
...
| Time | Check Number | State Type | Type State | Changes | Notes | |
|---|---|---|---|---|---|---|
| 0 | 1 | OK | HARD | NoNon | Etat Initial state | |
| 1 | 1 | CRITICAL | SOFT | Yes | Oui | 1ère détection d'un état non-OK Lancement d'événements First detection of a non-OK state. Event handlers execute. |
| 2 | 2 | WARNING | SOFT | Yes | Oui | Le check continue d'être en Check continues to be in a non-OK state. Event handlers execute. Exécution des événements. |
| 3 | 3 | CRITICAL | HARD | Yes | 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èsMax check attempts has been reached, so check goes into a HARD state. Event handlers execute and a problem notification is sent out. Check number is reset to 1 immediately after this happens. |
| 4 | 1 | WARNING | HARD | Yes | Oui | Le check passe en état Check changes to a HARD WARNING state. Event handlers execute and a problem notification is sent out.. Exécution des événements et envoi d'une notification sur un problème |
| 5 | 1 | WARNING | HARD | No | 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éeCheck stabilizes in a HARD problem state. Depending on what the notification interval for the service is, another notification might be sent out. |
| 6 | 1 | OK | HARD | Yes | Oui | Le check repasse en état HARD . Exécution des événements et envoi d'une notification de repriseCheck experiences a HARD recovery. Event handlers execute and a recovery notification is sent out. |
| 7 | 1 | OK | HARD | No | Non | Le check est toujours Check is still OK. |
| 8 | 1 | UNKNOWN | SOFT | Yes | Oui | Le check est détecté comme passant de l'état "SOFT" à "Check is detected as changing to a SOFT non-OK state. Event handlers execute" . Exécution des événements |
| 9 | 2 | OK | SOFT | Yes | Oui | Le check revient à un état SOFT . Exécution des événements, mais pas d'envoi de notification car il ne s'agissait pas vraiment d'un problème. L'état est passé à "HARD" et le nomre de check repasse à 1 aussitôt aprèsCheck experiences a SOFT recovery. Event handlers execute, but notification are not sent, as this wasn't a "real" problem. State type is set HARD and check number is reset to 1 immediately after this happens. |
| 10 | 1 | OK | HARD | No | Non | Le check se stabilise en état OK Check stabilizes in an OK state . |