Nagios : Outil de supervision Extrait du Technicien reseau - e-cv http://tec-rt.net/spip.php?

article12

Licence Pro Réseaux et Télécommunications

Nagios : Outil de supervision
- Articles - Projets dans le cadre de ma formation initiale -

Date de mise en ligne : mardi 17 février 2009

Technicien reseau - e-cv

Copyright © Technicien reseau - e-cv

Page 1/97

Nagios : Outil de supervision
Introduction

Introduction à la supervision d'un réseau
Qu'est-ce que la supervision réseaux ? La supervision réseaux consiste à surveiller ces derniers, c'est-à-dire regarder les éléments constituant un réseau (routeurs, switches, ordinateurs, etc.), ainsi que divers services réseaux (SMTP, HTTP, ping, etc.). La surveillance des éléments est le fait de connaitre les états des différents éléments qui composent un réseau informatique selon plusieurs critères (charge CPU, mémoire disponible, etc.). Ces logiciels surveillent le réseau en utilisant plusieurs protocoles (SNMP, ping, etc.), et affichent les états des éléments de plusieurs façons possibles. Ces outils permettent aux administrateurs réseaux de mieux gérer ces derniers et être plus réactifs lorsque des problèmes surviennent. La supervision s'effectue à l'aide d'un outil de supervision que l'on installe sur un (ou plusieurs) poste(s) relié(s) au réseau que l'on souhaite superviser.

Problématique
La supervision de réseau nécessite des outils adaptés aux différents composants du réseau. Le parc est souvent doté de machines sous Linux et Windows. Nous devons donc trouver, comme tout bon produit de supervision, un produit capable de superviser l'ensemble des équipements provenant de différents constructeurs et ayant des modes de gestion hétérogènes. Il s'agit alors de trouver un produit reposant sur un protocole ou un environnement normalisé afin de pouvoir servir de point d'entrée unique pour regrouper toutes les informations du réseau.

Introduction à Nagios
Nagios est un logiciel libre de supervision, compatible avec des machines Linux et Windows. Nagios possède de nombreuses fonctionnalités, qui seront développées plus tard dans cette étude. Ces principales fonctionnalités sont :

Surveillance des services réseaux (SMTP, POP3, http, PING, etc.) ;

Surveillances des ressources des stations du réseau (serveurs, routeurs, PC, ...) comme, par exemple, la charge du processeur, des informations sur l'utilisation des disques durs et les processus en cours ;

Surveillance des données environnementales (la température..) ;

Possibilité de définir des groupes de contacts à joindre en cas d'apparition de problèmes via différents médiums (le courrier électronique, les messages instantanés) ;

Modifications à la volée du comportement de la surveillance et du retour d'informations à travers l'utilisation de gestionnaires d'événements, d'une interface web et d'applications tierces ;

Conservation de l'historique de l'état du réseau même après un redémarrage à froid.

Copyright © Technicien reseau - e-cv

Page 2/97

Nagios : Outil de supervision
SNMP

Historique
Le prédécesseur de ce protocole était le SGMP (Simple Gateway Monitoring Protocol) qui fonctionnait sur le port UDP n°153, défini dans la RFC 1028. Le lancement du SNMP s'est fait en 1988 par l'Internet Engineering Task Force, défini dans la RFC 1157. Trois versions sont sorties depuis.

Version 1 (1990) : Les messages sont transmis en clair, c'est la version basique du protocole ;

Version 2 (1996) : Quelques améliorations ont été apportés au protocole, c'est une extension ;

Version 3 (2002) : La couche Sécurité a été implémentée sur cette version avec du cryptage notamment.

Modèle OSI
Le protocole SNMP se situe au niveau des couches applicatives. Il utilise le protocole de transport UDP. Les ports qui sont utilisés :

161 coté server ;

162 coté client.

Copyright © Technicien reseau - e-cv

Page 3/97

Surveiller leurs comportements. en modifiant les paramètres. Composantes Copyright © Technicien reseau . Cartographie du réseau . Remonter des alertes .Nagios : Outil de supervision Quels sont les usages ? Administrer les équipements du réseau. en récupérant des informations.e-cv Page 4/97 .

Version 2 : Introduction des ACL (Listes de Contrôles d'Accès). . la sécurité est accrue. il n'y pas de sécurité. Commutateur. Routeur. Copyright © Technicien reseau . la sécurité a été pensée mais pas très efficace. Serveur SNMP : Il sert à la collecte les informations et les alertes et fourni les services SNMP...Nagios : Outil de supervision Client d'administration : C'est la station qui interroge le serveur SNMP. Agent : Il est présent sur la plupart des interfaces réseau (Serveur. Sécurité Version 1 : Les messages SNMP sont diffusés en clair sur le réseau.). Version 3 : Les messages SNMP sont désormais cryptés.e-cv Page 5/97 . Il dispose d'une base de données appelée Management Information Base.

Nagios : Outil de supervision Authentification (DES et clé secrète) Confidentialité des données Contrôle d'accès par la MIB Format des trames SNMP Cisco Pour activer l'agent SNMP sur les routeurs Cisco.e-cv Page 6/97 .conf // Fichier de configuration principal Copyright © Technicien reseau . il faut se mettre en "Mode de configuration globale". il faut installer le paquet net-snmp. Les fichiers de configuration installés par ce paquet sont : snmpd. voici les commandes : Routeur(config)#snmp enable //active le protocole SNMP Routeur(config)#snmp enable traps //active la capture des requêtes SNMP Routeur(config)#snmp-server //active une MIB Linux Debian Pour ajouter un agent sur la distribution Debian de Linux.

On sélectionne ces distributions car ce sont les distributions qui ont une documentation disponible assez importante.Nagios : Outil de supervision snmptrapd. stable Payant Payant Inconvénients Instable Instable Gestion des paquets On souhaite prendre une distribution gratuite et stable. nous devons sauvegarder les données récoltés par Nagios. Fedora. Mandriva. Entre les 2 distributions.conf // Fichier de configuration de la capture des données SNMP Choix de la distribution Choix du système d'exploitation Pour pourvoir installer Nagios sur un ordinateur. on ne retient que les principales : Debian. gratuit Gratuit. Choix du type de sauvegarde des données Pour pouvoir analyser les résultats de Nagios. Voici un comparatif entre les 2 types de sauvegardes Fichiers texte Base de données Sauvegarde Dans des fichiers texte Dans une/des base(s) de données Restauration Possible Possible Copyright © Technicien reseau . simple d'utilisation Gratuit. Nous avons la possibilité entre 2 types de sauvegarde : par fichier texte ou par base de données. Ubuntu. Red-Hat et SuSE. Pour cela. En effet. on restreint notre choix à 2 distributions : Debian et Fedora. Pour le choix de l'OS. Nagios est seulement compatible avec ce système d'exploitation. simple d'utilisation Gratuit. on prend Linux. Comparatif des différentes distributions Nom Avantages Debian Ubuntu Mandriva Fedora Red-Hat SuSE Stable. En effet. il faut au préalable installer un système d'exploitation sur cette machine. cette distribution permet une meilleure gestion des paquets. on choisit Debian.e-cv Page 7/97 . Parmi les différentes distributions Linux.

les sites web. les serveurs. Certaines se contentent de connaître à tout instant l'état des noeuds du réseau. les derniers offrent la possibilité de ressortir de nombreuses statistiques du réseau permettant une analyse assez fine. alors que PostgreSQL est plus performant que MySQL concernant les grandes bases de données. ls SQL). de Tivoli (IBM). Le système MySQL est plus performent que PostgreSQL pour gérer les petites bases de données. d'autres permettent également de connaître l'état des services sur ces noeuds. etc. de la gamme openview (HP). nous pouvons voir que les bases de données permettent une meilleure gestion des données que par les fichiers texte.Nagios : Outil de supervision Exportation Pas possible Possible Lecture Seulement avec Nagios Possible avec tous les logiciels de base de données externe Installation A installer (nagios-text) A installer (nagios-mysql) Recherche Par lecture des logs Par requête Avantages Simplicité d'utilisation Exportation possible Lecture possible avec tous les logiciels de base de données Recherche rapide (via requêtes) Recherche lente Exportation impossible Lecture uniquement avec Inconvénient s Nagios Necessite la connaissance d'un langage de base de données D'après la comparaison précédente. Toutes ces solutions ont en plus de spécificités les distinguant les unes des autres. conscient que la supervision est un marché porteur. mais demande une connaissance d'un language de base de données (comme. nous avons retenu les 2 systèmes de gestion de base de données les plus couramment utilisés. Comparatif des différentes solutions Introduction : panorama des solutions existantes De nombreuses plateformes de supervision existent aujourd'hui. de BigBrother ? pour ne citer que les plus connus. par exemple. les sociétés n'hésitent plus à investir dans un produit leur permettant de surveiller et mieux gérer leurs réseaux. celle proposant des solutions généralistes supervisant le réseau. d'Unicenter (Computer Associate). L'autre famille supervise des domaines plus spécifiques comme Panorama (Altaworks) qui gère uniquement l'aspect sécurité ou PathWAI (Candle) qui se penche principalement sur la supervision des applications. Les éditeurs se sont alors lancés dans la course aux produits de supervision . Les offres éditeurs Depuis quelques années. à savoir MySQL et PostgreSQL. les applications. C'est le cas de Patrol ou Mainview (BMC). Il faut compter près de 30 Keuros pour superviser un système d'information pour une entreprise de taille moyenne. un point commun : un prix élevé. deux familles apparaissent. Ce chiffre ne tient pas compte des formations du personnel travaillant avec ces solutions souvent complexes d'utilisation ! Les offres libres Copyright © Technicien reseau . Pour le type de base de données à utiliser.e-cv Page 8/97 .

services et applications Notification des administrateurs quand un seuil d'alerte a été franchi (paramétrable) Possibilité de répartir la supervision entre plusieurs administrateurs Possibilité de définir des gestionnaires d'évènements qui s'exécutent pour une résolution proactive des problèmes Journal avec rotation automatique des fichiers pour un historique des évènements Surveillance à partir d'un poste de travail avec un navigateur Web. Nagios est sans contexte le plus répandu et le plus suivi par la communauté des développeurs.Nagios : Outil de supervision Il existe des solutions de supervision libres qui sont professionnelles. . Parmi les plus répandus. reconnus du moment nous pouvons citer Nagios (le successeur de Netsaint). I/O. . Munin. CPU. Comparatif des offres Comparatif NAGIOS Surveillance des services réseau (SMTP. SNMP.) Surveillance des files d'attente d'impression Système simple de plugins permettant de développer facilement les vérifications et les analyses propres à vos matériels. openNMS..e-cv Page 9/97 . POP. http.) Surveillance des ressources des serveurs (mémoire. De ceux cités.. Par un accès sécurisé l'administrateur peut assurer le pilotage à distance via un VPN Définition des tranches horaires pour la surveillance Définition des procédures d'alerte et d'escalade Edition de rapports pour analyse Logiciel libre Copyright © Technicien reseau . disques.. Ping.. Zabbix.

Sur le forum de Cacti.. Un grand nombre de scripts est disponible pour toutes sortes de systèmes. Cacti peut contrôler presque n'importe quel dispositif en réseau et fournir un aperçu des charges réseau/serveur sur n'importe quelle période de temps. etc. disque etc. vbs. Cacti semble être le logiciel de monitoring réseau parfait. Munin est une application de monitoring. Tout comme Cacti. mais rien n'empêche d'utiliser des scripts shell. de façons de récupérer des données) ce qui permet de grapher très vite pas mal de serveurs. Cacti stocke les informations nécessaires à la création de graphiques basés sur des spécifications définies par l'utilisateur et alimente ces graphiques de données depuis une base de données MySQL.. L'énorme avantage de Cacti est de fonctionner à base de modèles (de données. les nombres d'extensions disponibles sont trop faibles et il faut par conséquent passer beaucoup de temps sur la personnalisation des graphiques.e-cv Page 10/97 . de graphes. perl. La force de Cacti provient du fait qu'il peut être aisément installé et utilisé. Les principaux reproches concernent la configuration des graphiques personnalisés trop complexes.Nagios : Outil de supervision Maturité et pérennité Richesse des plugins Souplesse Prix Faible coût en ressources matérielles CACTI Cacti est un outil de création de graphiques reposant sur une interface web basée sur PHP et MySQL et qui utilise le moteur RRDTool pour collecter les statistiques. Cette partie du logiciel est bien trop complexe. ). Il gère nativement le SNMP. Cacti utilise le protocole SNMP pour collecter des données et permet aussi la création de scripts personnalisés pour recueillir les données indisponibles via SNMP. permettant de connaître toutes les données systèmes des autres ordinateurs du réseau. mémoire. Cependant.après avoir configuré les graphiques basiques ( utilisation processeur. il est possible de partager ses modèles (templates) avec d'autres utilisateurs et ainsi de vous faire gagner du temps. MUNIN Munin est un outil de surveillance basé sur le célèbre RRDTool. Etant donné qu'il possède plusieurs méthodes d'acquisition de données. Cacti est entièrement dirigé par un préprocesseur d'hypertexte PHP. A première vue. le rendu graphique est vendeur. l'installation et la prise en main est simple. il est très difficile d'ajouter ses propres graphiques. Il les présente automatiquement sous forme de graphiques consultables depuis une Copyright © Technicien reseau . Effectivement. Munin est extrémement simple à configurer et facilement personnalisable. Il est également possible d'ajouter des "plugins" à Cacti pour pouvoir intégrer d'autres outils gratuits comme ntop.

récupérant les informations un noeud par équipement à surveiller Pour développer un nouveau plugin. On peut donc avoir plusieurs machines dans la même interface web.. base de données.Nagios : Outil de supervision page web. Copyright © Technicien reseau . disque. . le serveur s'occupe de tracer les graphiques et de les mettre à disposition à travers une interface web. Par ailleurs. il dispose d'un système de plugins qui le rend simple d'utilisation et très modulaire. Le système de plugin permet un nombre phénoménal d'extensions à Munin. processeur. etc) qui renvoie juste les valeurs que l'on souhaite tracer. Un système Munin est composé de : un serveur principal. Il est disponible sous debian. et les clients s'occupent de collecter les données sur la machine hôte. on doit faire un programme Fonctionnalités : Simplicité Interface web de consutation Architecture client/serveur Support de RRDTool. Un petit démon tourne sur chacune des machines devant être surveillée (munin-node). Munin fonctionne avec de nombreux plugins..e-cv Page 11/97 . Il a un fonctionnement client/serveur. perl. Ce démon fournit les informations brutes concernant la machine dès que le grapheur (munin) lui les demande. Un plugin est un petit script écrit dans le language que l'on veut (bash. Il m'a semblé être le plus simple d'utilisation tout en conservant de fortes possibilités d'adaptation. pour la génération de graphique Très nombreux plugins disponible Envoi d'alertes vers Nagios Support du protocole SNM Détection automatique des services présents sur la machine Munin est un outil de monitorage qui vous permettra de suivre l'état de vos serveurs simplement depuis une page HTML. Munin fonctionne sur le modèle client-serveur. il vous permettra de suivre la charge réseau.

