You are on page 1of 10

Date Date Marque Brand Ecrit par Written by Destinataires Recipients Copie Copy

jeudi 16 octobre 2003 M. Grgory Bernard

Objet - Subject

Prsentation de loutil dadministration de rseau Nagios

Trs chers, Vous trouverez dans les pages suivantes une explication dtaille du fonctionnement de loutil de monitorage de rseau Nagios. Cet outil bas sur une licence GPL de version 2 et fonctionne originellement sur la plate-forme Linux. La courte tude qui vous est propose pour but danalyser le produit Nagios en se servant dune grille simple et performante (quoi, pourquoi, comment). Pour toutes questions relatives lutilisation ou la mise en uvre de ce produit, nhsitez pas me contacter ladresse nagios@todo.biz Bonne lecture. Grgory Bernard Directeur

21, rue Jean Jacques Rousseau 75001 Paris Tl : 01 40 26 43 14 E-Mail : nagios@todoo.biz Web : http://www.todoo.biz/ ToDoo S.A.R.L au capital de 7.650 R.C. Paris B 439 872 540

Etude sur la surveillance de ressources et de services avec Nagios

Page 2

Avant propos :
Je tenais tout dabord remercier Ethan Galstad et la communaut de dveloppeurs qui ont particip la mise au point de Nagios. Cet outil contribue en grande partie la qualit des services Internet de ma socit, et il me permet de passer des week-end agrables tout en tant prvenu du moindre incident sur mon tlphone portable. Nagios est devenu au fur et mesure de ses diffrentes amliorations successives un partenaire simple consulter et remarquablement fiable et efficace.

