Nagios : configuration de la supervision

Une fois installé, Nagios permet aussitôt de superviser le pc qui l’héberge.
L’url http://x.x.x.x.x/nagios/ (où x.x.x.x est l’adresse ip de ce pc hébergeur) donne accès à une interface web qui permet de consulter les résultats de cette supervision, mais pas de la paramétrer.

Le paramétrage de cette supervision est réparti dans plusieurs fichiers, les principaux étant :
- le fichier /usr/local/nagios/etc/cgi.fg : il contient les données nécessaires à l’exécution des scripts cgi qui affichent cette interface web : login pour accéder à cette interface, rafraîchissement des pages html.
- le fichier /usr/local/nagios/etc/nagios.cfg : il contient la configuration de Nagios, qui dépend étroitement des caractéristiques de pc à superviser.

Ce fichier /usr/local/nagios/etc/nagios.cfg contient de nombreuses sections, et on mentionnera seulement ici la section « Object Configuration file(s) ».
Dans cette section, la commande cfg_file=/usr/local/nagios/etc/objects/x.cfg permet d’inclure la configuration décrite dans le fichier correspondant. Les principales configurations ainsi incluses (et décommentées dans le nagios.cfg par défaut) concernent :

- les commandes de supervision à exécuter. Le fichier /usr/local/nagios/etc/objects/commands.cfg (configuration par défaut) définit les commandes permettant d’exécuter les plugins de Nagios utilisés, avec les paramètres passés à ces commandes. L’url http://nagiosplugins.org/man/ recense les principaux plugins de Nagios, avec les syntaxes de leurs commandes. Le fichier /usr/local/nagios/etc/commands.cfg devra bien sûr être complété en cas de nouveau plugin utilisé.

- les contacts et les groupes de contacts. Le fichier /usr/local/nagios/etc/objects/contacts.cfg contient les identités des personnes à contacter en cas de problème révélé par la supervision, avec divers renseignements sur ces personnes (email, par exemple),

- les moments où travaillent les plugins chargés d’effectuer la supervision. Le fichier /usr/local/nagios/etc/objects/timeperiods.cfg définit divers horaires, plus ou moins complexes, qui peuvent ensuite être utilisés.

- des templates utilisables pour un type donné d’appareils à superviser. Le fichier /usr/local/nagios/etc/objects/templates.cfg définit des modèles de supervision, précisant notamment les horaires de supervision, et les conditions de notification. On peut définir des templates pour des groupes plus particuliers d’appareils, en héritant de templates plus génériques.

- un exemple de supervision du serveur hébergeant Nagios, dans le fichier /usr/local/nagios/etc/objects/localhost.cfg.

Ce dernier fichier localhost.cfg définit notamment :
- le nom du groupe de machines incluant ce serveur (« Linux-servers »). Un usage répandu est d’inclure ensuite les pc sous Linux, qui seront supervisés à distance, dans ce groupe ainsi déjà créé.
- les services supervisés en local. Les différents plugins lancés en local par Nagios sont mentionnés ici, avec les paramètres passés à leurs commandes de lancement.

Cette multiplicité de fichiers de configuration – et la possibilité d’en définir librement de nouveaux – peut laisser, au premier abord, une impression de grande complexité.
En fait, cette liberté de créer plusieurs niveaux de paramétrage, et d’hériter de modèles plus généraux, permet d’ajuster la configuration de Nagios à la diversité des appareils à superviser, en mutualisant les paramètres de supervision qui correspondent aux similitudes entre ces appareils.
Un débutant en supervision pourra sans problème multiplier dans un premier temps les fichiers de configuration, en définissant complètement la supervision de chaque pc visé. Puis, constatant la répétition de commandes et de paramètres similaires au sein de ces différentes configurations, il pourra ensuite factoriser ce travail en créant des modèles, comme indiqué ci-dessus.

 

Nagios : installation
Nagios : configuration de la supervision
Nagios : supervision d’un pc distant sous Linux
Nagios : supervision d’un pc distant sous Windows