Introduction

L'état de supervision d'un hôte ou d'un check est déterminé par 2 composants :

  • le statut de l'hôte ou du check ( OkAttention, Critique, ou Inconnu )
  • le type d'état dans lequel se trouve le l'hôte ou le check, aussi appelé la "Confirmation de Statut" dans l'UI de visualisation. Il y a 2 types d'états dans Shinken Enterprise : l'état SOFT et l'é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 ces états s'appliquent, ainsi que les actions qui en découlent.

Relance des vérifications d'hôtes et de checks

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 checks et des hôtes. Il est important de comprendre comment sont (re)vérifiés les hôtes et checks 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 check ou d'un hôte n'est pas OK, et que le check n'a pas encore été revérifié le nombre de fois défini dans le paramètre "max_check_attempts"  C'est ce qu'on appelle une erreur "SOFT", le statut n'est pas confirmé.
  • quand un check ou un hôte revient d'un état "erreur SOFT". C'est ce qu'on appelle une reprise "SOFT".

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 pro-activement un problème avant que l'état ne passe en "HARD". Les notations de 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.

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, et que le check a déjà été revérifié le nombre de fois défini dans le paramètre "max_check_attempts"  C'est ce qu'on appelle un erreur "HARD", le statut est alors confirmé.
  • quand un hôte ou check 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 check 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 check 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":

  • les contacts sont notifiés au sujet du problème ou de sa résolution.
  • Une vérification de l'état de son parent est alors forcée si ce dernier est en état non-OK et non-confirmé ( SOFT ) uniquement.

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.

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 ci dessous montre le résultat de vérifications consécutives sur un check, la valeur du paramètre max_check_attempts étant à 3.

TempsNombre de vérificationsType d'étatType d'étatChangementNotesLancement du gestionnaire d'événements
01OKHARDNonEtat Initial
11CRITICALSOFTOui

1ère détection d'un état non-OK. 

X
22WARNINGSOFTOui

Le check continue d'être en non-OK.

X
33CRITICALHARDOui

Le nombre maximum de check est atteint donc l'état passe à "HARD" .

  • envoi d'une notification sur un problème.
  • Une vérification de l'état de son parent (ici son hôte) est forcée, uniquement si ce dernier est en état non-OK et non-confirmé (SOFT).
  • Le nombre de vérification est remis à 1 aussitôt après.
X
41WARNINGHARDOui

Le check passe en état HARD WARNING.

  • envoi d'une notification sur un problème.
X
51WARNINGHARDNon

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.
--
61OKHARDOui

Le check repasse en état HARD .

  • envoi d'une notification de reprise
X
71OKHARDNon

Le check est toujours OK.

--
81UNKNOWNSOFTOui

Le check est détecté comme passant de l'état "SOFT" à "non-OK".

X
92OKHARDOui

Le check revient à un état SOFT .

  • pas d'envoi de notifications car il ne s'agissait pas vraiment d'un problème.
  • L'état est passé à "HARD"
  • le nombre de vérification repasse à 1 aussitôt après.
X
101OKHARDNon

Le check se stabilise en état OK .