1. Le Pourquoi ?
Avec lexplosion des systmes dinformation rpartis au milieu des annes 90, les administrateurs de rseaux et des systmes ont d apprendre grer la supervision des services et des serveurs de faon plus active. La dcentralisation des systmes dinformation, la transparence des rseaux et la simplification des systmes ont permis des entreprises de taille moyenne dacqurir des systmes prcdemment rservs de trs grandes entreprises ou des administrations. Cette dmocratisation a introduit de nouveaux besoins de gestion et dadministration des systmes. Souvent propose par les oprateurs dans le cadre de leurs offres commerciales, la supervision des rseaux et des services peut aujourdhui tre prise en charge par les entreprises moindre cot. Le produit Nagios est n dans ce contexte. La premire version du logiciel a t cre en Mars 1999 par Ethan Galstad (nagios@nagios.org) avec comme objectif dassurer la surveillance des htes et des services en vous prvenant lorsque les choses vont mal . Bas sur linux, cet outil a principalement t dvelopp pour fonctionner sous des systmes Unix. Afin de le faire fonctionner, il est ncessaire de possder : un systme Unix et un compilateur C. Le systme Nagios se distingue de tous ses concurrents par sa politique de licence ouverte (licence GNU General Public Licence). Celle-ci a permis une distribution massive de ce produit et son utilisation par un public de novice ou dexpert qui largement contribu son amlioration rapide au cours des huit diffrentes versions qui se sont succdes depuis trois ans. Ce produit a souvent t intgr de nouveaux produits de gestion de rseaux et services (http://telemetrybox.org ou http://linux-ha.org/) compos dun assemblage doutils Open Source. Il semble possible den faire une utilisation assez extensive (on citera entre autre : le monitoring de la temprature, des capacits des disques ainsi que des services). Lenny Liebmann ditorialiste pour la revue InternetWeek dfini ainsi le produit : Les produits tels que Nagios et Webmin, disponibles gratuitement, ont t mis au point par la mme communaut de dveloppeurs que ceux qui ont faits de Linux une alternative aussi viable dans le domaine des serveurs. Jeff Davis DAmareda Hess Corp. Houston qui gre plusieurs dizaines de serveur Linux faisait remarquer : Il est particulirement difficile de justifier des cots dacquisition de systme de gestion de rseau qui cotent plus cher que vos systmes. La plupart des systmes de gestion de rseaux propritaires sont simplement trop chers pour nous !. Nous allons donc tudier plus dans le dtail les diffrents mcanismes mis en uvre dans ce produit et dcouvrir quels services peuvent tre pris en charge par Nagios.

Cette tude vous est offerte gratuitement par la socit ToDoo elle peut-tre distribue sans aucune limitation. 21, rue Jean Jacques Rousseau 75001 Paris Tl : 01 40 26 43 14 E-Mail : nagios@todoo.biz Web : http://www.todoo.biz/ ToDoo S.A.R.L au capital de 7.650 R.C. Paris B 439 872 540

Etude sur la surveillance de ressources et de services avec Nagios

Page 3

2. Le quoi grer ?
Une division en couche nous a t propose pour aborder la problmatique du quoi grer ? (cf. schma cidessous). Nagios adopte une grille danalyse simplifie et inspir de la division en couche propose par TCP/IP.

Nagios fait ainsi une synthse par le plus petit commun multiple disponible sur chacun des quipements dont il se charge de vrifier le fonctionnement. Nagios, la diffrence dautres outils de monitoring nintgre pas doutil de maintenance en son corps, il se base sur diffrents adaptateurs. Suivant le schma figurant cidessous :

Cette tude vous est offerte gratuitement par la socit ToDoo elle peut-tre distribue sans aucune limitation. 21, rue Jean Jacques Rousseau 75001 Paris Tl : 01 40 26 43 14 E-Mail : nagios@todoo.biz Web : http://www.todoo.biz/ ToDoo S.A.R.L au capital de 7.650 R.C. Paris B 439 872 540

Etude sur la surveillance de ressources et de services avec Nagios

Page 4

Approche de la gestion des couches basses par Nagios:


Le principe retenu par Nagios est celui de diffrents adaptateur (pour la plupart cris en PERL et en C) qui communiquent une information standardise au Process Nagios. Un guide de dveloppement des plugin Nagios est propos sur le site SourceForge.net il permet de rapidement se familiariser avec les codes retourner pour sassurer de la compatibilit des adaptateurs dvelopps avec le processus matre. Une procdure de validation classique des dveloppements est ensuite propose (comme cest le cas pour la plupart des projets Open-Source). Il existe ce jour 70 adaptateurs diffrents dont la plupart sont crits en C et quelques-uns en PERL. Une cinquantaine dautres adaptateurs sont ltat de dveloppement et nont pas encore t tests. Linstallation des adaptateurs est assez simple pour la plupart des systmes UNIX qui possdent les outils GCC permettant de compiler les sources. Aprs linstallation, les diffrentes librairies sont places dans un rpertoire de destination du type libexec. Les adaptateurs crit en C se servent des diffrentes librairies permettant de supporter le transport des requtes (netutils.h). Laccs aux sources des diffrents adaptateurs permet, pour ceux qui en ont les comptences, dapporter des modifications maison ; Les adaptateurs sont appels depuis le fichier nagios.cfg. Ce dernier comprend des lignes de commandes qui se servent des librairies compiles dans le rpertoire libexec pour tester les services et transmettre la rponse au serveur Nagios. Il serait un peu rbarbatif de dresser la liste complte des diffrents adaptateur mis la disposition des utilisateurs. Nous essaierons donc de les regrouper en catgorie logique suivant la nomenclature suivante : 1. Equipements. a. check_disk.c permet de tester lespace disque disponible sur les partitions tests. Bas sur une utilisation de la commande /bin/df b. get_load_average.c permet de tester la charge dun systme en temps rel. Bas sur la commande unix uptime ou getloadaverage. c. check_swap.c permet de tester le swap disque. d. check_ups.c permet de tester les systmes donduleurs et de dterminer leur tat. e. check_hpjd.c permet de tester les imprimantes HP qui utilisent Jet Direct. f. check_temptraxf permet de tester la temprature laide dun module externe Temptrax. Rseaux/Protocoles. a. check_ping.c permet de vrifier quun hte est vivant sur un rseau, bas sur ICMP. b. check_mrtgtraf.c ce plugin va vrifier les taux de transfert dun routeur, switch, il est bas sur les logs au format MRTG. c. check_nw.c permet de tester les rseaux NetWare. d. check_udp.c permet de tester les le bon fonctionnement de la couche transport en se basant sur UDP. Applicatifs : a. check_by_ssh.c permet dencapsuler des requtes en se servant de ssh comme support. b. check_radius.c permet de tester les serveurs radius. Services. a. Il existe plus dune dizaine de adaptateur dans cette catgorie. Nous citerons parmi ceux-ci : check_dns.c , check_ftp.c , check_http.c , check_imap.c , check_ldap.c , check_mysql.c , check_pgsql.c , check_pop.c , check_real.c . Lensemble de ces noms sont assez explicites pour comprendre la fonction quils peuvent avoir. Le principe est toujours le mme : formaliser une requte dans le protocole et vrifier l tat de lhte distant. Clients. a. check_Nagios.c permet de valider le bon fonctionnement des clients Nagios dans le cadre dune architecture distribue.

2.

3.

4.

5.

Cette tude vous est offerte gratuitement par la socit ToDoo elle peut-tre distribue sans aucune limitation. 21, rue Jean Jacques Rousseau 75001 Paris Tl : 01 40 26 43 14 E-Mail : nagios@todoo.biz Web : http://www.todoo.biz/ ToDoo S.A.R.L au capital de 7.650 R.C. Paris B 439 872 540

Etude sur la surveillance de ressources et de services avec Nagios

Page 5

b.

check_nt.c permet de tester les serveurs ou client NT.

Il existe de nombreux autres adaptateurs qui sont encore en cours de dveloppement et qui permettent de faire des tests aussi varis que : Test des architectures rseaux utilisant BGP. Test des rseaux IPX.

Une documentation extensive ainsi quun readme est fournie pour les utilisateurs intresss par ces nouveaux dveloppements et souhaitant y prendre part.

Gestion de la couche rseau :


Bien que Ping puisse permettre de dtecter certains problmes sur des rseaux distants, Nagios fait rapidement la diffrence entre les htes locaux et les htes distants en adoptant deux stratgies distinctes pour chaque cas de figure : Les htes locaux utilisent un script de connexion directe check_host alors que les htes distants vont se baser sur des techniques de hirarchies dhtes, permettant ainsi dtablir deux tats : host_unreacheable et host_down .

En se basant sur les hirarchies dhtes, le script va pouvoir tablir une cartographie de la svrit des problmes rencontrs et permettre dtablir un diagnostique prcis visant permettre une prise de dcision rapide pour la rsolution du problme rencontr.

Cette tude vous est offerte gratuitement par la socit ToDoo elle peut-tre distribue sans aucune limitation. 21, rue Jean Jacques Rousseau 75001 Paris Tl : 01 40 26 43 14 E-Mail : nagios@todoo.biz Web : http://www.todoo.biz/ ToDoo S.A.R.L au capital de 7.650 R.C. Paris B 439 872 540

Etude sur la surveillance de ressources et de services avec Nagios

Page 6

La gestion des rseaux distants :


Dans un soucis defficacit, Nagios prend en compte les architectures dportes et permet un monitoring efficace, mme lorsque les rseaux administrs se situent derrire un firewall. En permettant laccs un daemon fonctionnant sur le client grce au module NRPE et NRPEP (avec un ajout de lencryption triple DES), Nagios permet dassurer une surveillance distante malgr la prsence de firewall. Il faudra toutefois ouvrir un port de communication non privilgi pour permettre NRPE de communiquer avec son client et rcuprer les informations dtat concernant les serveurs dports.

Cette tude vous est offerte gratuitement par la socit ToDoo elle peut-tre distribue sans aucune limitation. 21, rue Jean Jacques Rousseau 75001 Paris Tl : 01 40 26 43 14 E-Mail : nagios@todoo.biz Web : http://www.todoo.biz/ ToDoo S.A.R.L au capital de 7.650 R.C. Paris B 439 872 540

Etude sur la surveillance de ressources et de services avec Nagios

Page 7

Monitoring dport :
Une nouveaut intressante est aussi larchitecture de passive_check propos par Nagios en alternative aux commandes active_check . Afin de permettre un accs aux applications distantes situes derrires un firewall (et sans ouvrir de port de communication, la diffrence du systme NRPE), Nagios peut utiliser les commandes passive_check ces commandes permettent aux diffrentes applications gres de soumettre par un systme de external command file . Les rsultats des commandes externes sont ensuite mis dans la mme file dattente que les services actifs avant dtre traits.

Scurit, le Monitoring Passif :


Afin de pouvoir soumettre les rsultats de passive service check un module serveur NSCA devra tre install sur le serveur central et un client NSCA_client sur la machine surveille. Le module appel NSCA_client ne fait que transmettre les rsultats collects en local au serveur NSCA suivant un protocole simple. Afin de sassurer de la confidentialit des rsultats soumis, il est possible dutiliser lune des mthodes dencryptions suivantes (DES, 3DES, CAST, xTEA, Twofish, LOKI97, RJINDAEL, SERPENT, GOST, SAFER/SAFER+, etc.). Il est ainsi possible dutiliser ensemble des systmes de contrle actif et passif suivant les besoins de votre organisation et la structure de votre rseau.

Cette tude vous est offerte gratuitement par la socit ToDoo elle peut-tre distribue sans aucune limitation. 21, rue Jean Jacques Rousseau 75001 Paris Tl : 01 40 26 43 14 E-Mail : nagios@todoo.biz Web : http://www.todoo.biz/ ToDoo S.A.R.L au capital de 7.650 R.C. Paris B 439 872 540

Etude sur la surveillance de ressources et de services avec Nagios

Page 8

Monitoring redondant :
Afin dassurer une qualit au niveau mme de loutil de supervision, il est intressant de sassurer de son fonctionnement constant. Nagios prvoit ainsi des cas de figure o lun des nuds ou se trouve le serveur Nagios principale tombe, isolant ainsi le rseau du reste des segments, rendant impossible toute supervision. Pour parer ces cas de figure, il est possible de configurer un ou plusieurs autres serveurs qui devront prendre le relais dans les cas suivants : Le serveur esclave doit prendre le relais si : o Le process Nagios du matre sarrte. o Si le serveur matre est mort. o Si le serveur devient injoignable (routeurs ou routes injoignables) Le serveur esclave doit prendre le relais sur son rseau local si : o Le matre devient injoignable alors quil fonctionnait et quun ou les deux routeurs dinterconnexions sont down. Enfin le serveur matre doit arrter de superviser tout le rseau et ne plus superviser que son rseau local si : o Lhte esclave devient injoignable d un ou plusieurs routeurs ne fonctionnant plus et le serveur de secours tait joignable.

Linterface graphique de monitoring :

Les entreprises ont de plus en plus de services grer sur leurs rseaux, aussi bien au niveau des services rseaux, (SMTP, POP, http, NNTP, ). Quau niveau des htes eux-mmes (charge des processeurs, utilisation des disques).

Cette tude vous est offerte gratuitement par la socit ToDoo elle peut-tre distribue sans aucune limitation. 21, rue Jean Jacques Rousseau 75001 Paris Tl : 01 40 26 43 14 E-Mail : nagios@todoo.biz Web : http://www.todoo.biz/ ToDoo S.A.R.L au capital de 7.650 R.C. Paris B 439 872 540

Etude sur la surveillance de ressources et de services avec Nagios

Page 9

Nagios offre : Supervision de services rseau (SMTP, POP3, HTTP, NNTP, PING, etc.) Supervision des ressources des htes (charge du processeur, utilisation du disque, etc.). Un systme de plugins permettant aux dveloppeurs de facilement dvelopper des modules de surveillance "maison". Contrle paralllis des services. Possibilit de dfinir une hirarchie dans les htes grce aux htes "parents", permettant la dtection et la distinction entre les htes en panne et ceux qui ne sont plus accessibles. Notifications des contacts de l'apparition ou de la disparition de problmes sur les htes ou les services (via email, pager, ou toute mthode dfinie par l'utilisateur). Possibilit de dfinir des gestionnaires d'vnements qui sont lancs automatiquement lors de l'apparition d'vnements concernant les htes ou les services, pour une rsolution prventive des problmes. Rotation automatique des fichiers journaux. Support de la supervision redondante Interface web optionelle pour visualiser l'tat du rseau, les notifications et l'historique des problmes, les fichiers journaux, etc.

