Par chance, la plupart des services que vous allez superviser sur votre réseau peuvent être contrôlés en utilisant directement par un plugin depuis la machine Nagios®. Les services qui peuvent être directement contrôlés sont par exemple la disponibilité des serveurs web, email et FTP. Ces services peuvent être contrôlés par un plugin depuis l'hôte Nagios® parce que ce sont des ressources accessibles directement. Cependant, il y a un certain nombre de choses dont vous aimeriez superviser mais qui ne sont pas publiquement accessibles comme les autres services. Ces services/ressources "privés" inclus le taux d'utilisation d'un disque, la charge d'un processeur,etc… d'une machine distante. Ce type de ressources ne peuvent pas être contrôlées sans utiliser un agent intermédiaire. Les contrôles de service qui nécessitent un agent intermédiaire (pour réaliser le contrôle) sont appelés contrôles indirects.
Les contrôles indirects sont utiles pour :
Il existe plusieurs méthodes pour réaliser des contrôles actifs indirects (on ne discutera pas des contrôles passifs), mais j'expliquerai uniquement comment ils peuvent être effectués en utilisant l'addon nrpe.
Le diagramme ci-dessous montre comment les contrôles indirects des services fonctionnent. Cliquez sur l'image pour l'agrandir…
Si vous supervisez des serveurs se trouvant derrière un pare-feu (et que la machine sur laquelle Nagios® est installée se trouve en dehors du pare-feu) le contrôle des services sur ces machines peut s'avérer un compliqué. Il y a des chances pour que vous bloquiez la plupart du trafic entrant qui serait normalement requis pour la supervision. Une solution pour réaliser les contrôles actifs (ceci est aussi valable pour les contrôles passifs) sur les machines derrière le pare-feu serait d'enfoncer un petit trou dans les filtres du pare-feu pour autoriser l'hôte Nagios® à appeler le démon nrpe d'un hôte protégé par le pare-feu. La machine protégée par le pare-feu pourrait aussi être utilisée comme intermédiaire dans la réalisation de contrôles sur d'autres serveurs protégés par le pare-feu.
Le diagramme ci-dessous montre comment les contrôles de services multiples et indirects fonctionnent. Remarquez que le démon nrpe tourne sur les machines #1 et #2. La copie fonctionnant sur la machine #2 est utilisée pour permettre à l'agent nrpe sur l'hôte #1 de contrôler un service "privé" sur la machine #2. Les services "privés" sont des services tel que la charge CPU, l'utilisation de l'espace disque, etc. qui ne sont pas directement exposés comme SMTP, FTP, et les services web. Cliquez sur l'image pour l'agrandir…
Les contrôles indirects d'hôtes fonctionnent de la même façon que les contrôles indirects services. Typiquement, le plugin utilisé dans la commande de contrôle d'hôte demande à un agent intermédiaire (c.a.d. un démon fonctionnant sur une machine distante) de réaliser le contrôle d'hôte pour lui. Les contrôles indirects d'hôte sont utiles lorsque l'hôte distant à superviser se trouvent derrière un pare-feu et que vous souhaitez restreindre le trafic de supervision à une machine donnée. Cette machine (l'hôte #1 sur le diagramme ci-dessous) réalisera les contrôles d'hôtes et retournera les résultats au plugin check_nrpe de plus haut niveau (sur le serveur central). Notez qu'avec cette configuration des problèmes peuvent survenir. Si l'hôte distant #1 s'effondre, le plugin check_nrpe ne sera pas capable de contacter le démon nrpe et Nagios® croira que les hôtes distants #2, #3, et #4 sont "down", même si ce n'est pas le cas. Si l'hôte #1 est votre firewall, alors le problème n'en sera pas vraiment un parce que Nagios® le détectera "down" et considéra les hôtes #2, #3 et #4 comme inaccessibles.
Le diagramme ci-dessous montre comment un contrôle indirect d'hôte peut être effectué en utilisant le démon nrpe et le plugin check_nrpe. Cliquez sur l'image pour l'agrandir.