SUPERVISION RESEAU 10/10/2010 Installation de FAN FAN est une distribution GNU/Linux basée sur la distribution CentOS. Son objectif est de fournir une installation de Nagios garnie de tous les outils que met à disposition la communauté Nagios.
Supervision réseau I N S TA L L A T I O N D E F A N PRESENTATION DE FAN... 3 Distribution... 3 LOGICIELS PRÉSENTS... 4 Nagios... 4 Centreon... 5 Nareto... 6 Nagvis... 6 OBJECTIF... 7 Améliorer la supervision... 7 Les avantages de cette distribution en comparaison à l ancienne solution :... 7 INSTALLATION DE FAN... 8 CONFIGURATION... 10 Connexion en SSH... 10 Restauration de la configuration existante... 10 Sauvegarde de la configuration existante... 11 PARAMETRAGE DE CENTREON... 12 Ajout d un host... 12 Ajout d un service... 13 Gestion des modèles «hôtes»... 14 Gestion des modèles «Services»... 15 NAGVIS... 16 Création d une nouvelle carte.... 16 Les objets... 17 Rotation... 18 CONCLUSION... 19 Récapitulatif de commande pratique :... 19 ANNEXES... 20 Mini lexique... 20 Script de restauration... 21 Script de sauvegarde... 22 *voir lexique Page 1
Ce document est : - Une procédure O d installation de FAN O Restauration d une configuration existante ainsi que d une sauvegarde O De configuration simple - Une description des fonctions supplémentaires en comparaison à la solution existante Ce document n est pas : - Une reproduction du document créé pour l installation de l ancienne version - Un descriptif de toutes les possibilités de la distribution utilisée - Une procédure de configuration détaillée *voir lexique Page 2
PRESENTATION DE FAN Le but de FAN est de fournir une installation incluant les outils les plus utilisés de la communauté Nagios. FAN est un CDRom distribué au format ISO. Il est donc très facile à installer. Ajouté à ceci, un large panel d outils est inclus dans la distribution facilitant ainsi la mise en œuvre d une plateforme de supervision efficace. Distribution FAN est base sur CentOS. Ajoutés à cela, tous les packages CentOS sont disponibles, de sorte que vous conservez tous les avantages de CentOS avec les outils Nagios pré-installés et configurés pour vous. Outils intégrés au projet : Nagios : cœur de la supervision Nagios plugins : plugins pour superviser différents équipements Centreon : interface web pour Nagios (Centreon est l un des meilleurs pour cela!) NagVis : cartographie avancée (géographique, fonctionnelle, par services...) NDOUtils : stocke les données Nagios dans une base MySQL NRPE : permet de superviser les serveurs Windows (le démon NRPE n est pas fourni) NaReTo (Nagios Reporting Tools) : outil de reporting (rapport de disponibilité) *voir lexique Page 3
LOGICIELS PRÉSENTS Nagios Nagios (anciennement appelé Netsaint) est une application permettant la surveillance système et réseau. Elle surveille les hôtes et services que vous spécifiez, vous alertant lorsque les systèmes vont mal et lorsqu ils vont mieux. C'est un logiciel libre sous licence GPL. C'est un programme modulaire qui se décompose en trois parties : 1. Le moteur de l'application qui vient ordonnancer les tâches de supervision. 2. L'interface web, qui permet d'avoir une vue d'ensemble du système d'information et des possibles anomalies. 3. Les plugins, une centaine de mini programmes que l'on peut compléter en fonction des besoins de chacun pour superviser chaque service ou ressource disponible sur l'ensemble des ordinateurs ou éléments réseaux du SI. *voir lexique Page 4
Centreon Centreon est un logiciel de surveillance et de supervision réseau, basé sur le moteur de récupération d'information libre Nagios. Centreon fournit une interface simplifiée pour rendre la consultation de l'état du système accessible à un plus grand nombre d'utilisateurs, y compris des non-techniciens, notamment à l'aide de graphiques. Les techniciens ont cependant toujours accès aux informations techniques de Nagios. En juillet 2007, le logiciel Oreon change de nom pour devenir Centreon. Fonctionnalités : Une interface multi-utilisateur intuitive et personnalisable Une interface de configuration évoluée pour configurer le périmètre à superviser Des aides à la configuration Un compte-rendu complet sur les incidents *voir lexique Page 5
Nareto NaReTo (Nagios Reporting Tools) est une interface de haut niveau à Nagios. NaReTo se base sur les informations de Nagios pour fournir des vues de plus haut niveau à différentes catégories d'utilisateurs. Avec NaReTo, on définit un arbre de navigation. En affectant des droits spécifiques à certains noeuds de l'arbre, on limite la vue aux utilisateurs. Actuellement, trois vues sont disponibles: le Temps réel, le Reporting, l'historique des Alarmes et le Suivi des Alarmes. Supervision réseau Nagvis Nagvis est un module de visualisation. Il permettant de créer des vues «métiers» de la supervision. Il est possible de coupler Nagvis à un Schéma réseau et ainsi mettre en relation les données de Nagios en temps réel sur le schéma. Schéma Nagvis : *voir lexique Page 6
OBJECTIF Améliorer la supervision La supervision du réseau était effectuée par Centreon 1.4.1 additionné à Nagios 2.9. L interface de contrôle ne localisait pas le problème, elle montrait juste l importance des problèmes par la visualisation de deux graphiques (camembert). Les avantages de cette distribution en comparaison à l ancienne solution : Installation simplifiée Autorafraichissement des interfaces web Simplification du paramétrage Ex : Modèle d hôte* et de service* prédéfini Cartographie des sites supervisés *voir lexique Page 7
INSTALLATION DE FAN L installation de FAN est identique à celle d un CentOS classique. Celle-ci est plutôt rapide, intuitive et ne nécessite pas de commentaire. Une fois terminée elle pèse environ 1Go. *voir lexique Page 8
Nagios se démarre au démarrage. Interface réseau La commande suivante permet de configurer les interfaces réseau du serveur : # SYSTEM-CONFIG-NETWORK Une fois la connexion internet active, on peut passer à l installation de l interface graphique. Installer l environnement graphique # YUM --EXCLUDE=NAUTILUS-SENDTO GROUPINSTALL "GNOME DESKTOP ENVIRONMENT" "X WINDOW SYSTEM" TELECHARGE ET INSTALLE L ENVIRONNEMENT GRAPHIQUE # STARTX Démarre GNOME *voir lexique Page 9
CONFIGURATION Connexion en SSH Afin de se connecter un SSH, je propose d utiliser «putty», il suffit de le lancer, de cocher «SSH» et d y rentrer l adresse IP du serveur distant. Restauration de la configuration existante La configuration LAFON est stockée sur un ftp. Afin de la rétablir, vous lancerez un script que l on va récupérer sur ce même FTP. On se connecte sur le ftp # LFTP FTP://NAGIOS:NAGIOS@FTP.LAFON.FR On récupère le script LFTP NAGIOS@FTP.LAFON.FR:~>GET RESTAURATION.SH LFTP NAGIOS@FTP.LAFON.FR:~>QUIT Puis on le lance #./RESTAURATION.SH *voir lexique Page 10
Après il faut actualiser et redémarrer nagios, car les fichiers de configuration de nagios sont généré par centreon. Cela conclu la restauration de la distribution. Pour cela on va se connecter à l interface web de centreon : HTTP://IPSVR/CENTREON/AUTOLOGON.PHP Puis allez dans Configuration/nagios Cochez comme ci-dessus puis cliquez sur exporter. Sauvegarde de la configuration existante On récupère le script de sauvegarde de la même façon que le script de restauration. # LFTP FTP://NAGIOS:NAGIOS@FTP.LAFON.FR LFTP NAGIOS@FTP.LAFON.FR:~>GET BACKUP.SH LFTP NAGIOS@FTP.LAFON.FR:~>QUIT #./BACKUP.SH Une archive écrasera l ancienne sauvegarde sur le ftp distant. *voir lexique Page 11
PARAMETRAGE DE CENTREON HTTP://IPSVR/CENTREON/AUTOLOGON.PHP Ajout d un host Configuration Hôtes ajouté Il suffit de renseigner que les informations concernant la machine à superviser, le reste sera géré avec des modèles prédéfinis. Nom de l hôte Alias Adresse IP / DNS Modèles multiples de l hôte Nom de l hôte Description adresse de l hôte Sélection du modèle ex : serveur-win2k3 windows 2003 serveur *voir lexique Page 12
Ajout d un service Configuration Services ajouté Comme précédemment, il suffit de renseigne les informations concernant le service à superviser, le reste sera géré avec des modèles prédéfinis. Description Modèle de service Nom du service supervisé Sélection du modèle, ex : generic-service service standard Commande de vérification commande qui exécute le contrôle du service à superviser *voir lexique Page 13
Gestion des modèles «hôtes» Configuration Hôtes Modèles ex : generic-host Les modèles sont utilisés afin de faciliter la configuration de masse. Dans les modèles suivants nous allons configurer les alertes ainsi que les notifications en rapport avec l état des «hôtes supervisé». Commande de vérification Tentatives maximums de contrôle Intervalle normale de contrôle «check_host_alive» effectue un ping nombre de tentatives de communication qu effectuera Nagios avant de passer le statut du Host en Down s il ne répond pas ; nombre de minutes entre chaque essai Les notifications des Hosts seront envoyées aux membres du groupe «Supervisors» Intervalle de notifications temps en minutes entre chaque notification 0 une seule notification en cas d alerte *voir lexique Page 14
Gestion des modèles «Services» Les modèles de service fonctionnent à l identique que les modèles d hôtes. *voir lexique Page 15
NAGVIS HTTP://IPSVR/NAGIOS/NAGVIS NagVis va nous permettre de créer une carte interactive du réseau. Pour y accéder, il suffit de cliquer sur son icône à l écran principal de FAN. S affiche alors ceci : Création d une nouvelle carte. Pour créer une nouvelle carte, ou même gérer NagVis, il faut cliquer sur «Edit current map», puis cliquer droit sur la fenêtre qui s est ouverte (voir impression d écran suivante). Cliquer sur Manage à Maps permettra d ouvrir une fenêtre dans laquelle nous pourrons créer une nouvelle carte, renommer, supprimer ou exporter une carte existante et importer une carte déjà exportée. *voir lexique Page 16
A la création d une nouvelle carte, il ne faut pas oublier de donner les droits de lecture et d écriture à l utilisateur qui gérera la carte. Il faut aussi penser à choisir une image d arrière-plan (Manage à Backgrounds dans le menu du clic droit pour en ajouter une). Une fois la carte créée, vous pourrez la modifier à votre guise, toujours grâce au clic droit. En premier lieu, l idéal serait de mettre une image de background qui convient. Pour cela, il faut tout d abord envoyer une nouvelle image de fond comme expliqué plus haut, puis il faut modifier la carte. Les objets Via le menu Add Object, toujours encore obtenu à partir d un clic droit sur la carte, il est possible d ajouter plusieurs types d objets. En fait, ce sont eux qui vont donner l état et des détails concernant vos hosts et vos services de Nagios. En effet, lorsque l on ajoute par exemple une icône associée à un host, celle-ci sera d une couleur ou d une autre suivant l état du host. En plus de cela, il est possible d en voir les détails en laissant le curseur de la souris sur l icône. Il en va de même pour les lignes, qui peuvent aussi être des flèches (que j ai utilisées pour représenter mes services surveillant les débits importants). Cicontre, un exemple de ce que l on peut obtenir comme informations. *voir lexique Page 17
Rotation Supervision réseau Nagvis propose un module pour alterner l affichage de plusieurs cartes. Cela permet aussi de rafraîchir l affiche d une carte. Pour cela il faut aller modifier le fichier de configuration de nagvis. #NANO /ETC/NAGIOS/NAGVIS.INI.PHP (nano n est pas installé de base «#YUM INSTALL NANO») Et écrire les lignes suivantes [rotation_exemple] Rotationid= «exemple» Maps= «carte_de_france, reseau_bassens» Interval=15 Nom de la rotation paramétrée nom des cartes à faire tourner intervalle de rotation en secondes *voir lexique Page 18
CONCLUSION Maintenant Fully Automated Nagios est prêt à fonctionner! Récapitulatif de commande pratique : #SYSTEM-CONFIG-NETWORK configuration du réseau #/ETC/INIT.D/NETWORK RESTART redémarre le réseau #STARTX démarre l environnement graphique #SERVICE NAGIOS STOP stop nagios #SERVICE NAGIOS START start nagios *voir lexique Page 19
ANNEXES Mini lexique Hôtes Appareils destinés à être supervisés. Exemple : serveur, routeur Services Contrôle effectué sur l hôte. Comme le contrôle des disques. Modèle «Objet destiné à être imité.» Configuration type, afin de la standardiser. *voir lexique Page 20
Script de restauration Restauration.sh #!/bin/bash echo restauration de la config FAN cd / #Récupération sur un ftp USER=nagios PASSWD=nagios HOST=ftp.lafon.fr lftp ftp://$user:$passwd@$host -e "get Gbackup.tar;quit" #suppression des cartes nagvis par défaut rm -rf /usr/share/nagios/nagvis/etc/maps/*.* tar xvf Gbackup.tar rsync -av /backup/usr/share/centreon /usr/share/ rsync -av /backup/usr/share/nagios /usr/share/ rsync -av /backup/etc/nagios /etc/ rsync -av /backup/etc/centreon /etc/ rsync -av /backup/usr/lib/nagios /usr/lib/ rsync -av /backup/var/www /var/ rsync -av /backup/etc/httpd /etc/ chmod -R 777 /var/www/ /usr/lib/nagios/ /etc/centreon/ /etc/nagios/ /usr/share/centreon/ /usr/share/nagios/ /etc/httpd/ /etc/cron.d/ #restauration bdd mysql -u root centreon2 < /backup/centreon2.sql rm -rf backup Gbackup.tar *voir lexique Page 21
Script de sauvegarde backup.sh #!/bin/bash echo sauvegarde FAN mkdir -p /backup/usr/share/ /backup/etc/ /backup/usr/lib/ /backup/var/ rsync -av --delete /usr/share/centreon /backup/usr/share/ rsync -av --delete /usr/share/nagios /backup/usr/share/ rsync -av --delete /etc/nagios /backup/etc/ rsync -av --delete /etc/centreon /backup/etc/ rsync -av --delete /usr/lib/nagios /backup/usr/lib/ rsync -av --delete /var/www /backup/var/ rsync -av --delete /etc/httpd /backup/etc/ # backup bdd mysqldump -u root centreon2 > /backup/centreon2.sql cd / tar -vcf Gbackup.tar /backup #sauvegarde sur un ftp USER=nagios PASSWD=nagios HOST=ftp.lafon.fr lftp ftp://$user:$passwd@$host -e "put Gbackup.tar;quit" #Suppression des fichiers générés rm -rf backup Gbackup.tar *voir lexique Page 22
ENLEVER L AUTHENTIFICATION DE NAGIOS Je me suis rendu dans le répertoire /etc/httpd/conf.d/nagios.conf Puis j'ai modifier les lignes surlignées en jaune. # SAMPLE CONFIG SNIPPETS FOR APACHE WEB SERVER # Last Modified: 11-26-2005 # # This file contains examples of entries that need # to be incorporated into your Apache web server # configuration file. Customize the paths, etc. as # needed to fit your system. ScriptAlias /nagios/cgi-bin "/usr/lib/nagios/cgi" <Directory "/usr/lib/nagios/cgi"> # SSLRequireSSL Options ExecCGI AllowOverride all Order allow,deny Allow from all # Order deny,allow # Deny from all # Allow from 127.0.0.1 AuthName "Nagios Access" AuthType Basic AuthUserFile /etc/nagios/htpasswd.users Require valid-user </Directory> Alias /nagios "/usr/share/nagios" <Directory "/usr/share/nagios"> # SSLRequireSSL Options None AllowOverride all Order allow,deny Allow from all # Order deny,allow # Deny from all # Allow from 127.0.0.1 AuthName "Nagios Access" AuthType Basic AuthUserFile /etc/nagios/htpasswd.users Require valid-user SetEnv REMOTE_USER nagiosadmin Satisfy Any </Directory> *voir lexique Page 23
CONNECTION AUTOMATIQUE DE CENTREON Afin que centreon puisse se connecter automatique, j'ai mis en place un Autologon. Pour cela j'ai copié et renommé le fichier «index.php» en «autologon.php». Puis à la fin de la page j'y ai intégé quelque ligne de code java script. <!-- AJOUT POUR AUTOLOGON --> <script language="javascript"> document.login.useralias.value="nagiosadmin"; document.login.password.value="nagiosadmin"; document.login.submit.click(); </script> *voir lexique Page 24