Introduction au Flapping

Shinken Enterprise permet de détecter en option les hôtes et services en état flapping. Celui-ci arrive quand l'état de l'élément change trop souvent, envoyant beaucoup trop de notifications de d'alertes/reprises successives. Le flapping peut être caractéristique de problèmes de configuration (i.e. seuils trop bas par exemple), ou de vrais problèmes de réseau.

 

Comment ça fonctionne

A chaque fois que Shinken Enterprise vérifie le statut d'un hôte ou d'un service, il commence par vérifier si l'élément a commencé ou vient d'arrêter d'être en Flapping. Il le fait de la façon suivante :.

 

Exemple


Voyons la mécanique plus en détail avec un check.

Cette image illustre l'historique de l'état d'un service sur les 21 derniers checks. Les états OK sont en vert, WARNING en jaune, CRITICAL en rouge, et UNKNOWN en orange.

 

 

Les résultats de la vérification de l'historique sont examinées afin de déterminer où les changements d'état / transitions se produisent . Les changements d'état se produisent quand un état archivé est différent de l'état archivé qui le précède immédiatement chronologiquement . Comme nous conservons les résultats des 21 derniers contrôles de service dans le réseau , il ya une possibilité d'avoir au moins 20 changements d'état. La valeur 20 peut être modifiée dans le fichier de configuration principal . Dans cet exemple , il y a 7 changements d'état , indiqués par les flèches bleues dans l'image ci-dessus.

La logique de détection de Flapping utilise le changement d'état pour déterminer le pourcentage global du check. C'est une mesure de volatilité du service. Les services qui ne changent jamais d'état sont à 0%, alors que ceux qui changent à chaque check seront à 100%. 

Dans l'algorithme de calcul, un poids plus important sera donné aux derniers résultats par rapport aux plus anciens. En règle générale, on fait en sorte que les derniers résultats pèsent pour 50% du total . S



En utilisant l'image ci-dessus, faisons un calcul de pourcentage. Dans cet exemple, il y a 7 changements d'état sur les 21 derniers checks. (à t3, t4, t5, t9, t12, t16, et t19). Sans pondération, le pourcentage moyen serait de 35%:

(7 changements observés/20 possibles ) * 100 = 35 %

Sachant que la logique de détection va donner une valeur plus élevée au dernier changement, le pourcentage retenu sera légèrement inférieur à 35% dans cet exemple, autour de 31% .

Le pourcentage calculé pour le service (31%) sera comparé aux seuils définis :

 

Détection de flapping pour les checks

Shinken Enterprise vérifie si un service est en flapping à chaque vérification (que ce soit un check actif ou passif).

La logique de détection est la même que celle décrite ci-dessus .

 

Détection de flapping pour les hôtes

La détection de flapping des hôtes fonctionne de façon similaire à celle d'un service, à une différence importante près : Shinken Enterprise va tenter de détecter si un hôte est en flapping à chaque fois que : 

* l'hôte est vérifié (activement ou passivement )
* parfois quand le service qui est associé à cet hôte est vérifié, et que x temps est passé depuis la dernière détection de flapping  ou x est égal à l'intervalle moyen de vérification de tous les services. .

Seuils de détection du flapping 

Shinken Enterprise utilise plusieurs variables afin de déterminer le seuil de pourcentage définissant l'état de flapping. Ces seuils sont définis à la fois au niveau global et au niveau spécifique d'un hôte et d'un service.  Les seuils globaux sont utilisés si aucun seuil spécifique n'a été défini.



Etats utilisés pour la détection de flapping. 


Normalement, Shinken Enterprise va tracer les résultats des 21 derniers checks de l'hôte ou du service, quelque soit le résultat de ce check . 

Vous pouvez cependant exclure certains états de la logique de détection de flapping en utilisant le paramètre "flap_detection_options" dans la definition de l'hôte ou du service. Cela permet de définir quels états sont utilisés pour cette détection (i.e. "UP, "DOWN", "OK, "CRITICAL") Si cela n'est pas spécifié, tous les états seront utilisés.  

Traitement du flapping


Lorsqu'un service ou un hôte est détecté comme étant en flapping, Shinken Enterprise va:

Lorsqu'un service ou un hôte cesse d'être en flapping, Shinken Enterprise va:

Activer la détection de flapping


Afin de l'activer dans Shinken Enterprise , vous devrez:

Si vous souhaitez désactiver la détection à un niveau global, mettant le paramètre "enable_flap_detection" à 0. Idem si vous souhaitez le faire à un b=niveau spécifique sur un hôte ou un service.