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.

Documents pareils