e-cv Page 12/97 . occupation mémoire. extensible à l'aide de scripts disponible en mode pull ou en mode Zabbix peut effectuer des connexions TCP ou pinguer des hôtes. possibilité d'envoyer des trap vers Zabbix à l'aide de scripts Une solution complète Zabbix dispose de nombreuses autres fonctionnalités : ajout d'hôtes par lot.. création de groupes d'utilisateurs et de groupes d'hôtes. ZABBIX récupération des données disponible sur de nombreuses plateformes. load average.. présence d'un service). personnalisation des alertes. informations plus facilement accessibles que par SNMP (occupation des disques. utilisation de templates..Nagios : Outil de supervision Il permet de générer une série de graphes à partir des informations reçues par les autres machines : utilisation de la mémoire vive. Architecture Copyright © Technicien reseau . usage CPU. gestion des utilisateurs. réseau. paramétrage fin de la fréquence des vérifications.

zbx-multicheck est une extension logiciel de supervision Zabbix.Nagios : Outil de supervision Zabbix est découpé en plusieurs composants : Un moteur en C se chargeant de collecter les données et de générer les alertes Une base de données permet le stockage des données et des réglages L'interface Web est écrite en PHP et permet l'administration (ajout d'un hôte.e-cv Page 13/97 . plus facile à paramétrer et avec des fonctionnalités avancée. Zabbix est capable de gérer le monitoring et d'envoyer des alertes. Nagios étant plutôt destiné à un état "temps réel" des services. en croisant toutes les valeurs qui nous intéressent. Zabbix est donc une solution "tout-en-un". mais il permet aussi de générer des graphiques très sympathiques. Solution sélectionnée : Nagios Pourquoi Nagios ? C'est une solution libre Copyright © Technicien reseau . Il est possible de lui ajouter des plugins très facilement. il faut le coupler à Cacti. Zabbix est un logiciel libre concurrent direct de Nagios. de conception plus moderne. Munin ou oreon pour obtenir un résultat équivalent. Son véritable plus est la génération de graphs à la demande. création d'un graphique. Zbx-multicheck a été développé pour simplifier l'écriture et l'intégration de scripts et outils de check personnalisés dans Zabbix. hôtes à suivre se fait par l'intermédiaire d'une interface graphique et de manière très simple (sans obligation de redémarrer le service lorsque l'on ajoute une machine). définition des alertes) et la consultation des données Chaque composant peut être placé sur une machine séparée et placé en cluster ou en redondance Zabbix est un nouveau venu dans le monde de la supervision qui se démarque d'abord par son administration effectuée entièrement à travers l'interface Web. Toute la configuration des services. qui simplifie l'intégration d'outils de vérification externes. La principale différence aec nagios est que Zabbix intégre RRDtool pour le rendu graphique.

C'est une solution efficace mais qui ne permet de superviser qu'un nombre restreint de services. C'est une solution stable qui a fait ses preuves Parmi les solutions libres.Nagios : Outil de supervision Des solutions citées ci-dessus. Nagios est l'outil de monitoring le mieux documenté ! Tableau récapitulatif des avantages et inconvénients des solutions existantes Sous licence GNU GPL Nagios . dispose d'une grande communauté de développeurs derrière elle et est utilisée par un grand nombre de fournisseurs d'accès ou de grands noms comme Air France.. Zabbix. Le projet Oréon3 est une couche au dessus de Nagios regroupant une interface de configuration web. de les mettre en correspondance. Zabbix et le projet Oréon ont été mis en concurrence pour notre choix avec le « célèbre » Nagios. Ce dernier est en effet réputé pour sa configuration fastidieuse mais également pour le fait qu'il soit tout aussi complet que la solution HPopenview. de générer des comptes rendus graphiques. Big Brother . De plus. l'IFSIC5 (2500 machines) ou encore le modeste Ministère de l'Education Nationale (130 000 machines). HPopenview. Enfin. ce qui risque d'engendrer assez vite des clones de l'application rendant un support plus difficile. donc écartée de nos choix. d'envoyer des alarmes. Cacti Leurs avantages Faible coût d'acquisition Développements additionnels peu coûteux et riches Respect des standards Indépendance des fournisseurs Leurs inconvenients Support difficile Périmètres techniques et fonctionnels encore limités Sous licence commerciale Copyright © Technicien reseau . Zabbix . bien que présentant son projet comme libre. Nagios est stable.e-cv Page 14/97 . BigBrother ? est un superviseur de service fonctionnant sous windows NT. De plus. le CNRS4 (taille de l'organisation : 26000 machines). BigBrother ? et Nagios sont les plus connues. de collecter des informations de supervision. Nous n'avons pas jugé le projet assez avancé pour la sélectionner comme solution stable. nous avons pensé que mettre en oeuvre Nagios nous permettrait de mieux comprendre ce qui ce passe derrière Oréon. il n'est pas possible de rajouter des fonctionnalités ou de générer des alarmes par mail. HPopenview est une solution modulaire très complète qui permet de cartographier automatiquement et dynamiquement le réseau.. ne veut pas que des développeurs touchent à son code.mais c'est également une solution payante. une détection automatique du réseau et quelques fonctionnalités supplémentaires devant simplifier Nagios. OpenNMS . désigné comme un potentiel concurrent à Nagios a été écarté pour l'orientation douteuse que prend le projet : l'auteur.

Nagios : Outil de supervision HP OpenView . Copyright © Technicien reseau . UNKNOWN : impossible de connaître l'état du service. WARNING : le seuil d'alerte est dépassé. Les différents types de seuil sont définis dans les fichiers de configurations des plugins. Pour cela. Nessus . Les types d'alertes sont définis par des seuils (comme. il existe 4 types d'états des matériels. Big Brother . IBM NetView . Il est envoyé à chaque alerte et/ou à un intervalle de temps définis.e-cv Page 15/97 . Par e-mail Un e-mail contenant le type de l'alerte est envoyé. une alerte est générée. un son par types d'alertes. Unicenter . Sun Net Manager . Sonore Un son est émis sur la machine où est installé Nagios. Tivoli d'IBM . qui change en fonction du type d'alerte. le pourcentage de disque utilisés ou le taux de charge d'un équipement). Voici les 4 types d'états possibles sur Nagios : OK : tout va bien. Différentes alertes Les alertes (ou notification) Nagios peuvent être envoyés de différentes façons. Patrol de BMS Software . Il existe divers son. Mercury Leurs avantages Leurs inconvenients Solutions globales et éprouvés Périmètres techniques et fonctionnels étendus Support Indépendance des fournisseurs Indépendance des fournisseurs Coût d'acquisition et de support Incompatibilités entre fournisseur à choix d'un fournisseur unique Développement additionnel restreint et coûteux Alertes Etats Nagios génère des alertes en fonction de l'état des matériels et services supervisés. Voici les différents types d'alertes possibles Types d'alertes Définition Visuelle Un message apparaît sur la machine équipée de Nagios. Chaque message apparaît avec un fond en couleur. Lorsqu'un équipement ou un service change d'état. CRITICAL : le service a un problème. par exemple.

.Nagios : Outil de supervision Par SMS Un SMS contenant le type de notification est envoyé à un/des téléphone(s) portables.. append_dot_mydomain = no # TLS parameters smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.).cf Configuration de Postfix : smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU) biff = no # appending . Exemples de configuration d'alertes Alerte par e-mail Pour que Nagios puisse envoyer des alertes mail par SMTP.key smtpd_use_tls=yes Copyright © Technicien reseau . Par messagerie instantanée Un message est envoyé à un/des poste(s) équipé par une messagerie instantanée (Jabber. il faut installer un serveur mail sur la machine où est installé Nagios.cg : gedit /etc/postfix/main.e-cv Page 16/97 . Pour recevoir les mails d'alertes. Installation de Postfix : apt-get install postfix qpopper courier-base courier-authdaemon courier-imap La configuration de postfix se fait dans le fichier /etc/postfix/main. Nous avons choisi d'utiliser Postfix comme serveur mail. MSN Messenger. . il faut installer sur un ordinateur un client de messagerie standard (par exemple Thunderbird) et le paquet qpopper qui permet de recevoir les mails par pop.domain is the MUA's job.

e-cv Page 17/97 .gtr alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases mydestination = $myhostname. localhost.Nagios : Outil de supervision smtpd_tls_session_cache_database = btree:${queue_directory}/smtpd_scache smtp_tls_session_cache_database = btree:${queue_directory}/smtp_scache #Répertoire postfix queue_directory = /var/spool/postfix program_directory = /usr/bin daemon_directory = /usr/lib/postfix #Paramètres SMTP myhostname = localhost mydomain = iut.0/16.0. il faut avoir un téléphone portable qui peut lire les SMS avec un abonnement téléphonique Copyright © Technicien reseau . 127.0.0/8 mailbox_command = procmail -a "$EXTENSION" mailbox_size_limit = 0 recipient_delimiter = + inet_interfaces = loopback-only mail_owner = postfix myorigin = $mydomain Alerte par SMS Il existe 3 types de manières pour envoyer une alerte par SMS. Dans les 3 méthodes.$mydomain #Si l'on souhaite mettre un relais smtp #relayhost = mynetworks = 10. localhost.0.26. $mydomain.

Pour que l'ordinateur communique avec l'élément qui envoie le SMS. et parfait pour les systèmes de monitoring. l'opérateur envoi l'alerte au téléphone portable par SMS. Cette méthode n'est pas rapide (plusieurs minutes pour que l'alerte soit reçus par le téléphone portable).fr. où 06XXXXXXXX est le numéro du téléphone portable qu'il faut joindre. Il existe différents moyens pour transmettre de données à une passerelle GMS : Par email : même principe que la première méthode. Un fois le mail reçus. gnokii). par exemple. Copyright © Technicien reseau . site Web. Les fichiers CSC sont envoyés à une adresse email puis transmissent par SMS au mobile souhaité. Deuxième méthode La deuxième méthode consiste à relier sur l'ordinateur qui surveille le réseau un modem gsm ou un téléphone portable équipé d'un modem par port série ou infrarouge. Par requête http: idéal pour les applications en ligne. La configuration de cette méthode est la même pour l'envoie d'alerte par mail. Cette méthode coûte cher (achat du modem. il faut installer un utilitaire (comme. Le modem gsm ou le téléphone portable envoie directement les alertes par SMS.Nagios : Outil de supervision Première méthode Pour la première méthode. Cette méthode à 2 inconvénients : il faut payer pour chaque SMS effectué cette méthode est assez longue. et nécessité d'avoir deux abonnements (celui du modem et celui du téléphone portable qui recevra le SMS). Par fichier CSV : les données sont enregistrées dans des fichiers au format CSV. Troisième méthode La troisième méthode consiste à passer par une passerelle GSM. On envoie les données que l'on souhaite transmettre à une passerelle GSM qui les renvoie à un mobile (que l'on a préalablement défini) par SMS.e-cv Page 18/97 . il faut envoyer l'alerte par mail à cette adresse : 06XXXXXXXX@opérateur-téléphonique.

