Procédure Nagios
Transcription
Procédure Nagios
Christian NLANDU Meryeme EL AYACHI TS2 SIO Procédure Nagios Nagios est un logiciel de supervision destiné à vous informer de problèmes éventuels dans votre système d’informations avant que vos clients, utilisateurs ou managers ne le fassent. I- LAMP Avant d'installer Nagios, on installe d'abord les bases: LAMP. LAMP signifie Linux.Apache.MySQL & PhP. Elle désigne un ensemble de logiciels libres permettant de construire des serveurs de sites web. Elle nous sera utile pour le programme Nagios. Linux: Effectuez une mise à jour sur la machine Linux avec les commandes : « apt-get update » & « apt-get upgrade » Apache2: On installe Apache2, lancer la commande : « apt-get install apache2 » MySQL: Ici on va installer le MySQL serveur et client avec cette commande : « apt-get install mysql-server mysql-client ». Durant l'implantation de MySQL, il vous demandera de mettre un nouveau mot de passe pour l'administrateur « root ». Puis, confirmez-le. PhP: Dernière étape, on passe à l'installation de PhP : « apt-get install php5 php5-mysql libapache2-mod-php5 ». Ensuite, on va créer un fichier .php dans /var/www pour vérifier s'il fonctionne ou pas avec Apache : « nano /var/www/phpinfo.php » Dans ce texte, on insère « <?php phpinfo(); ?> » et on sauvegarde. II- Installation Nagios Maintenant que le LAMP est configuré, on peut mettre en place Nagios : "apt-get install nagios3" Durant la procédure, il vous demandera un nouveau mot de passe pour le login Nagiosadmin. Une fois terminé, ouvrez un navigateur web et tapez l'adresse "http://adresse_ip_machine/nagios3" (l'authentification vous sera demandé) III- Ajouter un nouvel hôte & 2 services Avant d'ajouter un nouvel hôte, positionnons nous dans /etc/nagios3 pour créer un dossier c'est dedans qu' on créera un nouveau fichier (ne pas oublier l'extension .cfg). Dans le fichier de configuration /etc/nagios3/nagios.cfg , on lui déclare que les nouveaux hôtes se trouvent dans un fichier avec l'option cfg_file=le_chemin_du_fichier. Je trouve qu'il sera plus simple d'utiliser l'option cfg_dir car Nagios va chercher dans le dossier ou les fichiers cfg (hôtes, services et groupes) sont produits. Revenez dans le dossier pour ouvrir le ficher vide et faire ceci : - Création d'un hôte: define host { use host_name alias address hostgroups } generic-host V-Win7 Virtual Win 7 PC 172.16.50.48 V-Machines ; Ici on utilise un template (par défaut) ; Le nom qu'on donne à un hôte ; Son alias ; L'adresse IP de l'hôte ;Membre d'un groupe "V-Machines" define host { use host_name alias address hostgroups } generic-host V-DNS Virtual DNS 172.16.50.55 V-Machines ; Ici on utilise un template (par défaut) ; Le nom qu'on donne à un hôte ; Son alias ; L'adresse IP de l'hôte ;Membre d'un groupe "V-Machines" On peut aussi créer un groupe d'hôtes : define hostgroup { hostgroup_name alias } V-Machines Virtual Machines ; Le nom qu'on donne au groupe ; Son alias Maintenant qu'un hôte a été déclaré, il faudra maintenant lui associer un service ou plusieurs. Par exemple, on va tester la disponibilité de l'hôte avec le service 'PING'. Faire la chose suivante: define service { use host_name service_description check_command } generic-service ; Ici on utilise un template (par défaut) V-Win7 ; Hôte à qui on lui associe le service Ping ; Son alias check_ping!100.0,20%!500.0,60% ; On fait appel à la commande Enregistrer le fichier et faites "service nagios3 reload" ou "/etc/init.d/nagios3 reload" (ou bien à la place de reload, restart). Votre hôte doit être visible sur l'interface web Nagios. On va ajouter un deuxième service qui est la vérification du disque dur d'un serveur DNS tournant sur Windows (c'est-à-dire sa capacité totale, capacité disponible, etc...) avec la commande check_nt. Pour cela, il faudra télécharger NSClient++ pour la machine Windows. Attention aux versions 32bits et 64bits (Pour le vérifier, voir dans Panneau de configuration > Système et sécurité > Système) Durant l'installation de NSClient++, il vous demande de rentrer l'adresse IP de Nagios avec son mot de passe. Une fois installé, redémarrer le NSClient++ (Démarrer > Exécuter et taper « services.msc ») et ensuite faire un clique droit dessus, une fenêtre apparait et dans l'onglet "Connexion", Sélectionner Ouvrir une session en tant que « Compte système local » et cocher « Autoriser le service à interagir avec le Bureau ». Sur le serveur Nagios, on va se rendre dans le répertoire /usr/lib/nagios/plugins ou l'on va retrouver toute une liste de plugins dont un qui va nous intéresser est le check_nt. Faire la chose suivante: Tapez : "./check_nt -H adresse_ip_de_la_machine -p port NSClient (12489 par défaut) -v USEDDISKSPACE -s 'mot_de_passe' -l lettre_de_la_racine_windows (ex. "c" pour c:\) -w (seuil avertissement) 80 -c (seuil critique) 90" Il vous retourne les détails du disque dur de la machine windows (capacité totale, capacité disponible, etc...) On va ensuite se positionner dans le répertoire /etc/nagios-plugins/config , dans le fichier nt.cfg pour créer une sorte de boîte qui va contenir la commande à rappeler et des arguments. Exemple, ici j'ai crée ma boîte "verifdskw". define command { command_name verifdskw command_line /usr/lib/nagios/plugins/check_nt -H '$HOSTADDRESS$' -p 12489 -s '$ARG1$' -v '$ARG2' -l '$ARG3$' -w '$ARG4$' -c '$ARG5$' } Enregistrer le fichier nt.cfg puis on va retourner sur le fichier de configuration des hôtes. Ajoutez maintenant ce service : define service { use generic-service ; Ici on utilise un template (par défaut) host_name V-DNS ; Hôte à qui on lui associe le service service_description Disk capacity ; Son alias check_command verifdskw!azerty!USEDDISKSPACE!c!80!90 ; On fait appel à la boîte conçu contenant la commande check_nt avec les variables imposées (le mot de passe, la variable à checker 'USEDDISKSPACE', la lettre de la partition de la machine Windows, le pourcentage pour le seuil d'avertissement et critique) } Enregistrer le fichier et faites "service nagios3 reload" ou "/etc/init.d/nagios3 reload" . Il faudra attendre environ 10-20 secondes pour que cela prenne effet et le service devrait apparaître sur l'interface Nagios. Pour allez plus vite, sur l'interface web de Nagios, cliquez sur un service d'un hôte > Re-schedule the next check of this service (à droite de l'écran avec l'horloge comme logotype). Cliquez ensuite sur Commit (assurez vous que le "Force Check" est coché d'abord). S'il vous retourne cet erreur : Sorry, but Nagios is currently not checking for external commands, so your command will not be committed! Faire la chose suivante: Dans le fichier /etc/nagios3/nagios.cfg, à la ligne check_external_commands, remplacez la valeur 0 par le chiffre 1. Exécuter ensuite les commandes suivantes (en tant que root bien évidemment!): dpkg-statoverride --update --add nagios www-data 2710 /var/lib/nagios3/rw dpkg-statoverride --update --add nagios nagios 751 /var/lib/nagios3 chmod 2770 /var/lib/nagios3/rw /etc/init.d/nagios3 stop apache2ctl restart /etc/init.d/nagios3 start Voila vous avez réussi à ajouter des machines dans Nagios avec leurs services, visible depuis l'interface web Nagios. Vous pouvez aussi déclarer les parents pour un hôte pour réaliser proprement la cartographie Nagios, en ajouter cette option dans un hôte: " parents nom_de_ou_des_hôte(s)" ...ou bien ajouter des icones. L'emplacement des icônes se trouve dans le répertoire /usr/share/nagios3/htdocs/images/logos. Si vous importez vous même une image (format 40x40 maxi.), pensez à faire un "chmod u-x nom_de_l'image".