Le but principal de Nagios® est de superviser des services qui tournent sur ou sont proposés par des hôtes physiques ou des équipements de votre réseau. Il est évident que si un hôte ou un équipement du réseau s'arrête, tous les services qu'il offre s'arrêtent avec lui. De la même manière, si un hôte devient inaccessible, Nagios® ne pourra pas superviser les services associés à cet hôte.
Nagios® reconnaît cette situation et tente de vérifier ce genre de scénario quand un problème survient sur un service. Chaque fois qu'un contrôle de service retourne un niveau d'état non-OK, Nagios® essaiera de contrôler si l'hôte supportant ce service est "vivant". Pratiquement, ceci consiste à envoyer un ping à l'hôte et à vérifier si une réponse est retournée. Si la commande de contrôle de l'hôte retourne un état non-OK, Nagios® suppose qu'il y a un problème lié à l'hôte. Dans ce cas, Nagios® "taira" toutes les alarmes potentielles pour les services qui tournent sur cet hôte et se contentera de notifier les contacts appropriés que l'hôte est hors fonction ou inaccessible. Si la commande de contrôle de l'hôte retourne l'état OK, Nagios® verra que l'hôte est en fonction et enverra une alerte pour le service qui présente un problème.
Les hôtes "locaux" sont ceux qui se trouvent sur le même segment de réseau que l'hôte qui héberge Nagios® - aucun routeur ou firewall ne se trouve entre eux. La figure 1 représente un exemple de topologie de réseau. L'hôte A fait tourner Nagios® et supervise tous les autres hôtes ou routeurs représentés sur le schéma. Les hôtes B, C, D, E et F sont tous considérés comme "locaux" par rapport à l'hôte A.
L'option <parents> de la définition d'hôte pour un hôte "local" doit être laissée vide, car les hôtes locaux n'ont pas de dépendances ou de "parents" - c'est ce qui les rend locaux.
Contrôler des hôtes qui sont sur votre réseau local est assez simple. Sorti de quelqu'un qui débranche accidentellement (ou intentionnellement) le câble réseau d'un de vos hôtes, peu de choses peuvent causer un problème lors du contrôle de la connexion au réseau. Il n'y a pas de routeurs ou de réseaux externes entre l'hôte chargé de la supervision et les autres hôtes du réseau local.
Si Nagios® a besoin de contrôler qu'un hôte est "vivant", il lancera simplement la commande de contrôle de cet hôte. Si la commande retourne un état OK, Nagios® suppose que l'hôte est en fonction. Si la commande retourne n'importe quel autre état, Nagios® suppose que l'hôte est hors fonction.
Les hôtes "distants" sont ceux qui se trouvent sur un segment de réseau différent de celui de l'hôte qui héberge Nagios®. Dans le schéma ci-dessus, les hôtes G, H, I, J, K, L et M sont tous considérés comme "distants" par rapport à l'hôte A.
Notez que certains hôtes sont "plus loin" que d'autres. Les hôtes H, I et J se trouvent un saut [NdT : hop] plus loin de l'hôte A que l'hôte G (le routeur). De cette constatation, nous pouvons déduire un arbre de dépendance des hôtes comme indiqué figure 2. Cette arbre va nous aider à configurer chaque hôte dans Nagios®.
L'option <parents> de la définition d'hôte d'un hôte "distant" doit être le nom court de l'hôte directement au-dessus dans l'arbre de dépendance (comme indiqué ci-dessous). Par exemple, l'hôte parent de l'hôte H est l'hôte G. Celui de l'hôte G est F. F n'a pas d'hôte parent, car il est sur le même segment de réseau que l'hôte A - c'est un hôte "local".
Contrôler l'état d'hôtes distants est légèrement plus complexe que pour des hôtes locaux. Si Nagios® ne peut pas superviser des services distants, il doit déterminer si l'hôte distant est hors fonction ou s'il est inaccessible. Heureusement, l'option <parents> permet à Nagios® de le faire.
Si la commande de contrôle d'un hôte distant retourne un état non-OK, Nagios® va parcourir l'arbre de dépendance (comme indiqué dans le schéma ci-dessus) jusqu'au sommet (ou jusqu'à ce que le contrôle d'un hôte parent retourne l'état OK). Ce faisant, Nagios® peut déterminer si un problème sur un service résulte de l'arrêt d'un hôte, de la rupture d'un lien réseau, ou est simplement une erreur du service.
Je reçois de nombreux courriels de personnes demandant pourquoi Nagios® envoie des notifications au sujet d'hôtes inaccessibles. La réponse est que vous l'avez configuré pour qu'il le fasse. Si vous voulez désactiver les notifications UNREACHABLE pour les hôtes, modifiez le paramètre notify_options de chaque définition d'hôte en supprimant le paramètre u ("unreachable"). Vous trouverez plus d'information dans cette FAQ [NdT : la FAQ n'existe plus dans cette version de la documentation].