5-1 1.10 1.Nagios : Outil de supervision Installation SOFT Linux Debian Apache Php Nagios Nagios Plugins Essentiels MIB Plugin NRPE Plugin NSCA Plugin Munin Oreon SNMP VERSION 4.10 2.3-7 Installation de debian Installer Debian avec l'option serveur Web ce qui installera automatiquement apache2 et php5.3. Installation de Nagios Pré-requis Passer en root sudo root Installation des compilateurs apt-get install make gcc g++ Ajout de l'utilisateur nagios Copyright © Technicien reseau .10 1.4 5.2.4.0.2.0.0 2.7.2 1.0_R1 Etch Noyau : 2.8 2.2.2.e-cv Page 19/97 .4 5.18-5-686 2.6.

Nagios : Outil de supervision adduser nagios Copyright © Technicien reseau .e-cv Page 20/97 .

Nagios : Outil de supervision mot de passe choisi : nagios Copyright © Technicien reseau .e-cv Page 21/97 .

0.tar.33 .0.e-cv Page 22/97 .conf Ajout de l'utilisateur "nagios" dans Apache usermod -G nagios nagios usermod -G www-data./configure make && make install Installation de Nagios Copyright © Technicien reseau .tar tar -zxvf gd-2.tar.0.33.33.nagios www-data Création du répertoire d'installation mkdir /usr/local/nagios Changer le propriétaire du répertoire d'installation par l'utilisateur nagios chown -R nagios:nagios /usr/local/nagios Installation des libraries indispensables apt-get install libjpeg62-dev libgd-tools Installation de GD-utils Télécharger gd-2.tar cd gd-2.Nagios : Outil de supervision Identifier l'utilisateur Apache grep "^User" /etc/apache2/apache2.

Nagios : Outil de supervision Télécharger le package nagios 2.e-cv Page 23/97 .gz cd nagios-2.tar./configure --prefix=/usr/local/nagios --with-cgiurl=/nagios/cgi-bin --with-htmurl=/nagios/ --with-nagios-user=nagios --with-nagios-group=nagios --with-command-group=nagios Compilation et installation make all make install Installation du service (démon) make install-init Installation des scripts et des droits pour l'éxécution de commandes externes make install-commandmode Installation des fichiers de configuration (fichiers par défaut) make install-config Aller dans le répertoire Nagios cd /usr/local/nagios Copyright © Technicien reseau .10.10 tar xzf nagios-2.10/ Lancer le script de configuration .

cfg-sample resource.4.cfg mv nagios.d nagios defaults Configurer le serveur Web gedit /etc/apache2/sites-enabled/nagios copier coller le texte suivant ScriptAlias /nagios/cgi-bin /usr/local/nagios/sbin Options ExecCGI AllowOverride None Order allow.cfg mv commands.4.users Require valid-user Copyright © Technicien reseau .tar cd nagios-plugins-1.10.10.deny Allow from all AuthName "Nagios Access" AuthType Basic AuthUserFile /usr/local/nagios/etc/htpasswd.cfg-sample cgi.tar.e-cv Page 24/97 .10/ .cfg-sample localhost.tar.cfg-sample nagios.4. pack de plugin officiels et essentiels télécharger nagios-plugins-1.cfg Installation du package NagiosPlugin./configure make && make install Automatiser le démarrage du sevice nagios update-rc.cfg mv localhost.cfg mv resource.tar tar -zxvf nagios-plugins-1.Nagios : Outil de supervision Création des fichiers de config principaux (rempli ici par des exemples) cd /usr/local/nagios/etc/ mv cgi.deny Allow from all AuthName "Nagios Access" AuthType Basic AuthUserFile /usr/local/nagios/etc/htpasswd.cfg-sample commands.users Require valid-user Alias /nagios /usr/local/nagios/share Options None AllowOverride None Order allow.

e-cv Page 25/97 .d/apache2 restart Création du mot de passe pour l'accès au site htpasswd -c /usr/local/nagios/etc/htpasswd. Donner les droits maximum.cgi (MAP 2D ne fonctionne pas) Copyright © Technicien reseau .Nagios : Outil de supervision Redémarrage du service apache /etc/init.users nagiosadmin Forcer les CGI a utiliser l'authentification gedit /usr/local/nagios/etc/cgi. Il faut qu'elle soit à 1 et donner les droits d'administration à l'utilisateur nagiosadmin en déconnectant les lignes souhaitées.cfg et vérifier la ligne : use_authentication=1 .cfg Si Absence fichier statusmap. Accéder au site http://localhost/nagios Lancer le service Nagios manuellement /etc/init.d/nagios start Finitions Vérifier la configuration de nagios après chaque modification des fichiers de configuration /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.

e-cv Page 26/97 .Nagios : Outil de supervision apt-get install libgd-dev Copyright © Technicien reseau .

2-1_i386./install.cgi /usr/local/nagios/sbin Installation du plugin VRML (Map 3D) télécharger et installer le paquet : openvrml-lookat puis apt-get install lesstif2 télécharger : freewrl_1.deb Installation de SNMP Pour faire fonctionner le check-SNMP pour nagios apt-get install snmp snmpd SNMP pour Debian apt-get install nmap librrds-perl libgd-gd2-perl libnet-snmp-perl tar xvf nagios-snmp-plugins.tgz cd nagios_plugins .1. faire cd /tmp/nagios-2.e-cv Page 27/97 .deb puis sudo dpkg -i freewrl_1.Nagios : Outil de supervision Dans un dossier où nagios est décompressé.1.18.10 make devclean ./configure --with-gd-lib=/usr/lib --with-gd-inc=/usr/include make cgis cd cgi cp *.18.sh Configuration SNMP Copyright © Technicien reseau .2-1_i386.

conf Copyright © Technicien reseau .e-cv Page 28/97 .Nagios : Outil de supervision nano /etc/snmp/snmpd.

/src/nrpe /usr/local/nagios/bin cp ./sample-config/nrpe./src/check_nrpe /usr/local/nagios/bin cp . Panneau de config Ajout de composant Outil de gestion et d'analyse Cocher SNMP Configuration dans Services -> SNMP Installation de NRPE pré-requis apt-get install libwww-ssl0 libwww-ssl-dev Télécharger le package NRPE tar -zxvf nrpe-2.cfg /usr/local/nagios/etc Ajouter NRPE comme un service gedit /etc/services Copyright © Technicien reseau .10.tar. Installation SNMP sous Windows Le CD de Windows vous sera peut-être demandé.Nagios : Outil de supervision commenter la ligne « com2sec paranoid default public » en rajoutant un « # » supprimer le « # » de la ligne « com2sec readonly default public ».e-cv Page 29/97 ./configure make all cp .10 .gz Installation cd nrpe-2.

7.tar.cfg Configurer le service par le fichier de configuration nsca.cfg chmod g+r /usr/local/nagios/etc/nsca.cfg /usr/local/nagios/etc chown nagios:nagios /usr/local/nagios/etc/nsca.tar cd nsca-2.2 .tar tar xzf nsca-2.Nagios : Outil de supervision et ajouter la ligne suivante nrpe 5666/tcp # nrpe.7.7.cfg Exécuter NSCA /usr/local/nagios/bin/nsca -c /usr/local/nagios/etc/nsca.d/nagios reload Installation de NSCA Télécharger le package nsca-2.2.cfg Ajouter NSCA comme un service gedit /etc/services et ajouter la ligne suivante nsca 5667/tcp # NSCA Copyright © Technicien reseau .e-cv Page 30/97 .tar. nagios monitoring service redémarrer nagios /etc/init./configure make all cp $DOWNLOADPATH$/src/nsca /usr/local/nagios/bin cp $DOWNLOADPATH$/sample-config/nsca.2.

nous avons choisis d'installer Postfix. nous avons besoin du paquet qpopper qui permet de recevoir les mail par pop.cf : Copyright © Technicien reseau . Pour la réception des mails sur un client de messagerie standard.Nagios : Outil de supervision Installation & configuration de POSTFIX Afin de permettre à Nagios d'envoyer les alertes mail par SMTP.e-cv Page 31/97 . Installation apt-get install postfix qpopper courier-base courier-authdaemon courier-imap Configuration SMTP postfix gedit /etc/postfix/main.cf /etc/postfix/main.

pem smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil. append_dot_mydomain = no # TLS parameters smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.0.0/16.key smtpd_use_tls=yes smtpd_tls_session_cache_database = btree:${queue_directory}/smtpd_scache smtp_tls_session_cache_database = btree:${queue_directory}/smtp_scache #Répertoire postfix queue_directory = /var/spool/postfix program_directory = /usr/bin daemon_directory = /usr/lib/postfix #Paramètres SMTP myhostname = localhost mydomain = iut.e-cv Page 32/97 . $mydomain.0.domain is the MUA's job.0/8 mailbox_command = procmail -a "$EXTENSION" mailbox_size_limit = 0 recipient_delimiter = + inet_interfaces = loopback-only< mail_owner = postfix myorigin = $mydomain Copyright © Technicien reseau . localhost.Nagios : Outil de supervision smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU) biff = no # appending .gtr alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases mydestination = $myhostname.$mydomain #Si l'on souhaite mettre un relais smtp #relayhost = mynetworks = 10.0. 127. localhost.26.

Nagios : Outil de supervision Configuration du client mail (exemple ici de Thunderbird) Copyright © Technicien reseau .e-cv Page 33/97 .

Nagios et ses composants Copyright © Technicien reseau .Nagios : Outil de supervision Configuration La configuration de Nagios s'effectue essentiellement dans des fichiers de configuration. Également certaines tâches peuvent s'effectuer sur l'interface Web.e-cv Page 34/97 .

