L'objectif de la corrélation est de proposer des aides à l'utilisateur afin qu'il arrive facilement à faire la distinction entre:
Le principe est que pour revenir à une situation saine, il faut régler les problèmes sources, car redémarrer les impacts n'aura aucun effet tant que l'on n'aura pas réglé son/ses problème(s) sources.
Les notifications appliquent ce principe, et n'envoient une notification que dans le cas d'un problème source: si par exemple un service web n'est plus disponible, car son serveur ne réponds plus, car ce dernier était sur un switch qui est tombé, alors seule la notification du switch sera générée, ni celle de l'hôte, ni celle du service http.
Les vérifications des checks et des hôtes n'étant pas fait en même temps afin de ne pas surcharger l'hôte, on peux avoir le cas où
Pour corriger cette incohérence qui va durer jusqu'à la prochaine vérification du check, le démon Scheduler est capable de changer temporairement l'état des checks de l'hôte:
Visuellement, le check apparaitra de la manière suivante, indiquant que son état a été modifié par Shinken:
|
Dès la prochaine vérification du check, ce dernier prendra son état et résultat définitif (qui peux être en erreur ou pas)
Il est important de savoir que cette approche ne remet pas en cause la logique de gestion HARD/SOFT : il n'est pas pris en compte dans la gestion des tentatives de checks . Par contre dans un souci de cohérence, cette état/résultat sera également disponible dans les autres modules, genre SLA ou les events.
Par défaut ce mécanisme est activé. On peux le désactiver dans le fichier /etc/shinken-user/configuration/daemons/arbiters/arbiter_cfg_overload.cfg (qui surcharge le fichier /etc/shinken.shinken.cfg) en mettant le paramètre:
enable_problem_impacts_states_change=0 |
Dans le cas où on a des dépendances réseaux (entres les hôtes donc), la règle d'assignation des problèmes sources/impacts est la suivante:
Dans le premier cas, on aura l'affichage suivant dans la liste complète, l'hôte myself ayant pour parents papa1 et papa2:
|
Si on passe par la liste qui préfiltre les problèmes sources, on aura alors que les deux hôtes qui sont les problèmes sources:
|
Cette vue peux donc être très pratique quand les relations de dépendances sont configurées.
L'un des bons côtés de ne pas identifier le niveau de priorité d'un parent, c'est que le problème va automatiquement hériter du niveau maximum de priorité de l'enfant qui est tombé.
Prenons un exemple: vous avez un switch avec différents enfants, l'un est un environnement de développement avec une faible priorité (0 ou 1) et un de production avec une priorité élevée (4 or 5). L'administrateur d'astreinte a paramétré un SMS de nuit mais seulement pour les priorités de niveau très élevé (Niveau 4 minimum dans la définition du contact par exemple).
Il est important de préciser que le switch en lui-même n'a pas son propre niveau de priorité défini ! Le switch est juste lié aux serveurs d'applications, la seule priorité qu'il récupère est celle des hôtes et checks qui lui sont connectés.
Il y a 2 scenario pour 2 nuits différentes :