3. Le comment ?
La faon la plus simple semble tre de se reporter la documentation qui vient dtre traduite en Franais par Christian Vanguers et Pierre-Antoine Angelini Il est possible de la tlcharger directement en cliquant ici : http://heanet.dl.sourceforge.net/sourceforge/nagiosi18n/nagios-doc-FRENCH-1.0alpha1.tar.gz La mise en uvre du produit ncessite une bonne connaissance du systme Linux, bien que la procdure soit assez standardise (make, make clean). Une bonne connaissance dApache pourra aussi vous viter de faire des erreurs en laissant la vue de tous ltat de votre rseau Afin de raliser une installation efficace, il est ncessaire de bien comprendre les mcanismes qui sont mis en uvre dans la gestion des ressources par Nagios. Il ne sert rien de se lancer dans une installation complexe alors que ce dont vous avez besoin se limite un test de ping sur deux ordinateurs.

Les tapes de mise en uvre du service Nagios :


1. 2. 3. 4. Lecture assidue des concepts soutenant la construction de loutil Nagios. tablissement dun plan du rseau sous forme de diagramme. Dtermination des objets prendre en charge sur chaque quipement actif. Regroupement des objets en entit logique : a. b. c. 5. Choix dune politique de supervision par groupe dobjet. Dtermination des interactions entre objets. Dtermination des seuils dalertes et des groupes alerter.