e-cv Page 35/97 .Nagios : Outil de supervision /usr/local/nagios/etc/ Composition de nagios Contient les plugins Les fichiers de configurations Principal. et des CGI doivent être mis là /usr/local/nagios/libexec/ /usr/local/nagios/share/ /usr/local/nagios/bin/ /usr/local/nagios/sbin/ /usr/local/nagios/var/ /usr/local/nagios/share/images/logos/ Fichiers HTML (pour la doc et l'interface web) Ensemble des programmes Nagios Contient les scripts CGI utilisées par Nagios Répertoire vide pour le fichier de "journalisation" Ensembles des logos pour constituer la map2D Les options de notification sont d u r c w u n down unreachable recovered critical warning unknown stats none (pas de notification) Ces options seront à saisir dans les différents fichiers de configuration. Les fichiers de configuration nagios.cfg cfg_file=/usr/local/nagios/etc/timeperiods. des ressources.cfg #cfg_file=/usr/local/nagios/etc/escalations.cfg #cfg_file=/usr/local/nagios/etc/dependencies. Il contient le chemin des fichiers de configuration qui doivent être lu par Nagios cfg_file=/usr/local/nagios/etc/contactgroups.cfg Ce fichier est l'un des 1er fichiers de configuration à éditer. des objets.cfg cfg_file=/usr/local/nagios/etc/hostgroups.cfg cfg_file=/usr/local/nagios/etc/hosts.cfg Copyright © Technicien reseau .cfg cfg_file=/usr/local/nagios/etc/contacts.cfg cfg_file=/usr/local/nagios/etc/services.

Deux options nous intéresse particulièrement L' activation de l'authentification afin de limiter l'accès à l'interface web use_authentification=1 authorized_for_system_information=nagiosadmin authorized_for_configuration_information=nagiosadmin authorized_for_system_commands=nagiosadmin authorized_for_all_services=nagiosadmin authorized_for_all_hosts=nagiosadmin authorized_for_all_service_commands=nagiosadmin authorized_for_all_host_commands=nagiosadmin La définition des options d'alertes sonores en définissant un son . Valid options # include: # # # # # us euro iso8601 strict-iso8601 (MM-DD-YYYY HH:MM:SS) (DD-MM-YYYY HH:MM:SS) (YYYY-MM-DD HH:MM:SS) (YYYY-MM-DDTHH:MM:SS) date_format=euro cgi. Copyright © Technicien reseau .wav service_warning_sound=warning.wav service_unknown_sound=warning.wav normal_sound=noproblem.wav timeperiod.cfg Ce fichier définit les options d'affichage et les paramètres de sécurité pour l'interface web de nagios. par exemple le format de la date # DATE FORMAT OPTION # This option determines how short dates are displayed.e-cv Page 36/97 .wav host_down_sound=hostdown.cfg Ce fichier comporte les périodes pour laquelle l'on voudra faire des notifications.wav pour chaque type d'alertes host_unreachable_sound=hostdown.wav service_critical_sound=critical.Nagios : Outil de supervision Il propose aussi de modifier des options additionnelles.

e-cv Page 37/97 .Nagios : Outil de supervision Ici sont définit 3 périodes : 24x7 workhours nonworkhours = = = tous les jours durant les heures de travail (9h-17h) temps en dehors du temps de travail Exemple de configuration pour la période 24x7 # '24h sur 24' define timeperiod{ timeperiod_name 24x7 alias sunday monday tuesday wednesday thursday friday saturday 24 Hours A Day. 7 Days A Week 00:00-24:00 00:00-24:00 00:00-24:00 00:00-24:00 00:00-24:00 00:00-24:00 00:00-24:00 } contact. Copyright © Technicien reseau .cfg Ce fichier permet de gérer les utilisateurs qui seront alertés en cas de problème.

e-cv Page 38/97 .Nagios : Outil de supervision contact_name : Nom du contact alias : Surnom du contact ou commentaire service_notification_period services. Par défaut 24x7 : La période durant laquelle Nagios enverra des alertes concernant les service_notification_options concernant les services : Définit le type d'alerte que Nagios enverra à l'utilisateur host_notification_options concernant les hôtes : Définit le type d'alerte que Nagios enverra à l'utilisateur service_notification_commands : Définit la technologie utilisée pour envoyer les messages d'alerte des services. Par email ou par SMS : Définit la technologie utilisée pour envoyer les messages d'alerte email : Adresse email du contact pager : Numéro de téléphone du contact Copyright © Technicien reseau . Par email ou par SMS host_notification_commands des hôtes. Par défaut 24x7 : La période durant laquelle Nagios enverra des alertes concernant les host_notification_period hôtes.

Nagios : Outil de supervision
Exemple pour l'utilisateur Nagios

# utilisateur Nagios

define contact{

contact_name alias service_notification_period host_notification_period service_notification_options host_notification_options service_notification_commands host_notification_commands email

nagios Administrateur Nagios 24x7 24x7 w,u,c,r d,r notify-by-email host-notify-by-email nagios@localhost.localdomain

}

contactsgroups.cfg

Ce fichier permet d'avertir plusieurs personnes à la fois.

contactgroup_name:nom du groupe de contacts alias members :surnom du groupe de contacts ou commentaire :liste de contacts appartenant au groupe. A noter que ces contacts doivent être crées dans le fichier contacts.cfg

Exemple pour le groupe Nagios

# Groupe d'administrateur Nagios

define contactgroup{

contactgroup_name alias members

nagios Administrateur nagios nagios

}

hosts.cfg

Sert à renseigner Nagios sur les machines du réseau qui seront monitorées. Il est possible de créer un ou plusieurs

Copyright © Technicien reseau - e-cv

Page 39/97

Nagios : Outil de supervision
patrons (hôte générique) sur lesquels les autres hôtes vont se calquer. Un patron propage par héritage ses paramètres. Le but est de factoriser du code pour éviter de se répéter. C'est essentiellement ce que possède une adresse IP.

Pour le patron

name check_command

: :

nom du patron la fonction utilisée afin de déterminer dit l'hôte est en état de fonctionnement

max_check_attempts

:

nombre maximum de fois que la commande check_command sera exécutée en cas d'échec

notification_interval notification_period notification_options notification_enabled event_handler_enabled : : :

:

l'intervalle entre 2 messages d'alerte période durant laquelle Nagios enverra des messages d'alerte définit le type d'alerte qui sera notifié par Nagios définit si les notifications sont activées pour cet hôte

:

définit si le gestionnaire d'évènements est activé pour cet hôte

flap_detection_enabled

:

définit si la détection d'oscillation est activée pour cet hôte. L'oscillation intervient quand un service ou un hôte change d'état trop fréquemment

process_perf_data

:

définit si le traitement des données liées à la performance du contrôle est activée pour cet hôte

retain_status_information

:

définit si les informations liées au statut de l'hôte sont mémorisées, entre les (re)démarrages de Nagios, pour cet hôte

retain_nonstatus_information

:

définit si les informations non liées au statut de l'hôte sont mémorisées, entre les (re)démarrages de Nagios pour cet hôte

contact_groups register 0

: :

groupe de contacts responsables du groupe d'hôtes ne pas enregistrer l'objet. Est indispensable dans la création de patron

Une fois la configuration du patron, on configure les hôtes

host_name:nom de l'hôte alias use :surnom de la machine ou un commentaire :a la même valeur que celle de name dans le patron créé. C'est ainsi qu'est pris en compte un patron pour un hôte address :adresse IP de la machine

Exemple de configuration d'un patron et d'un hôte

Copyright © Technicien reseau - e-cv

Page 40/97

Nagios : Outil de supervision
# configuration du patron

define host{

name notifications_enabled event_handler_enabled flap_detection_enabled failure_prediction_enabled process_perf_data retain_status_information retain_nonstatus_information register

profil_hote 1 1 1 1 1 1 1 0

}

# Hôte 'localhost'

défine host{

use host_name alias address check_command max_check_attempts check_period notification_interval notification_period notification_options contact_groups

profil_hote localhost local machine 127.0.0.1 check-host-alive 10 24x7 120 24x7 d,r nagios

}

Copyright © Technicien reseau - e-cv

Page 41/97

cfg Ce fichier permet de configurer les services (POP.cfg Comme pour les contacts.) que l'on veut monitorer. Comme pour les hôtes. hostgroup_name:nom du groupe d'hôte alias members :surnom du groupe ou commentaire :nom des hôtes appartenant au groupe Exemple pour le groupe d'hôtes serveur # Groupe d'hôtes define hostgroup{ hostgroup_name alias members serveur serveur du domaine X localhost } services. il est possible de créer des groupes d'hôtes. FTP. Cela permet de simplifier les actions de monitoring. IMAP.Nagios : Outil de supervision hostgroups. http. il est possible de définir un ou plusieurs patrons qui simplifieront la configuration du fichier.e-cv Page 42/97 ... Pour le patron Copyright © Technicien reseau .

e-cv Page 43/97 . Un service ne l'est normalement pas.Nagios : Outil de supervision name check_period max_check_period normal_check_interval : : : nom du patron période durant laquelle Nafios va effectuer des tests nombre maximum de fois que sera exécuté le test en cas d'échec : l'intervalle entre 2 vérifications lorsque le statut est normal. et des évènements comme les alertes de sécurité qui réclament de l'attention à chaque problème retain_status_information retain_nonstatus_information Register 0 : : : même explication que pour les hôtes mais pour les services même explication que pour les hôtes mais pour les services même explication que pour les hôtes Copyright © Technicien reseau . Les services volatils sont utiles pour superviser des choses qui se remettent automatiquement en état « OK » chaque fois qu'ils sont contrôlés. Une unité de temps vaut 60 secondes retry_check_interval : l'intervalle entre 2 vérifications lorsque Nagios a découvert un problème avec le service notification_period notification_options : : période durant laquelle Nagios enverra des messages d'alerte les options qui définiront si oui ou non Nagios doit envoyer des messages d'erreur is_volatile : définit si le service est « volatil ».

configuration des services et d'un service ici PING # Patron des services define service{ name active_checks_enabled passive_checks_enabled parallelize_check obsess_over_service check_freshness notifications_enabled event_handler_enabled flap_detection_enabled failure_prediction_enabled process_perf_data retain_status_information retain_nonstatus_information is_volatile register general-service 1 1 1 1 0 1 1 1 1 1 1 1 0 0 } # Service local define service{ namelocal-service usegeneral-service check_period max_check_attempts normal_check_interval retry_check_interval contact_groups notification_optionsw.e-cv Page 44/97 .r notification_interval notification_period 60 24x7 24x7 4 5 1 nagios Copyright © Technicien reseau .c.cfg (voir 2. on configure les services use host_name :même valeur que le name utilisé pour le patron :nom de l'hôte sur lequel Nagios va monitorer le service service_description:description du service monitoré contact_groups check_command :le groupe de contact que Nagios va joindre en cas de problèmes :il s'agit de la commande à exécuter.Nagios : Outil de supervision Une fois la configuration du patron.10) Exemple de configuration d'un patron.u. Définie dans commande.

Par exemple : un pour les routeurs. un autre pour les poste windows.cfg Permet de définir des variables globales réutilisables dans les autres fichiers.cfg Contient les groupes de services. facultative mais bien pratique pour y voir clair.. Comme pour les hôtes et les services.e-cv Page 45/97 ...60% } servicegroups. resource.r 960 check_ping!100.20%!500. N'est pas accessible via les CGI qui génèrent l'interface graphique de Nagios.cfg Informations étendues sur les hôtes. commands. Pour la touche finale.Nagios : Outil de supervision register 0 } # défini le ping sur localhost define service{ use host_name service_description is_volatile max_check_attempts normal_check_interval retry_check_interval notification_options notification_interval check_command local-service localhost PING 0 4 5 1 w.0. Peut contenir des données sensibles telles que les informations de connexion à la base de données. il faudra ajouter les commandes dans ce fichier. Si l'on souhaite automatiser les nouveaux plugins installées. Copyright © Technicien reseau .cfg Ce fichier contient les commandes des plugins par défaut de Nagios. on peut créer un ou plusieurs patrons.u. hostextinfo.0.c. Il s'agit de logos graphiques et d'URL de pages web maisons.

escalations.cfg Logos graphiques à appliquer pour les services.cfg Si tout est ok.cfg Permet de définir des variables globales réutilisables dans les autres fichiers.e-cv Page 46/97 . Peut contenir des données sensibles telles que les informations de connexion à la base de données.cfg Ce fichier permet de supprimer des notifications et des contrôles actifs. à partir de l'état d'un ou plusieurs services ou hôtes. Si une erreur est présente dans un des fichiers. il faut redémarrer le service Nagios pour appliquer les modifications /etc/init.Nagios : Outil de supervision serviceextinfo. escalations.cfg Ce fichier est optionnel et est utilisé pour escalader les notifications liées à un service particulier. Ce fichier est optionnel et est principalement destiné aux utilisateurs avertis qui ont des configurations de supervision complexe. Vérification de l'intégrité des fichiers de configurations On doit procéder à la vérification des fichiers de configuration après chaque modification. taper la commande /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios. Pour vérifier les fichiers de configurations. dependancies. N'est pas accessible via les CGI qui génèrent l'interface graphique de Nagios.d/nagios restart Copyright © Technicien reseau . le processus sera stoppé immédiatement après son lancement.

et ce sont eux qui vont lancer les actions à mener en fonction de ce qui est spécifié et.cgi Ce cgi agit comme une interface WAP pour le la livraison d'information sur le réseau statuswrl. permet l'affichage des commentaires.cgi Crée une carte de toutes les stations définies sur le réseau statuswml. Liste des CGIs et leurs fonctionnalités.cgi Permet une consultation graphique des logs Copyright © Technicien reseau . ils interprètent les réponses des plugins pour les présenter dans l'interface.cgi Crée une vue 3D de toutes les stations tac.cgi Présente une vue globale de toutes les informations de Nagios outages.cgi Permet d'envoyer des commandes au processus Nagios extinfo. permet de consulter le statut courant de toutes les stations et de tous les services supervisés statusmap. les statistiques des stations et services.cgi showlog. cela donnant déjà une idée de ce qu'il est possible de faire via l'interface web status. réciproquement.cgi Permet de visualiser les fichiers de configuration cmd.Nagios : Outil de supervision Fichiers de configuration . .cgi Produit une liste des stations à problèmes sur le réseau config. Il sert aussi de point de départ aux requêtes pour cmd.e-cv Page 47/97 .cgi Donne des informations sur le processus Nagios.cgi Le plus important des CGIs dans Nagios..interdépendance CGIs Toutes les actions menées à travers l'interface sont interprétées par les CGIs (/usr/local/nagios/sbin)..

il est impossible de rajouter un commentaire à un serveur. L'exécution des commandes suivantes nécessite les privilèges root Créons le groupe nagiocmd Copyright © Technicien reseau .cmd ». de programmer des périodes d'inactivité. c'est pour éviter la prise de possession du système par le biais de ces commandes externes. il doit donc être possible de bénéficier de toutes ces fonctionnalités sans pour autant négliger la sécurité.cgi En charge de la remontée d'alarmes trends. Les commandes externes sont gérées par le fichier /usr/local/nagios/var/rw/nagios.cmd. Nous allons tout d'abord. car si Nagios. est une station dédiée et non une station publique auquel cas.cgi). ne le permet pas. tout ceci est offert via l'interface. ainsi toutes les personnes du groupe nagios n'auront pas forcément de droits sur « nagios.cgi Offre le compte-rendu des alarmes par période de temps Les commandes externes Pour des raisons de sécurité. Par exemple. Nagios ne permet par défaut que très peu d'interactions dynamiques avec les stations et les services via l'interface web. Rappelons que les droits d'accès à l'interface web et les droits d'accès au processus ou aux fichiers de configuration de Nagios sont deux choses différentes et qui sont gérées séparément. à priori. La seule chose nécessaire pour que celui-ci soit exploitable par l'interface web est de permettre au propriétaire du processus du serveur web et du processus de nagios d'accéder à ce fichier. Pourtant.cgi Permet de connaître le pourcentage de disponibilité d'une station histogram. Nous considèrerons.e-cv Page 48/97 . commencer par créer un groupe dont les futurs membres seront les personnes qui ont le droit d'effectuer des requêtes sur ce fichier.cgi Permet de créer dynamiquement des graphes des différents statuts des différentes stations et des services au cours du temps avail.cgi Permet la visualisation de l'historique des pannes notifications.cgi Permet de créer dynamiquement des graphes concernant la disponibilité d'une station summary. de demander un contrôle de service immédiat ou d'effectuer toute autre action qui sort du domaine de la consultation et rentre dans la redéfinition des contrôles et des commandes (accès à cmd.Nagios : Outil de supervision history. dans la définition des droits. il faudrait encore affiner la gestion de ces droits. que nous allons fixer la station où est installé Nagios.

