Dans les chapitres précédents, je vous ai présenté les fondamentaux de la supervision ainsi qu'un panel des différentes solutions du marché. Dans ce chapitre, je vais détailler la solution Nagios et vous expliquer les raisons de ce choix. Vous y apprendrez les origines de la solution, ses avantages, mais aussi ses inconvénients (car il y en a !), ses évolutions et les perspectives concernant son futur.
Il était une fois un ping MS-DOS…
Il suffit parfois de pas grand-chose pour faire naître des solutions fiables… comme peut le rappeler la petite chronologie suivante :
en 1996, Ethan Galstad crée une petite application (sous MS-DOS !) pour effectuer des ping sur des serveurs. Le cœur de l'architecture applicative de Nagios est né ;
deux ans plus tard, Ethan migre son application sous Linux. Et en 1999, il décide de la rendre disponible sous le nom de NetSaint, en estimant que cette application open source intéresserait probablement une douzaine de personnes ;
mais comme souvent dans ces cas-là, il existait déjà une marque portant ce nom, alors Ethan a simplement renommé son application en utilisant un processus très à la mode chez les concepteurs à l'époque : l'acronyme récursif. Ainsi, NAGIOS peut être interprété comme « Nagios Ain’t Gonna Insist On Sainthood » ;
en 2007 est créée Nagios Enterprises LLC, dans le but de structurer le travail et les prestations autour de Nagios ;
en 2009, la douzaine d'utilisateurs s'est transformée en quelques 600 000 téléchargements ;
en 2016, Nagios dépasse les 7 500 000 téléchargements directs sur la plateforme SourceForge.
Nagios, est-ce que ça marche ?
Oui, c'est une certitude ! Et vous disposez de nombreux moyens pourvous en assurer, comme par exemple regarder les prix qui lui sont décernés :
2016 : Nagios est nommée « Network Monitoring Application of the Year » ;
2016 encore : Nagios Core est sélectionné « Project of the Week » en décembre ;
2015 : Nagios se voit décerner le titre de Top IT Infrastructure Monitoring Tools » par IT Central Station ;
Nagios est aussi nommé six fois consécutives « Best Monitoring Application » par le « Linux Journal » .
Et la liste remonte ainsi jusqu'en 2009 !
Mais il suffit de se pencher sur la littérature et le nombre de publications concernant Nagios pour comprendre que c'est un outil éprouvé et efficace :
Enfin, de nombreuses distributions proposent directement les packages pour Nagios, comme de Debian a Fedora en passant par DragonFLy, ce qui est aussi le gage d’une bonne solidité et d’une bonne maintenance.
Nagios, est-ce que c’est suivi ?
Aujourd'hui, Nagios dispose d'une structure digne d'un très grand éditeur. D'ailleurs, il y a quelques années, le site Web de Nagios fut mis à jour vers une version beaucoup plus marketing. Je me souviens encore du choc que j'ai reçu en naviguant sur ces nouvelles pages très 2.0, très vendeuses…
Car oui, Nagios a décidé, après de nombreuses années comme application open source, de faire de l'argent. C'est l'avènement de Nagios XI. Rassurez-vous : Nagios Core, la solution historique, avec ses plugins, reste open source et gratuite, mais l'entreprise met désormais sensiblement en avant la version sous licence. Ainsi, Nagios XI présente une interface Web d'administration/configuration qui respecte l'état de l'art des développements Web et mobiles, et propose un framework de services de grande qualité : une gestion avancée des graphes, une fonctionnalité de Capacity Planning automatique, des assistants de configuration, des snapshots de configuration, une gestion avancée des utilisateurs, etc.
Mais ce n'est pas tout !Maintenant, Nagios met aussi à disposition des produits complémentaires :
Nagios Log Server, qui propose une plateforme de centralisation des logs ainsi qu’une interface permettant de générer des requêtes dynamiques et des tableaux de bords personnalisés ;
Nagios Network Analyzer, qui fournit une analyse approfondie du réseau et de toutes les sources de trafic, fournissant ainsi aux administrateurs des rapport d’alertes et des indicateurs concernant la santé du réseau. Cet outil intègre également une interface Web d’administration/configuration ;
Nagios Fusion, qui rassemble les trois solutions Nagios XI, Nagios Log Server et Nagios Network Analyzer au sein d'une plateforme de gestion centralisée.
La solution que vous allez utiliser
Bref, tout ça c'est bien beau, mais il est grand temps que je vous parle du logiciel que vous allez utiliser dans ce cours : Nagios Core.
Vous l'aurez compris, Nagios Core, en l'occurrence ici la version 4, est l'héritier direct du moteur créé en 1996 par Ethan Galstad.
La grande force de Nagios réside dans son architecture applicative, composée de 3 éléments. Voyons les ensemble.
L'ordonnanceur
L'ordonnanceur est le cœur du programme. Il s'agit d'un processus qui se lance en tant que service système. Son mode de fonctionnement est simple mais très efficace : il paramètre des objets host et service, qui seront supervisés par l'intermédiaire d'un objet command. Celui-ci lancera, à intervalles réguliers et paramétrables, des sondes sous la forme de programmes exécutables. Les résultats de ces actions de supervision sont stockés dans des fichiers au format texte. Bien entendu, configurer des objets permet, entre autre, de :
observer le temps entre chaque exécution de la sonde ;
définir des seuils permettant de juger les résultats (aussi appelés « statuts », OK, WARNING ou CRITICAL, par exemple pour les objets de type
service
) ;gérer efficacement les notifications vers les acteurs responsables de la maintenance de ces objets ;
indiquer un minimum de topologie concernant le schéma d'architecture réseau ;
déclencher des actions particulières sur certains statuts ;
etc.
Les plugins
Les plugins (aussi appelés « sondes ») sont des programmes qui fonctionnent de manière autonome et servent à superviser les caractéristiques des objets configurés. Parmi ces caractéristiques, on peut notamment citer la charge CPU, l'occupation de la mémoire ou du disque, les services HTTP, SSH, FTP, SNMP, PING, WMI, POP3, et beaucoup d'autres encore. Les plugins Nagios étant normalisés et très bien documentés, il est possible de coder soi-même un plugin spécifique à son besoin ;
L'interface Web d'administration
Ce composant très pratique, codé en CGI/PHP, va lire les informations stockées dans les fichiers résultat de Nagios afin d’afficher ces données sur des pages Web. Il est possible de générer des rapports ou de gérer un minimum de droits utilisateur. Un système de pipe, Unix, permet à l'utilisateur de donner des ordres au moteur Nagios (forcer le lancement d'une sonde à l'instant T, redémarrer le service, modifier la configuration d'un objet, etc.). Il faut cependant noter que l'interface Web de Nagios n'évolue plus beaucoup depuis la sortie de Nagios XI… or l'interface d'administration de cette version commerciale est son principal argument de vente !
Enfin, il est également important d'indiquer que Nagios est très bien documenté.
Les pages présentées sur ce site sont exhaustives et très bien écrites. Vous y trouverez rapidement les réponses aux questions que vous pourrez vous poser lors de votre propre expérience utilisateur.
Une communauté d'utilisateurs très importante
Il faut surtout évoquer la communauté Nagios. La solution dispose d'un historique important et les utilisateurs n'hésitent pas à partager leurs expériences voire leurs créations (plugins supplémentaires, interface administration spécifique, etc.).
La plateforme https://exchange.nagios.org fourmille d'apports techniques supplémentaires avec, par exemple, plusieurs milliers de plugins ! En fouillant un peu, vous trouverez quelques pépites comme une interface mobile, des didacticiels et des modules complémentaires très intéressants.
En résumé
Nagios Core est une solution pérenne, efficace et très bien supportée. Avec un peu de technique, vous pourrez mettre en place un processus de supervision au périmètre très large. Les plugins fournis avec le package de base couvriront sans doute la grande majorité de votre besoin…et le tout gratuitement !
Son architecture modulaire permet d’ajouter assez facilement les modules fonctionnels qui pourraient vous manquer avec le moteur de base, voire même de coder les vôtres et de partager votre expérience. Seul petit bémol : son interface graphique qui vieillit assez mal… Mais si vous êtes comme moi, une fois les principes de fonctionnement bien assimilés, vous n'hésiterez pas à proposer votre propre développement spécifique pour ce composant, pour répondre à votre besoin avec efficacité !
Je suis sûr que vous êtes désormais convaincus. Alors rendez-vous au prochain chapitre pour installer Nagios Core sur votre serveur !