Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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'états 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 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.

TempsNombre de CheckType d'étatType d'étatChangement

 

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

...

TimeCheck NumberState TypeType StateChanges
Notes
01OKHARD
No
NonEtat Initial
state
11CRITICALSOFT
YesFirst detection of a non-OK state. Event handlers execute. 
Oui1ère détection d'un état non-OK Lancement d'événements 
22WARNINGSOFT
YesCheck continues
OuiLe check continue d'être en
to be in a
non-OK
state. Event handlers execute
. Exécution des événements
33CRITICALHARD
YesMax 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
OuiLe 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.
41WARNINGHARD
Yes
OuiLe 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
51WARNINGHARD
NoCheck stabilizes in a HARD problem state. Depending on what the notification interval for the service is, another notification might be sent out
NonLe 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.
61OKHARD
YesCheck experiences a HARD recovery. Event handlers execute and a recovery notification is sent out
OuiLe check repasse en état HARD . Exécution des événements et envoi d'une notification de reprise
71OKHARD
NoCheck is still
NonLe check est toujours OK.
81UNKNOWNSOFT
YesCheck is detected as changing to a SOFT
OuiLe check est détecté comme passant de l'état "SOFT" à "non-OK
state. Event handlers execute
" . Exécution des événements
92OKSOFT
YesCheck 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
OuiLe 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.
101OKHARD
NoCheck stabilizes in an OK state
NonLe check se stabilise en état OK