e-cv Page 49/97 .Nagios : Outil de supervision groupadd nagioscmd Copyright © Technicien reseau .

Il devrait être facile d'identifier facilement le propriétaire. pour cela. il faut impérativement redémarrer le serveur web /etc/init.cfg =>mettre à 1 la ligne : check_external_commands=0 Pour que cela fonctionne.Nagios : Outil de supervision Le propriétaire du processus du serveur apache.d/apache2 restart Copyright © Technicien reseau . l'utilisateur « apache » ou « nobody » selon les distributions linux. généralement.cfg pour autoriser les commandes externes gedit /usr/local/nagios/etc/nagios.cmd chmod g+rwx /usr/local/nagios/var/rw/nagios.nagioscmd /usr/local/nagios/var/rw chmod u+rwx /usr/local/nagios/var/rw chmod g+rwx /usr/local/nagios/var/rw chmod g+s /usr/local/nagios/var/rw ls -al /usr/local/nagios/var Alors nous pouvons donner les droits appropriés au fichier même chown nagios.cmd Il faut également modifier le fichier nagios.e-cv Page 50/97 .cmd chmod u+rwx /usr/local/nagios/var/rw/nagios. dans notre cas. il s'agit de l'utilisateur « www-data ». il faut exécuter les commandes suivantes chown nagios. rajouter « www-data » et « nagios » (ndr : le propriétaire du processus nagios car nous avons utilisé l'option -with-nagios-user=nagios) au groupe « nagiocmd ». Il nous faut donc.nagioscmd /usr/local/nagios/var/rw/nagios. Pour ce faire usermod -G nagioscmd nagios usermod -G nagioscmd www-data Il faut maintenant donner les droits appropriés au répertoire « rw » contenant le fichier.

Permet d'activer/désactiver le contrôle d'un ou de tous les services pour une station spécifique ou d'un sous ensemble de stations Permet d'activer/désactiver la remontée d'alarme d'un ou de tous les services pour une station spécifique ou d'un sous ensemble de stations. mais perdons en sécurité.cmd. Reprogrammer l'horaire de contrôle de tous les services d'une station spécifique. de manière ponctuelle ou régulière. Fermer / redémarrer Nagios Permet d'activer/désactiver. démarrer/arrêter le contrôle passif de services. Reprogrammer l'horaire d'un contrôle d'un service. Effacer un commentaire. il faut savoir qu'il est en fait possible de réaliser des scripts afin de programmer des actions à mener à des horaires spécifiques. Sauvegarder/consulter des informations d'états sur les services et stations Maintenant que nous avons vu les possibilités offertes par de telles commandes via l'interface web. il faut maintenant travailler sur le serveur web lui-même en le rendant inaccessible de l'extérieur par exemple.cfg grâce à la ligne Copyright © Technicien reseau . Pour ce faire. il faut rentrer les commandes dans le fichier /usr/local/nagios/var/rw/nagios. Effacer tous les commentaires liés à une station d'un coup.Nagios : Outil de supervision Les commandes externes sont maintenant actives. Pour renforcer la sécurité.e-cv Page 51/97 . La périodicité où cela est réalisé est à préciser dans /usr/local/nagios/etc/nagios. Retarder l'horaire de la prochaine remontée d'alarme pour la surveillance d'un service sans affecter les remontées d'alarmes pour la station associée. Retarder l'horaire de la prochaine remontée d'alarme pour la surveillance d'un service. nous y gagnons grandement en interactivité. ainsi de façon régulière nagios va vérifier les commandes externes à réaliser. Ajouter un commentaire aux services d'une station de façon permanente ou non. Les principales fonctionnalités des commandes externes sont : Ajouter un commentaire à l'une de nos stations de façon permanente ou non. Demander le contrôle immédiat de tous les services d'une station spécifique.

ce qui fait de Nagios un logiciel léger et évolutif. de voir quels outils celui-ci recherche et d'installer les paquetages adéquats. Voilà en fait pourquoi sans plugins. Ces plugins se trouvent dans le répertoire /usr/local/nagios/libexec/ Création de la status map Placer les images dans /usr/share/nagios/images/logos/ Création du fichier dans /usr/local/nagios/etc/ hostextinfo. il va créer les plugins adéquats . mais va se servir des outils présents sur le système. il n'est pas capable seul de superviser un service. alors. C'est un des grand plus de Nagios. il est possible de développer ses propres plugins pour un outil que l'on aimerait utiliser. lorsque nous lançons la configuration de l'installation des plugins. en regardant la configuration de l'installation des plugins de Nagios.cfg Copyright © Technicien reseau . et bien voilà où rentrent en jeu les plugins ! En fait. On peut se demander alors comment nagios est capable d'utiliser ces outils puisque ceux-ci sont extérieurs au programme. c'est aussi une des restrictions de nagios puisque si nous n'avons pas l'outil adéquat. et le nombre d'outils que celui-ci connaît est limité et à fortiori le nombre de plugins aussi. Néanmoins. Nagios est totalement inutile. ce qui se passe c'est que Nagios recherche sur le système tous les logiciels qu'il connaît. et plus la station contiendra de paquetages et de librairies orientées réseaux et plus nagios deviendra fonctionnel.e-cv Page 52/97 . Il est donc possible. mais cela implique des coûts de développement. plugins qui vont en fait faire le lien entre le programme nagios et les outils réseaux de la machine. alors en fonction de la configuration de la station.Nagios : Outil de supervision command_check_interval=-1 Les plugins Un plugin utilise en fait les outils présents sur la machine où celui-ci est installé. Cependant. qui n'incorpore pas directement de libraires et d'exécutables.

Elle permet de connaitre l'état de ses stations.cfg cfg_file=/usr/local/nagios/etc/hostextinfo. On peut découper l'interface Nagios en six grandes parties : services et hôtes pannes et problèmes actions processus Nagios Copyright © Technicien reseau .e-cv Page 53/97 .cfg xedtemplate_config_file=/etc/nagios/hostextinfo. Une aide à la configuration est aussi proposée.cfg Redémarrer le service Nagios après chaque modification. Conclusion Cette configuration basée sur des templates (modèles) facilite grandement la découverte de ces fichiers et présente souvent une idée très précise des fonctionnalités prises en charge par les différentes lignes.Nagios : Outil de supervision Exemple de contenu define hostextinfo{ host_name hp1 icon_image base/ng-switch40. Ainsi.gd2 vrml_image base/ng-switch40.cfg Puis dé-commenter la ligne suivante dans nagios. consulter les historiques (pannes et actions) ainsi que de générer des graphes. Présentation de l'interface web L'interface Web propose à l'utilisateur un tableau de bord efficace pour superviser son réseau. il est assez rapide de découvrir l'interdépendance des fichiers et la localisation des modifications à faire pour adapter (et non créer) la configuration à son réseau.gd2 } Ajouter la ligne suivante dans le fichier cgi.png statusmap_image base/ng-switch40.

non fonctionnels. soit par un ping si aucun service n'est défini). où l'on trouve l'essentiel des informations importantes sur le bon fonctionnement du système d'informations supervisé. par équipement. il suffit de cliquer sur un lien sur fond rouge pour aller directement à la liste des problèmes. des services supervisés.. alarmes en cours. Elle permet de naviguer facilement. services fonctionnels. si elles sont vues sur le réseau (soit par le biais d'une vérification par plugins. Cette vue peut être lourde si il y a un parc important avec un grand nombre de services supervisés. Host Detail La liste des machines. mais avec les regroupements par hostgroup. Hostgroup overview La même liste que précédemment. Cette vue rassemble les informations quantitatives essentielles au 1er abord : nombre d'équipements supervisés.Nagios : Outil de supervision reporting configuration Service et hôtes Tactical overview C'est la vue synthétique.e-cv Page 54/97 .. Service detail La liste exhaustive. Cela permet une vue rapide sur un Copyright © Technicien reseau .

Downtime Permet de prévoir à l'avance l'arrêt de la supervision d'un hôte ou d'un service pour une période donnée. Pannes et problèmes Service problems Affiche sous forme de tabulations les services qui sont WARNING ou CRITICAL. avec indication du nombre d'équipements et de services dans les différents états possibles. une vue des machines. avec en regard les services (par leur nom) et leur état (par la couleur). Status Map Cette carte des états.Nagios : Outil de supervision sous-ensemble de votre parc (par serveurs.e-cv Page 55/97 . permet de voir les relations de dépendances entre objets telles qu'elles ont été configurées.etc). Elle n'a cependant que peu d'intérêts hormis le côté dépendances. Hostgroup grid Toujours par groupe d'équipements. Hostgroup summary Une vue encore plus synthétique par hostgroup. par client. en 2D. Processus Nagios Copyright © Technicien reseau . Actions Comments Cette page permet d'ajouter un commentaire particulier sur un hôte ou un service. Host problems Affiche sous forme de tabulations les hôtes qui sont WARNING ou CRITICAL.

Copyright © Technicien reseau . avec en plus les informations remontées par les plugins. Reporting Trends Les grandes tendances sur le parc supervisé.escalades. Notifications Donne l'historique de tous les échanges entre Nagios et ses utilisateurs (alertes. telles que le nombre de requêtes sur les hôtes ou sur les services réalisés depuis 5 minutes. Affichage sous forme de graphique. Scheduling Queue Liste la file d'attente des requêtes à faire. Alert histogram C'est le rapport des alertes sous forme d'histogrammes. Alert history C'est une vue synthétique des dernières alertes remontées (que ce soit un problème ou un retour à la normale). Performance info Indique les performances du système Nagios. mais sous forme tabulaire.acquittements).Nagios : Outil de supervision Process info Donne des informations sur le processus Nagios qui tourne sur la machine.e-cv Page 56/97 . services. Cette disponibilité est fonction non seulement du temps de bon fonctionnement d'un serveur. Availability La disponibilité par machine. Alert summary Quasiment la même information que le point précédent. ou bien le temps de réponse des requêtes. groupe de services. groupe de machines. mais aussi de tous ces services.

Nagios : Outil de supervision Event log Le journal des évènements. Conclusion Nagios a réussi à créer une interface vraiment très intuitive puisqu'elle conserve les propriétés inhérentes à la navigation d'un site web classique en présentant un menu sur la gauche et un cadre principal où les informations apparaissent.e-cv Page 57/97 .cfg C'est le fichier où les définitions de la commande check_nrpe sont définies. Configuration View config Cette page est en sorte une vue web des fichiers de configuration en mode texte. Installation et configuration Coté Nagios Configurer le fichier /usr/local/nagios/etc/commands. qui donne un peu la même information que le point précédent. Son but est de renvoyer les informations de supervision aux serveurs nagios. Le journal contient aussi les arrêts et redémarrages de Nagios. Surveillance & plugins Serveurs Windows Nsclient++ Introduction Nsclient++ est un démon installé sur un client de nagios Windows. Copyright © Technicien reseau . mais sous une forme différente.

Nagios : Outil de supervision # 'check_nrpe' define command{ command_name command_line } check_nrpe $USER1$/check_nrpe $ARG1$ -H $HOSTADDRESS$ -c $ARG2$ Copyright © Technicien reseau .e-cv Page 58/97 .

This is a comma-delimited list of IP address of hosts that are allowed to talk to the all daemons.0/24 will allow anyone on that subnet access # On met ladresse du réseau allowed_hosts=10. If leave this blank anyone can access the deamon remotly (NSClient still requires a valid password). tape : NSClient++ /install Cela installera le démon sur windows qui se mettra alors en service. Dans cet example.168. il faut configurer le fichier NSC. nous avons check_disk_c qui analysera la taille utilisée sur le disque dur Windows # NRPE Windows Surveillance HDD define service{ use host_name service_description is_volatile max_check_attempts normal_check_interval retry_check_interval notification_options notification_interval check_command } 1 check_nrpe!!check_disk_c 4 1 1 w. Ensuite.e-cv Page 59/97 .u.0/16 Le répertoire que check_disk va analyser est c :\ATI\*.48.r local-service solnic NSCLIENT++ Windows HDD C ows 0 Coté serveur Windows Dans le bon répertoire et en ligne de commande. The syntax is host or ip/mask so 192.Nagios : Outil de supervision Configurer le fichier /usr/local/nagios/etc/services. .cfg C'est pour configuer les services à monitor.* Serveurs Linux NRPE Introduction Copyright © Technicien reseau .c. .105.* check_disk_c=inject CheckFileSize ShowAll MaxWarn=100M MaxCrit=110M File:WIN=c:\ATI\*.0.ini : ALLOWED HOST ADDRESSES .

Notes : Quand il tourne en mode démon. soit comme un service inetd. Vue d'ensemble L'addon de NRPE se compose de deux morceaux : Le check_nrpe plugin. mais il impose également des processus de traitement coûteux(unité centrale de traitement) sur le serveur de surveillance et sur les machines éloignées à surveiller. check_nrpe . Note : Il est possible d'exécuter des plugins de Nagios sur les machines à distance par SSH. qui réside sur la machine de surveilance locale le démon NRPE. L'agent nrpe peut soit fonctionner en mode démon standalone.Plugin utilisé pour envoyer des requêtes sur l'agent nrpe de la machine distante nrpe . Il y a un check_by_ssh plugin qui permet de le faire. et retournera les données de sortie et le code de retour au plugin check_nrpe de la machine Nagios. qui démarre sur la machine à distance Copyright © Technicien reseau . des encapsuleurs TCP [TCP wrappers] peuvent être utilisés pour restreindre l'accès à l'agent nrpe. L'addon de NRPE est conçu pour permettre d'exécuter des connexions de Nagios sur les machines à distance. etc. un agent comme NRPE doit être installé sur les machines à distance.Fichier de configuration pour les agents des machines distantes Cet ajout est conçu pour permettre l'exécution de plugins sur une machine distante. L'agent nrpe exécutera le plugin approprié sur la machine distante. Employer SSH est plus sécurisé que l'addon de NRPE. Puisque ces ressources publiques ne sont pas habituellement exposées aux machines externes.cfg . Le plugin check_nrpe envoie la sortie du plugin distant et le code de retour à Nagios comme si c'était le sien. utilisation de mémoire.) sur les machines à distance. l'agent nrpe identifie les requêtes d'exécution des plugins en effectuant une comparaison rudimentaire de l'adresse IP de la machine appelante avec une liste d'adresses IP présentes dans le fichier de configuration Quand il tourne sous inetd. La raison principale de ce programme est de permettre à Nagios de surveiller les ressources « locales » (CPU. Cela permet d'exécuter les plugins de manière transparente sur les machines distantes.e-cv Page 60/97 .Nagios : Outil de supervision But Permet d'exécuter des plugins sur des machines distantes de manière transparente et relativement aisée. Une réflexion est à mener quand on commence à surveiller des centaines ou des milliers de machines.Agent qui tourne sur la machine distante et exécute les requêtes du plugin nrpe. Le plugin check_nrpe tourne sur la machine Nagios et est utilisé pour envoyer les requêtes d'exécution du plugin à l'agent nrpe de la machine distante. Nous avons ainsi opté pour l'addon de NRPE en raison de la charge inférieure qu'il impose.

Exemples d'utilisation Contôles directs L'utilisation pertinente de l'addon de NRPE est de surveiller les ressources locales ou « privées » sur une machine à distance Linux. etc. les états de processus. Contrôles indirects On peut également employer l'addon de NRPE pour vérifier indirectement des services et des ressources « publiques Copyright © Technicien reseau . Ceci inclut des contrôles comme la charge d'unité centrale de traitement. les utilisateurs courants.Nagios : Outil de supervision Quand Nagios doit surveiller une ressource de service d'une machine à distance : Nagios exécutera le check_nrpe plugin et lui indiquera quel service doit être vérifié Le plugin de check_nrpe contacte le démon de NRPE sur le centre serveur à distance (option) via un raccordement SSL protégé le démon de NRPE démarre le plugin Nagios approprié pour vérifier le service ou la ressource les résultats du contrôle de service sont passés du démon de NRPE au check_nrpe plugin. l'utilisation de mémoire. l'utilisation de disque. qui renvoie alors les résultats de contrôle au processus de Nagios. Note : Le démon de NRPE exige que les connexions de Nagios soient installées sur le centre serveur à distance Linux/Unix. le démon nrpe ne pourrait rien surveiller. l'utilisation d'échange. Sans ces dernières.e-cv Page 61/97 .

De plus.Nagios : Outil de supervision » des serveurs à distance qui ne pourraient pas être accessibles directement du centre serveur de surveillance. utilisent cette application qui vient s'interfacer entre les demandes d'accès à un service et le service même. ce qui offre un degré de contrôle d'accès et de journalisation du client Copyright © Technicien reseau . Par exemple. TCP Wrappers est installé par défaut lors des installations de classe Serveur de Red Hat Linux offrant toute une gamme d'avantages lors de l'utilisation de différents types de service. si l'hôte à distance ou le démon et les plugins de NRPE sont installés cherche à communiquer avec un web server à distance (sans pouvoir communiquer avec le centre serveur de surveillance).e-cv Page 62/97 . TCP Wrappers et xinetd contrôlent les accès à l'aide du nom d'hôte et de l'adresse IP. But de TCP Wrappers Un nombre important de services réseau modernes font usage de TCP wrappers . on peut configurer le démon de NRPE pour surveiller le server web à distance indirectement. ces outils comprennent des fonctions de journalisation et de gestion simple à configurer. Les pare-feu servent à contrôler les accès depuis et vers un réseau donné. des pré-requis sont nécessaires : Disposer des droits d'administration (accès root sur la machine à distance à surveiller et accès au compte de l'utilisateur nagios sur le seveur de surveillance) Disposer d'une connexion à Internet configurée et activée Avoir activé l'accès au dépôt APT 'universe' Un serveur web Apache fonctionnel Suppositions Ces instructions supposent que vous installez le NRPE addon sur un système qui soutient des TCP wrappers* et a le superserveur xinetd installé. SSH. Installation Pré recquis Pour la suite des opérations. Le démon de NRPE agira essentiellement en tant que proxy dans ce cas. Telnet et FTP. chacun disposant de ses propres méthodes de contrôle d'accès. Le concept à la base de TCP wrappers est de "regrouper" la cible de la demande à un autre programme plutôt que de laisser une connexion client entrante communiquer directement avec un démon de service réseau exécuté en tant que processus séparé sur un système serveur. Note : TCP Wrappers et xinetd Le contrôle d'accès aux réseaux peut se révéler une opération complexe. par exemple. mais leur configuration est parfois difficile.

Les fonctions de TCP wrappers sont fournies par le fichier libwrap. compilés à cet effet.e-cv Page 63/97 . Red Hat Linux regroupe les applications TCP wrappers et les bibliothèques dans le fichier RPM tcp_wrappers-<numéro-version>. peuvent être compilés avec libwrap. D'autres services réseau.10. Avantages de TCP wrappers Lorsque quelqu'un cherche à se connecter à un serveur où est installé TCP wrappers. Le programme wrapper ne renvoie pas directement ces informations au client . une bibliothèque utilisée par les services réseau. Nous installerons les plugins Nagios et le démon NRPE. simplifiant ainsi leur gestion Installation du serveur à distance (Hôte) Ces instructions devraient être complétées(achevées) sur l'hôte à distance sur lequel le démon NRPE sera installé.tar. Cela permet aux applications d'utiliser un même ensemble de fichiers de configuration.10.a pour en utiliser les fonctions. tels que xinetd.4. il se retire sans ultérieur signe d'activité pour la poursuite de la communication entre serveur et client. sshd et portmap.Nagios : Outil de supervision essayant d'effectuer la connexion beaucoup plus élevé. une fois les conditions de contrôle d'accès satisfaites.4.tar Copyright © Technicien reseau .tar tar -zxvf nagios-plugins-1. définir un compte Passer en mode root et créer un utilisateur adduser nagios passwd nagios paramétrer les connexions vers Nagios Extraire le code source des plugins de nagios : apt-get install nagios-plugins-1. Les avantages de TCP Wrappers par rapport aux méthodes traditionnelles de contrôle sont doubles : Le client qui se connecte n'est pas au courant de sa présence . le "wrapper" établit un rapport détaillant le nom du service demandé et les informations concernant l'hôte client. TCP Wrappers est indépendant des applications en cours qu'il a pour but de protéger. Les utilisateurs habilités ne perçoivent aucune différence et les malintentionnés ne reçoivent aucune information quant au pourquoi du refus d'accès.a. même des programmes réseau que vous écrivez.tar.

10.10 .Nagios : Outil de supervision Compiler et installer les plugins : cd nagios-plugins-1.e-cv Page 64/97 ./configure --disable-ssl (option ssl désactivée lors de la compilation et changement du port par defaut) make make install-plugin make install-daemon make install-daemon-config Copyright © Technicien reseau ./configure make make install installer xinetd apt-get install xinetd make install xinetd installer le démon nrpe Télécharger le tarball de NRPE sur le lien suivant : http://sourceforge.gz Compiler et installer le demon : cd nrpe-2.10 .tar.4.net/project/showfiles.php?group_id=26589&package_id=40241 pré-requis apt-get install libwww-ssl0 libwww-ssl-dev Extraire le code source du demon : tar -zxvf nrpe-2.

d/xinetd start examiner le démon nrpe vérifions que le demon nrpe est démarré sous xinetd netstat -at | grep nrpe la commande doit afficher : tcp 0 0 *:nrpe *:* LISTEN Copyright © Technicien reseau .e-cv Page 65/97 .0.d/nrpe et ajouter l'adresse Ip du serveur de surveillance dans l'attribut only_from only_from = 127.0.Nagios : Outil de supervision installer le demon NRPE comme un service sous xinetd make install-xinetd accorder les permissions chown nagios:nagios /usr/local/nagios chown -R nagios:nagios /usr/local/nagios/libexec éditer le fichier /etc/xinetd.1 <nagios_ip_address> et ajouter la ligne suivante pour le demon nrpe dans le fichier /etc/services file nrpe 5666/tcp # NRPE redémarrer le service xinetd /etc/init.

10 règles du firewall Assurons-vous que le pare-feu local sur la machine permettra au démon NRPE d'avoir accès aux serveurs à distance en introduisant une nouvelle règle d'iptables iptables -A INPUT -p tcp --dport 5666 -j ACCEPT iptables-save -c Installation du serveur de surveillance (Nagios) Sur la machine qui exécute Nagios.Nagios : Outil de supervision Puisqu'on a installer le fameux chek_nrpe (issue de la ligne de commande make install-plugin) pour tester la configuration en local. on va lancer : /usr/local/nagios/libexec/check_nrpe -H localhost qui doit nous retourner : NRPE v2. Copyright © Technicien reseau .e-cv Page 66/97 . nous devons : Installer le plugin check_nrpe Créer une définition de commande de Nagios pour utiliser le plugin check_nrpe Créer l'hôte de Nagios et les définitions de service pour contrôler l'hôte à distance installation check_nrpe Installer le plugin check_nrpe : apt-get install nagios-nrpe-plugin vérifier la communication avec le demon nrpe On s'assure que le plugin check_nrpe peut parlet au démon NRPE sur l'hôte distance.

e-cv Page 67/97 .Nagios : Outil de supervision /usr/local/nagios/libexec/check_nrpe -H localhost Copyright © Technicien reseau .

Ouvrez le fichier commands. /usr/local/nagios/etc/commands.Nagios : Outil de supervision qui doit nous retourner : NRPE v2X si cela ne marche pas. /usr/local/nagios/etc/services.cfg # 'check_nrpe' define command{ command_name command_line } check_nrpe $USER1$/check_nrpe -n -H $HOSTADDRESS$ -c $ARG1$ Nous sommes prêts à commencer à ajouter les services qui devraient être contrôlés sur la machine à distance via la configuration de Nagios.cfg pour rédiger...e-cv Page 68/97 .cfg Copyright © Technicien reseau .. Ces définitions peuvent être placées dans leur propre fichier ou ajoutées à un fichier de configuration déjà existant. créer des définitions de service pour l'hôte à surveiller On doit créer quelques définitions d'objet pour contrôler la machine à distance. les point suivants sont à vérifier : s'assurer qu'il n'y a pas de pare-feu entre l'hôte éloigné(à distance) et le serveur nagios qui bloque la communication s'assurer que le démon NRPE est installé correctement sous xinetd s'assurer que l'hôte à distance n'a pas de pare-feu local(iptables)empêchant le serveur nagios de parler au démon NRPE définir un compte On va créer une définition de commande dans un de nos fichiers de configuration de Nagios pour utiliser le plugin check_nrpe..

Il écoute et attend les résultats de contrôle d'hôtes et de Copyright © Technicien reseau .c 60 check_nrpe!check_disk1 local-service jollud NRPE Linux HDD1 0 remettre en marche nagios Vérifiez les fichiers de configuration de Nagios /etc/nagios/nagios.e-cv Page 69/97 . Fonctionnement Un deamon est installé sur le server NAGIOS : NSCA Nsca. Ce programme fonctionne comme demon sur l'hôte Nagios.fichier de configuration pour la nsca démon.d/nagios restart Serveurs Linux & Windows NSCA] Définition Le client NSCA.Nagios : Outil de supervision Un exemple pour le check-disk : # NRPE Linux Surveillance HDD define service{ use host_name service_description is_volatile max_check_attempts normal_check_interval retry_check_interval notification_options notification_interval check_command } 4 1 1 w.cfg . exécute régulièrement des vérifications selon la planification qui a été décidée en local. Il envoie ensuite les résultats au serveur Nagios qui les traitera lorsqu'il le souhaitera.cfg -v redémarrer le serveur nagios /etc/init. installé directement sur la machine supervisée.

Linstallation se fait donc sur le serveur nagios. En effet.fichier de configuration pour la send_nsca clients. si elles n'ont pas la meme acrchitecture ou S. Le daemon nsca doit avoir les droits suffisants pour ouvrir ce fichier en écriture (nsca. Cet add-on permet d'envoyer les résultats des vérifications passives depuis des serveurs distants vers un centre de surveillance de l'hôte qui tourne Nagios.cfg et send_nsca. un router ou une imprimante mais seulement les serveurs ou les ordinateurs classiques. comme les informations sont envoyées par le client NSCA.cfg) et qu'il est surveillé. le daemon nsca rejettera toutes les données qui seront envoyées.Nagios : Outil de supervision services. Surveillance des services Copyright © Technicien reseau .cfg). Avantages et inconveniants l'utilisation du module NSCA présente l'avantage de ne pas avoir à ouvrir de ports sur le firewall du réseau du client NSCA.e-cv Page 70/97 . Une installation est aussi nécéssaire sur les serveurs distants (windows ou linux) : Send_ncsa Send_nsca.cfg ! Si ce n'est pas fait. Il faut s'assurer de spécifier le même mot de passe dans les deux fichiers nsca. De même. NSCA ne peut pas être installé sur un commutateur. En revanche il faudra ouvrir les ports du firewall du réseau local du serveur Nagios.cfg . Nagios ne traite les contrôles passifs trouvés dans les fichiers de commande externe que si un service a été défini dans le fichier de configuration des hôtes (hosts. Bien sur ce problème ne se pose pas si on exécute le client NSCA sur le réseau local ou se trouve le serveur Nagios Les communications sont aussi chiffrées avec SSL De la même manière que pour NRPE. Mais il faut le compiler sur les machines distantes.E que ceux du serveur NSCA. il suffit de permettre le passage des informations dans le sens sortant du firewall.

on peut vérifier des services ou des protocoles. il faut installer et configurer sur la machine Nagios des plugins.e-cv Page 71/97 .Nagios : Outil de supervision Présentation Avec Nagios. Voici une liste non exhaustive des plugins disponibles : Un exemple de tableau Nom du plugins check_oracle check_snmp check_by_ssh check_log check_dhcp check_http check_pgsql check_ssh check_icmp check_ping check_disk check_pop check_tcp check_mysql check_time check_udp check_nntp check_nntps check_ntp check_ftp check_smtp Utilisation Vérifie les bases de données Oracle Vérifie le protocole snmp Vérifie un service via le protocole SSH Vérifie les fichiers de log Vérifie le service DHCP Vérifie le protocole http Vérifie les bases de données PostgreeSQL Vérifie le protocole ssh Vérifie le protocole icmp Détermine le statiques de la connexion d'un hôte Vérifie le pourcentage des disques utilisés Vérifie le protocole POP Vérifie le protocole tcp Vérifie les bases de données MySQL Vérifie le temps Vérifie le protocole UDP Vérifie le protocole nntp Vérifie le protocole nntps Vérifie le protocole ntp Vérifie le protocole ftp Vérifie le protocole smtp Exemples : check_disk et check_dns check_disk Copyright © Technicien reseau . Pour cela.

version) : montre la version. -p (&mdash. -c (&mdash. -h (&mdash.path=PATH ou &mdash.partition=PARTTION) : vérifie les partitions précisés (toutes si non précisés).e-cv Page 72/97 .critical=INTEGER ou --warning=PERCENT%) : permet de configurer le seuil critique de l'espace disque dismonible (en Kilo-octets ou en pourcentage). -v (&mdash. Utilisation : Copyright © Technicien reseau . -m (&mdash.help) : montre l'aide de la commande. -V (&mdash. et génère une alerte lorsque le pourcentage dépasse un seuil.mountpoint) : pour préciser le point de montage de la partition.verbose) : affichage des détails de la ligne de commande (ne pas utiliser avec le serveur Nagios).Nagios : Outil de supervision Le plugin check_disk permet de connaître le pourcentage d'espace disque utilisé sur un système de fichiers. check_dns Le plugin check_dns vérifie le protocole DNS pour un hôte. Utilisation : check_disk _w limit -c limit [-p path] [-t timeout] [-m] [--verbose] check_disk (-h|--help) check_disk (-V|--version) Options : -w (--warning=INTEGER ou --warning=PERCENT%) : permet de configurer le seuil d'alerte d'espace disque disponible en (Kilo-octets ou en pourcentage).