Dtermination des politiques de supervisions par type de service : a. b. Fixation des seuils par type de services Examen des cas particuliers (par machines ou services).

6. 7. 8.

criture des rgles dans les fichiers de configuration. Installation des adaptateurs pour le monitoring dport. Dmarrage du service et correction des erreurs dans les fichiers de configuration.

Cette tude vous est offerte gratuitement par la socit ToDoo elle peut-tre distribue sans aucune limitation. 21, rue Jean Jacques Rousseau 75001 Paris Tl : 01 40 26 43 14 E-Mail : nagios@todoo.biz Web : http://www.todoo.biz/ ToDoo S.A.R.L au capital de 7.650 R.C. Paris B 439 872 540

Etude sur la surveillance de ressources et de services avec Nagios

Page 10

Quelques conseils pratiques :


Laccs aux tableaux de supervision peut constituer un outil prcieux exploiter pour des pirates. Il convient donc de prendre des mesures adapts pour se protger. Laccs aux statistiques doit normalement tre protg par un mot de passe du type htpasswd. Pour des administrateurs qui souhaitent avoir un accs leur tableaux de supervision depuis lextrieur de leur rseau sans laisser le serveur Nagios la vue de tous, le plus simple est dutiliser ssh et le port forwarding . Une commande du type : sudo ssh -L 80:nagios.monreseau.fr:80 greg@mon_serveur_ssh.monreseau.fr vous permettra daccder un serveur Nagios dont les ports 80 sont inaccessibles depuis lextrieur. Pour ce faire vous devez tre root sur votre machine car les ports < 1024 ne peuvent tre manipuls que par root Il vous suffit ensuite sur votre machine local douvrir un navigateur et de tapper : http://localhost/ pour accder votre tableau de supervision de faon entirement scurise.

En esprant que ces quelques explications vous seront utiles.

Cette tude vous est offerte gratuitement par la socit ToDoo elle peut-tre distribue sans aucune limitation. 21, rue Jean Jacques Rousseau 75001 Paris Tl : 01 40 26 43 14 E-Mail : nagios@todoo.biz Web : http://www.todoo.biz/ ToDoo S.A.R.L au capital de 7.650 R.C. Paris B 439 872 540

You might also like