Mise en place de Nagios
Transcription
Mise en place de Nagios
Christian NLANDU Mise en place de 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. Il est prévu pour fonctionner sur système d’exploitation Linux mais fonctionne également sans problème sur la plupart des variantes *NIX. Le démon de supervision effectue des contrôles intermittents sur les hôtes et services que vous spécifiez en utilisant des plugins externes qui retournent un statut d’état à Nagios. Quand des problèmes surviennent, il peut envoyer des notifications à des contacts administratifs de façons différentes (e-mail, SMS, messagerie instantanée, etc…). Les informations d’états courants, les historiques et les rapports peuvent être consultés à partir d’un simple navigateur. Avantages : • Surveillance des services réseaux (HTTP, SMTP, PING, SSH, etc...) • Surveillance des ressources des hôtes (charge processeur, utilisation des disques, etc.) • Système simple de plugins permettant aux utilisateurs de développer facilement leurs propres vérifications de services • Notifications des contacts quand un hôte ou un service a un problème et est résolu (via e-mail ou par méthode définie par l'utilisateur) • Interface web, pour voir l'état actuel du réseau, notification et historique des problèmes, fichiers log, etc... • Logiciel libre Inconvénients : • Administration compliquée, interface non ergonomique et peu intuitive • Configuration fastidieuse, nombre important de fichiers de configuration • Configuration de bout en bout Avant de l'installer, il nous faut : - Un PC qui tourne sur un Linux (ici c'est un Debian 8 Jessie) - Nagios (à télécharger sur le net) I – Installation du LAMP LAMP signifie Linux.Apache.MySQL & PhP (actuellement Linux, Apache, MySQL, MariaDB, MongoDB, PHP, Perl, Python, PhpMyAdmin). Elle désigne un ensemble de logiciels libres permettant de construire des serveurs de sites web. Elle nous sera utile pour le programme Nagios. 1) Mise à jour de notre système d'exploitation Effectuez une mise à jour avec les commandes : « apt-get update » & « aptget upgrade » 2) Installation d'Apache Apache est un serveur WEB de type logiciel libre fonctionnant sur Linux, UNIX et également sur Windows. Il prend en charge le html, php, python, ruby, etc. Pour l'installer, lancer la commande : « apt-get install apache2 » Une fois terminée, ouvrez un navigateur web et naviguez sur : - http://localhost/ - http://127.0.0.1/ (127.0.0.1 est une adresse IP appelée « loopback » qui désigne une interface logique d'un ordinateur local) - http://adresse_ip_de_notre_serveur/ 3) Installation de MySQL MySQL est un système de gestion de base de données (SGBDR) qui supporte les accès aux bases de données. Ici on va installer le MySQL serveur et client avec cette commande : « apt-get install mysql-server mysqlclient » Durant l'implantation de MySQL, il vous demandera de mettre un nouveau mot de passe pour l'administrateur « root ». Puis, confirmez-le. 4) Installation de PhP PhP est initalement appellé Personal Home Page. PhP est un langage de programmation libre conçu pour le développement web mais pouvant aussi fonctionner comme n'importe quel langage interprété de façon locale. PhP est un langage impératif orienté objet comme le C++. Il est notamment connu pour avoir créé de nombreux sites web comme Facebook, Wikipédia ou encore YouTube. Commande à taper pour l'installation de PhP : « apt-get install php5 php5mysql 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. Ouvrez un navigateur web et taper dans la barre URL : http://localhost/phpinfo.php ou http://127.0.0.1/phpinfo.php II – Installation de Nagios Une fois que la LAMP a été correctement installé sur notre système, on peut mettre en place Nagios. Tout d'abord, nous allons avoir besoin de compiler des sources de logiciels, il faut donc dans un premier temps installer le package "build-essential" qui comporte les librairies de développement de bases: Commande : « apt-get install build-essential » 1) Créer un nouvel utilisateur et un groupe pour Nagios On va créer un utilisateur et un groupe Nagios et ajouter cet utilisateur et l'utilisateur Apache dans le groupe Nagios. # Crée un nouvel utilisateur (ici au nom de « nagios ») « useradd nagios » # Définir un mot de passe pour l'utilisateur « nagios » « passwd nagios » # Crée un nouveau groupe pour « nagios » (le groupe s'appellera « nagcmd ») « groupadd nagios » # Joindre l'utilisateur « nagios » au groupe nagios « usermod -a -G nagios nagios » # Joindre l'utilisateur Apache au groupe nagios « usermod -a -G nagios www-data » 2) Télécharger Nagios et les Plugins Pour avoir accès à ces deux programmes, il suffit d'aller sur le site http://sourceforge.net/ . Ici j'ai téléchargé la version 4.0.8 de Nagios et 2.0.3 pour le plugin. Ensuite, j'extrais le fichier .tar de Nagios avec « tar -xzf nagios-(« version »).tar.gz » (Faire un « chmod » si besoin pour avoir l'autorisation de manipuler ce fichier archive) Naviguez dans le dossier extrait du fichier archive avec la commande « cd ». Lancez le script de configuration de Nagios en mettant le nom du groupe que l'on a crée tout à l'heure (le groupe nagios) : « ./configure –with-command-group=nagios » # Compiler le source code Nagios « make all » # Installer les fichiers binaires Nagios « make install » # Installer le script init pour Nagios « make install-init » # Installer le fichier de configuration de l'échantillon pour Nagios « make install-config » # Mettre en place les permissions sur le répertoire de commande externe « make install-commandmode » ! Attention ! : Ne démarrez pas Nagios, il reste encore quelques procédures à faire Le fichier de configuration de l'échantillon est installé dans /usr/local/nagios/etc mais il est nécessaire d'ajouter un e-mail pour recevoir les alertes. Dans ce cas, il faut modifier le fichier : « nano /usr/local/nagios/etc/objects/contacts.cfg » Avec la commande « make install-webconf », il permet d'installer l'interface web Nagios et il enverra le fichier de config vers le répertoire d'Apache « conf.d » alors que durant l'installation de l'interface web, il va créer un utilisateur web « nagiosadmin » and vous requiert de mettre un mot de passe pour y accéder. S'il affiche un message d'erreur, c'est normal car Ubuntu utilise le repertoire apache2 au lieu de « httpd ». La chose à faire est d'envoyer le fichier nagios.conf vers le répertoire /etc/apache2/sites-enabled . # Installe l'interface web « /usr/bin/install -c -m 644 sample-config/httpd.conf /etc/apache2/sitesenabled/nagios.conf # Copie le répertoire eventhandlers « cp -R contrib/eventhandlers/ /usr/local/nagios/libexec/ » # Attribuer une permission « chown -R nagios:nagios /usr/local/nagios/libexec/eventhandlers » # Définir un mot de passe pour l'utilisateur nagiosadmin « htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin » # Redémarrer le service web Apache pour prendre en compte les modifications faite auparavant « service apache2 restart » Compiler les plugins Nagios Après avoir téléchargé le plugin Nagios, il faut extraire ce fichier archive avec « tar -xzf nagios-plugins-(« version »).tar.gz» . Ensuite, dans le répertoire extrait de l'archive, lancez le script de configuration de Nagios en mettant le nom du groupe que l'on a crée tout à l'heure (le groupe nagios) : « ./configure –with-nagios-user=nagios –with-nagios-group=nagios » # Compiler le source code plugin de Nagios « make » # Installer le plugin binaires Nagios « make install » Pour permettre de modifier le module Apache pour accéder à Nagios sans aucune issue, il y a deux commandes à exécuter : « a2enmod rewrite » « a2enmod cgi » Démarrage de Nagios Avant d'exécuter Nagios, il faut procéder à la vérification du fichier de configuration s'il y a aucune erreur produite et également ajouter le service au démarrage du système. # Ajouter nagios au système de redémarrage ln -s /etc/init.d/nagios /etc/rcS.d/S99nagios # Checker le fichier de configuration Nagios « /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg # Démarrer le service Nagios « service nagios start » Accéder à l'interface web Nagios Naviguer sur votre moteur de recherche et tapez : - http://localhost/nagios OU - http://adresse_ip/nagios OU - http://nom_de_domaine/nagios Il vous demandera ensuite d'y entrer votre identifiant et votre mot de passe que vous avez crée auparavant. Après avoir installé correctement Nagios, il y a quelques fichiers importants pour qu'on se servira pour mettre en place cet outil de supervision. Voici quelques fichiers de configuration de Nagios : Nagios.cfg : Fichier de configuration principal, elle définie l'ensemble des sous fichiers de configurations grâce aux variables cfg_file Contacts.cfg : Un contact définit une personne à prévenir dans les cas ou un reporting (communication de données) est demandé. On définit le nom du contact, son alias, les périodes de notification par défaut, les méthodes de notification par défaut, les éléments nécessaires pour communiquer avec ce contact (ici par e-mail) Timeperiods.cfg : Ici on définit les périodes de temps que nous allons pouvoir utiliser dans les fichiers de configurations. Pour simplifier, nous allons juste créer la période 24x7 (tous les jours, toutes les heures.…) Host.cfg : Cette définition s'applique à un serveur "physique", une station de travail, un périphérique, un équipement qui se trouve dans le réseau Template.cfg : Les templates sont très utiles pour vous éviter d'avoir à répéter les mêmes variables, les mêmes services pour différents hôtes. Commands.cfg : C'est là que nous allons définir les commandes utilisées par Nagios pour interroger les machines.