Nagios : Outil de supervision check_dns -H host [-s server] [-a expected-address] [-t timeout] check_dns -help check_dns --version Copyright © Technicien reseau .e-cv Page 73/97 .

-a (&mdash.help) : pour avoir de l'aide sur la commande.timeout=INTEGER) : définir la valeur du timeout en seconde (par défaut : 10). il utilise un compte manager pour extraire des informations sur le serveur Asterisk.hostname=HOST) : nom ou adresse de l'hôte à vérifier.expected-address=IP-ADDRESS) : adresse IP optionnel où seront envoyer les retour du DNS.Nagios : Outil de supervision Options : -H (&mdash. Les plugins check_SIP et check_asterisk vérifient le fonctionnement du service via le protocle SIP. -V (&mdash.version) : pour avoir la version. Voip Différents plugins nagios existent et permettent de surveiller un serveur Asterisk. il leur faut donc pour fonctionner un utilisateur sip. -s (&mdash.server=HOST) : serveur DNS optionnel pour faire le test. Le plugin check_asterisk_alive permet de connaitre le statut du serveur Asterisk. Check SIP Copyright © Technicien reseau .e-cv Page 74/97 . -h (&mdash. -t (&mdash.

11 4 5 1 240 24x7 24x7 c.Nagios : Outil de supervision gedit /usr/local/nagios/etc/commands.cfg define service{ use host_name service_description check_command max_check_attempts normal_check_interval retry_check_interval notification_interval check_period notification_period notification_options } local-service ServeurAsterisk test SIP check_sip!sip:300@10.105.cfg define command{ command_name command_line } check_sip $USER1$/check_sip -u $ARG1$ -w 5 gedit /usr/local/nagios/etc/services.48.e-cv Page 75/97 .r Copyright © Technicien reseau .

11 } Copyright © Technicien reseau .cfg define service{ use host_name service_description check_command } local-service ServeurAsterisk check asterisk check_asterisk!sip:300@10.cfg define service{ use host_name service_description local-service ServeurAsterisk check asterisk alive check_commandcheck_asterisk_alive!nagios!nagiosadm!10.Nagios : Outil de supervision Check_asterisk apt-get install sipsak cp /usr/bin/sipsak /usr/local/bin gedit /usr/local/nagios/etc/commands.cfg define command{ command_name command_line } check_asterisk $USER1$/check_asterisk -U $ARG1$ -w 100 -c 500 gedit /usr/local/nagios/etc/services.48.105.105.cfg define command{ command_name command_line } check_asterisk_alive $USER1$/check_asterisk_alive -u $ARG1$ -p $ARG2$ -H $ARG3$ gedit /usr/local/nagios/etc/services.e-cv Page 76/97 .11 check_asterisk_alive gedit /usr/local/nagios/etc/commands.48.

Par exemple. par exemple. Copyright © Technicien reseau . comme. car pour certaines salles. il est important de connaître la température et certains autre données de ce genre. la température. il existe la gestion des événements (ou Event Handlers en anglais). The TempTraxTM Model E Sensatronics.Nagios : Outil de supervision Données environnementales Nagios permet de contrôler des données environnementales.e-cv Page 77/97 . Nagios s'est associé avec la société Temptrax qui fournit deux thermomètres : l'un se branchant sur le réseau (Model E) et l'autre se branchant sur un port série (Model F). un gestionnaire d'événement peut être un script qui va tenter de relancer un serveur http qui vient de changer de statut. comme les salles serveurs ou les salles de brassages. Ces données peuvent être très utiles. LLC La gestion des événements Présentation Parmi les différents optionnalités qu'offre Nagios. Les gestionnaires d'événements sont des scripts shell qui essayent de résoudre automatiquement les problèmes avant de les notifiés. il faut installer des boîtiers qui les mesurent (comme les thermomètres) dans les salles souhaités. Pour que Nagios puisse surveiller ces données. et les brancher sur le réseau.

cfg : define command{ command_name restart-httpd command_line /usr/local/nagios/libexec/eventhandlers/restart-httpd $SERVICESTATE$ $STATETYPE$ $SERVICEATTEMPT$ } Il nous faut maintenant écrire notre script restart-httpd : Copyright © Technicien reseau .cfg : define service{ host_name service_description max_check_attempts event_handler japet HTTP 4 restart-httpd } Nous appelons une commande. celle-ci doit donc être définie dans le fichier checkcommands.e-cv Page 78/97 . Fichier de configuration services.Nagios : Outil de supervision Les scripts doivent être placés dans ce répertoire : /usr/local/nagios/libexec/eventhandlers/ Exemple Voici un exemple de script shell pour redémarrer un serveur http.

essayons une # dernière fois de redémarrer le serveur http.Nagios : Outil de supervision #!/bin/sh # # Event handler script pour redémarrer le serveur httpd # # $1 correspond en fait à l'argument 1 de la fonction restart-httpd. WARNING) # Cette état n'engendre pas d'actions ....d/httpd restart . à savoir ici #$SERVICESTATE$.. sinon il est encore temps pour # les remontées d'alarmes. # comme ça éventuellement le 4ème contrôle de nagios découvrira # un retour à la normale après redémarrage ou sinon nous # passerons en hard state 3) echo -n "Restarting HTTP service (3rd soft critical state).. esac ." /etc/rc. donc on ne fait rien . donc on regarde ici dans quel état est le service case "$1" in OK) # Le service est revenu.e-cv Page 79/97 ..d/init. CRITICAL) # Le serveur http semble avoir un problème.d/init. peut être faut-il le # redémarrer # On regarde si c'est un statut SOFT ou un statut hard # ici $2 c'est $STATETYPE$ case "$2" in # Sommes nous en SOFT ? SOFT) # Nous sommes en soft state mais nous attendons que nagios ait # fini au moins 3 contrôles avant de lancer nos actions de # redémarrage #ici $3 c'est $SERVICEATTEMPT$ case "$3" in # Au bout du 3ème contrôle nous redémarrons le serveur http.d/httpd restart .. peut être # retournerons-nous à la normale. on ne fait rien . echo -n "Restarting HTTP service.. #sommes nous en hard state ? HARD) # Malgré nos efforts nous sommes en hard state. esac Copyright © Technicien reseau .. UNKNOWN) # On ne connaît pas les raisons de l'erreur.." /etc/rc.

.Nagios : Outil de supervision .e-cv Page 80/97 . esac exit 0 Copyright © Technicien reseau .

Le fait de sauver les informations Nagios dans une base de données permet de les traiter de manière indépendante. Présentation NDOutils est une suite de composants NDOMOD Event Broker Module Exporte les données du service Nagios LOG2NDO Utility Importe l'historique Nagios et les fichiers log netsaint vers la base de données avec le service NDO2DB FILE2SOCK Utility Il lit les données d'un fichier et les écrit au format Unix domain socket ou TCP socket NDO2DB Daemon Transfère les données provenant des composants NDOMOD et LOG2NDO et les sauvegarde dans la base de données MySQL ou PostgreSQL Méthode à un seul serveur Nagios.Nagios : Outil de supervision Base de données nagios NDOutils L'addon NDOutils est créé pour sauvegarder dans une base de données toute la configuration et les événements nagios. La base de données peut être Mysql ou bien postgresSQL. Ces données peuvent être traitées dans une application qui va générer des graphes et autres outils de visualisation. N instances : Copyright © Technicien reseau . 1 seule instance : Méthode à plusieurs serveurs Nagios.e-cv Page 81/97 . avec un gain de performance.

4b7.Nagios : Outil de supervision Installation Installation de mysql apt-get install mysql-server mysql-client dbconfig-common libmysqlclient15-dev phpmyadmin Extraction des fichiers sources tar xzf ndoutils-1.e-cv Page 82/97 .4b7 Compilation ./configure make Copyright © Technicien reseau .tar.gz cd ndoutils-1.

On lui donne les droits nécessaires.e-cv Page 83/97 .4b7 Copyright © Technicien reseau .Nagios : Outil de supervision Copie des binaires dans /nagios/bin cd src/ cp ndomod-2x. Création des tables On retourne dans le répertoire ndoutils-1.o ndo2db-2x log2ndo file2sock /usr/local/nagios/bin Création de la base donnée Avec phpmyadmin créer l'utilisateur et sa base donnée associée Ici la base de données s'appelle nagiosbd avec comme propriétaire l'utilisateur nagiosbd.

Nagios : Outil de supervision cd db ./installdb -u nagiosdb -p nagiosadmin -h localhost -d nagiosdb Copyright © Technicien reseau .e-cv Page 84/97 .

e-cv Page 85/97 .cfg # SAMPLE NAGIOS CONFIG SNIPPET FOR NDOMOD # # In order to have Nagios run the NDOMOD event broker module.cfg # Uncomment the line below if you're running Nagios 3. Il vous faut rentrer les paramètres comme le nom de la base de données. Mise en place du service Cette commande démarre le service /usr/local/nagios/bin/ndo2db-2x -c /usr/local/nagios/etc/ndo2db.x #broker_module=/usr/local/nagios/bin/ndomod-3x. you'll need # to place a statement like the one found below in your main Nagios # configuration file (nagios.Nagios : Outil de supervision Configuration Rajouter au fichier nagios. Adjust the paths.cfg Pour qu'elle soit exécutée au démarrage.cfg). etc.cfg ndo2db. # Uncomment the line below if you're running Nagios 2. il suffit de créer le script suivant dans /etc/init.4b7 cd config cp ndomod. le nom d'utilisateur.o config_file=/usr/local/nagios/etc/ndomod.cfg On retourne dans le répertoire ndoutils-1.o config_file=/usr/local/nagios/etc/ndomod. to suit your needs.cfg /usr/local/nagios/etc Editer les fichiers ndomod. mot de passe etc.x broker_module=/usr/local/nagios/bin/ndomod-2x.d/ Copyright © Technicien reseau .cfg pour compléter la configuration.cfg et ndo2db.

" .d/ndo2db start|stop|restart|reload|force-reload" exit 1 ." . restart) echo -n "Restarting ndo2db daemon: ndo2db" start-stop-daemon --stop --quiet --exec $Ndo2dbBin start-stop-daemon --start --quiet --exec $Ndo2dbBin -..Nagios : Outil de supervision #!/bin/sh # Start/stop the nsca daemon. # # Contributed by Andrew Ryder 06-22-02 # Slight mods by Ethan Galstad 07-09-02 Ndo2dbBin=/usr/local/nagios/bin/ndo2db-2x Ndo2dbCfg=/usr/local/nagios/etc/ndo2db." .-c $Ndo2dbCfg --daemon echo ".cfg test -f $Ndo2dbBin || exit 0 case "$1" in start) echo -n "Starting ndo2db daemon: ndo2db" start-stop-daemon --start --quiet --exec $Ndo2dbBin -.." .e-cv Page 86/97 . stop) echo -n "Stopping ndo2db daemon: ndo2db" start-stop-daemon --stop --quiet --exec $Ndo2dbBin echo ". reload|force-reload) echo -n "Reloading configuration files for ndo2db daemon: ndo2db" # ndo2db reloads automatically echo ". esac exit 0 Copyright © Technicien reseau ... *) echo "Usage: /etc/init..-c $Ndo2dbCfg echo ".

Il utilise NDoutils afin de récupérer les données de Nagios.0 0.tar.1.0 0. solution : rm /usr/local/nagios/var/ndo.cfg nagios 309 0. Cet Addon est un exmemple d'utilisation de la base donnée gérée par NDOutils.d ndo2db defaults Contrôle de l'installation il ne reste qu'à vérifier que les processus ont bien été démarré ps aux | grep nagios nagios 3679 0.2 nagvis mv nagvis /usr/local/nagios/share ls -l /usr/local/nagios/share/nagvis/ Vous devriez voir les répertoires nagvis et wui si tout est ok Copyright © Technicien reseau .2.cfg Bug rencontré au bout de quelques jours d'utilisation. Installation tar xvzf nagvis-1. le service ne veux plus démarrer.1.Nagios : Outil de supervision Puis l'activer au démarrage de la machine sudo update-rc.sock Exemple d'utilisation Nagvis Nagvis est un addon de cartographie pour Nagios.3 20820 1848 ? Ssl Jul11 1:55 /usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.gz mv nagvis-1.0 3604 320 ? Ss 13:39 0:00 /usr/local/nagios/bin/ndo2db -c /usr/local/nagios/etc/ndo2db.e-cv Page 87/97 .

Nagios : Outil de supervision cd /usr/local/nagios/share/nagvis Copyright © Technicien reseau .e-cv Page 88/97 .

Copyright © Technicien reseau .Nagios : Outil de supervision Faire une copie de sauvegarde du fichier de conf cp nagvis/etc/config.php.php Il faut configurer Nagvis pour qu'il puisse utiliser la base de donner NDOutils vi nagvis/etc/config.ini.ini.ini.php chmod 775 /usr/local/nagios/share/nagvis/nagvis/images/maps chmod 664 /usr/local/nagios/share/nagvis/nagvis/images/maps/* chmod 775 /usr/local/nagios/share/nagvis/nagvis/etc/maps chmod 664 /usr/local/nagios/share/nagvis/nagvis/etc/maps/* Utilisation de nagvis http://127.0.e-cv Page 89/97 .ini.php Donner les permissions suffisantes chown www-data:www-data /usr/local/nagios/share/nagvis -R chmod 664 /usr/local/nagios/share/nagvis/nagvis/etc/config.0.dist nagvis/etc/config.1/nagios/nagvis/ Nagvis permet de construire des plans du réseau à partir des données de nagios.

ram. afin de les centraliser vers un seul et unique serveur et de générer des graphiques consultables via une simple page web. espace disques .e-cv Page 90/97 .Nagios : Outil de supervision Munim Munin est un logiciel écrit en Perl capable de collecter des données sur différentes machines (charges cpu...). aptitude install munin apache2 Paquet munin-node sur les PC à surveiller. réseau. aptitude install munin-node Configuration Passons maintenant à la configuration de munin via le fichier /etc/munin/munin. L'application se divise en deux parties : munin : serveur centralisant les données munin-node : client à installer sur chaque machine Installation Paquets Munin et apache 2 sur le PC de surveillance.conf Copyright © Technicien reseau .

11 use_node_name yes Copyright © Technicien reseau .48.Nagios : Outil de supervision # Dépôt des rapports (apache) htmldir/var/www/munin # Répertoire de la base de données dbdir /var/lib/munin # Répertoire des logs logdir /var/log/munin # Répertoire des exécutables rundir /var/run/munin # Emplacement des templates tmpldir /etc/munin/templates # Nous monitorons ce serveur [example.com] address 10.e-cv Page 91/97 .105.

tar.du.gz cd asterisk-munin cp * /usr/share/munin/plugins cd /usr/share/munin/plugins Donner les bons droits aux exécutables du plugin chmod 755 .10$ Puis redémarrer munin-node /etc/init.0\.e-cv Page 92/97 .conf # logs log_level 4 log_level /var/log/munin/minin-node.d/munin-node restart Vous devriez avoir des stats disponibles à l'adresse ! http://ip.105\.log # port port 4949 # Liste des adresses IP autorisées à se connecter allow ^127\.Nagios : Outil de supervision Maintenant passons à la configuration de munin-node en éditant /etc/munin/munin-node.1$ allow^10\.0\.48\./asterisk* Création des liens pour tous les plugins Copyright © Technicien reseau .serveur/munin Plugin Asterisk Copier les fichiers du plugin dans le répertoire /usr/share/munin/plugins directory tar xvzf asterisk-munin.

e-cv Page 93/97 .Nagios : Outil de supervision ln -s /usr/share/munin/plugins/asterisk_name /etc/munin/plugins/asterisk_name ln -s /usr/share/munin/plugins/asterisk_channels /etc/munin/plugins/asterisk_channels ln -s /usr/share/munin/plugins/asterisk_channelstypes /etc/munin/plugins/asterisk_channelstypes ln -s /usr/share/munin/plugins/asterisk_codecs /etc/munin/plugins/asterisk_codecs ln -s /usr/share/munin/plugins/asterisk_console /etc/munin/plugins/asterisk_console ln -s /usr/share/munin/plugins/asterisk_iaxchannels /etc/munin/plugins/asterisk_iaxchannels ln -s /usr/share/munin/plugins/asterisk_iaxlag /etc/munin/plugins/asterisk_iaxlag ln -s /usr/share/munin/plugins/asterisk_iaxpeers /etc/munin/plugins/asterisk_iaxpeers ln -s /usr/share/munin/plugins/asterisk_meetme /etc/munin/plugins/asterisk_meetme ln -s /usr/share/munin/plugins/asterisk_meetme_ /etc/munin/plugins/asterisk_meetme_ ln -s /usr/share/munin/plugins/asterisk_meetmeusers /etc/munin/plugins/asterisk_meetmeusers ln -s /usr/share/munin/plugins/asterisk_sipchannels /etc/munin/plugins/asterisk_sipchannels ln -s /usr/share/munin/plugins/asterisk_sippeers /etc/munin/plugins/asterisk_sippeers ln -s /usr/share/munin/plugins/asterisk_voicemail /etc/munin/plugins/asterisk_voicemail Copyright © Technicien reseau .

Nagios : Outil de supervision
Installation de "Perl Net ::Telnet module"

apt-get install libnet-telnet-perl

Création du manager sur le serveur Asterisk

/etc/asterisk/manager.conf

[general] enabled = yes port = 5038 bindaddr = 0.0.0.0 displayconnects = yes

[check_asterisk_user] secret = your_password deny=0.0.0.0/0.0.0.0 permit=127.0.0.1/255.255.255.0 permit=10.48.0.0/255.255.255.0

read=system,call,log,verbose,command,agent,user write=system,call,log,verbose,command,agent,user

Pour chaque plugin, nous devons changer le username et le mot de passe

* Remplacer: my $username = $ENV{'username'}; my $secret = $ENV{'secret'};

* Par: my $username = 'nagios'; my $secret = 'nagiosadm';

Amélioration du plugin "asterisk_sippeers"

nano /usr/share/munin/plugins/asterisk_sippeers

Modifier la ligne 95 :

Copyright © Technicien reseau - e-cv

Page 94/97

Nagios : Outil de supervision
$result = $result + 1 if ((split ' ',$line)[4] > 0);

Copyright © Technicien reseau - e-cv

Page 95/97

Nagios : Outil de supervision
par :

$result = $result + 1 if ((split ' ',$line)[4] =~ m/\([0-9]+/ ) or ((split ' ',$line)[5] =~ m/\([0-9]+/ );

Redémarage de munin-node

/etc/init.d/munin-node restart

Détail des plugins
asterisk_channels asterisk_codecs asterisk_channels asterisk_iaxpeers asterisk_iaxchannels asterisk_sippeers asterisk_sipchannels asterisk_meetme asterisk_meetme asterisk_meetmeusers asterisk_voicemail nombre de canaux actifs nombre de canaux actifs par codec utilisé nombre de canaux actifs nombre de peer IAX connectés nombre de canaux IAX actifs par codec utilisé nombre de peer SIP connectés nombre de canaux SIP actifs par codec utilisé nombre de conférences actives nombre d'utilisateurs dans une salle spécifique nombre d'utilisateurs dans les conférences actives

Munin est un très bon complément à Nagios, il ne remonte pas d'alertes mais permet d'avoir une surveillance graphique de la charge d'un serveur. Il permet aussi de faire des statistiques sur une année. Le plugin Asterisk nous permet de visuliser graphiquement l'utilisation de la voip, en mesurant des variables tels que le nombre et le temps d'utilisation des codecs, le temps d'utilisation du protocole SIP etc. Conclusion Nagios permet de mettre en place une solution de supervision à moindre coût, mature et pérenne, avec un panel de Plugin large et toujours en augmentation.

Sa capacité à monitorer les services sur les différents serveurs d'un réseau s'avère efficace, en effet, les alertes visuelles et mails nous ont paru satisfaisants.

Les outils libres tels que NSCLIENT++, NRPE, NSCA et SNMP permettent de toucher un grand nombre d'équipements réseau à surveiller, ce qui fait donc de Nagios un produit assez large. Toutefois certains matériels réseau nécessitent toujours une plateforme de surveillance propriétaire. Nagios seul est souvent insuffisant.

Copyright © Technicien reseau - e-cv

Page 96/97

De part ses alarmes. la fonctionnalité de graphes de Nagios nous a paru assez pauvre. Pourtant.Nagios : Outil de supervision Cependant. Sites Web Fichiers d'installation & configuration Nagios. sa mise en place nécessite une prise en main assez longue mais au final.org Nagios Exchange Munin Copyright © Technicien reseau .e-cv Page 97/97 . s'avère toutefois payante. logs et graphes. Nagios permet à l'administrateur de faire une analyse à long terme de son réseau. L'utilisation de l'outil de supervision Munin qui génère des graphes très pointus nous semble très appropriée pour combler cette lacune.