Qu'est ce que les dépendances réseau ? 

Les dépendances réseaux sont très pratiques pour gérer la résolution de panne à grande échelle. Imaginons que ce soit un problème technique, on va chercher alors le problème source.

Peut-être que le PC est juste éteint, le câble réseau simplement débranché, ou le routeur est tombé.

Quelque soit le problème, une chose est sûre : l'internet fonctionne, il est juste impossible de joindre ce PC.

Shinken Enterprise est capable de faire la différence entre un élément en état DOWN et un état UNREACHABLE .

Ces états sont très différents (même s'ils sont liés) et peuvent vous aider à déterminer rapidement la cause source de vos problèmes réseaux.

De telles dépendances sont également possibles pour des problèmes applicatifs, tel que l'appli web qui ne fonctionne pas parce que la base de données est tombée.

Ces cas sont gérés par la notion de cluster.

Exemple réseau

Regardons le diagramme réseau ci-joint et imaginons qu'on supervise tous les hôtes

(serveurs, routeurs, switches, etc)

Définir les relations parents/enfants


Les dépendances réseaux sont nommées relations "parents/enfants". Par exemple, le parent est le switch et l'enfant est le serveur.

Pour permettre à Shinken Enterprise de faire la différence entre les états DOWN et UNREACHABLE pour les éléments supervisés, vous devez d'abord décrire dans Shinken Enterprise comment ces éléments sont connectés entre eux (d'un point de vue du démon Shinken Enterprise).

Pour le faire, tracer le chemin que prendrait un paquet depuis le démon Shinken Enterprise vers chaque hôte. Chaque switch, routeur, et serveur qui croise le paquet est considéré comme une "étape" et nécessitera qu'on définisse ses liens parent/enfant dans la configuration de Shinken Enterprise. Voici à quoi peuvent ressembler les relations parent/enfant d'un hôte du point de vue Shinken Enterprise:

Maintenant que vous savez à quoi ressemblent les relations parents/enfants, voyons comment les configurer dans Shinken Enterprise : les paramètres :ref:`host definitions <configobjects/host>` vous le permettent. Voilà à quoi ressemble les définitions d'hôte avec les relations paramétrées:


Pour l'hôte Web :

Pour l'hôte FTP :

Pour l'hôte Router 1 :

Et pour l'hôte Switch 2 :

Logique d'accessibilité


Maintenant que vos avez bien défini les relations parents/enfants dans Shinken Enterprise pour vos hôtes, voyons ce qui se passe lorsqu'un problème apparaît. Imaginons que 2 hôtes -le Web et le routeur 1 - tombent :

Quand un hôte change d'état (i.e. de UP à DOWN), la logique d'accessibilité entre en compte : elle va lancer en parallèle des checks sur les parents et les enfants de n'importe quel élément qui change d'état. Cela permet à Shinken Enterprise de tout de suite déterminer le statut actuel de l'infrastructure réseau quand un changement arrive. Pendant cette période de checks additionnels, les notifications sur les 2 hôtes concernés sont bloquées car on ne connaît pas encore le problème cause.

Dans cet exemple, Shinken Enterprise va déterminer que le Web et le Routeur1 sont tous les deux DOWN car le chemin vers ces 2 éléments n'est pas bloqué donc les notifications sur ces 2 éléments seront envoyées.

Shinken Enterprise va ensuite déterminer que tous les hôtes au dessus de Routeur1 sont dans l'état UNREACHABLE . Routeur1 est DOWN et bloque le chemin vers tous les autres hôtes au dessus. Ils peuvent fonctionner, ou pas, mais Shinken Enterprise ne peut pas le savoir. Ils ne sont donc pas en DOWN et aucune notification ne sera envoyée sur ces éléments. Tous ces éléments au dessus de Routeur1 sont considérés comme un impact de la cause source  "router1"


Et si il y a plus d'un parent pour un hôte ?


Vous pouvez définir plusieurs parents pour un même hôte. Celui-ci sera considéré comme UNREACHABLE si et seulement si tous ses parents sont down ou unreachable**. Si l'un d'eux est vivant, ils seront en état down.


Etat UNREACHABLE et notifications


Chose importante à noter : Shinken Enterprise ne notifie que sur les problèmes sources . Sans cela, il y aurait beaucoup trop de notifications envoyées. Les éléments en état UNREACHABLE ne sont donc pas notifiés. Les éléments en impact ne seront également pas notifiés.