Vous êtes sur la page 1sur 19

Supervision d’infrastructure réseaux

« sous Nagios »

Introduction et Installation de Nagios


Quelques fonctionnalités de Nagios
● Surveillance des services réseaux tels que: SMTP,
HTTP, FTP, SSH, etc.
● Surveillance des ressources machines telles que:
Charge de processeur, Utilisation de l'espace disque,
Utilisation de la mémoire, etc.
● Rotation automatique des fichiers journaux
● Interface Web optionnelle permettant de visualiser
l'état actuelle du réseau, les notifications et les
fichiers journaux
● Conception des simples greffons (plugins) permettant
aux utilisateurs de développer leurs propres
vérificateurs de services;
● Notification par mail ou SMS lorsqu'un problème
survient sur un service ou une machine;
● Support pour l’implémentation d'un système de
surveillance redondant;
● Etc ...
Version et Licence

Au moment de la rédaction de ce document, Nagios est


actuellement à sa version 4.4.6 il est placé sous la
Licence GNU GPL (General Public License) version 2.
Ce qui donne la permission légale de le copier, le
distribuer et/ou de le modifier sous certaines
conditions.
Pour plus de détails, il faut lire le fichier
LICENSE incluse dans la distribution de Nagios.…
Concepts et principe de fonctionnement de Nagios

Nagios ne possède aucun mécanisme interne pour


surveiller le statut des équipements et des applications.
Il repose sur des programmes externes appelés greffons
(plugins).
Nagios peut être assimilé à un planificateur de tâches. Il
exécute un greffon à intervalle régulier lorsqu'un service
ou un host doit être surveiller.

Architecture de Nagios : Nagios peut être décomposé en


trois parties:
● Un ordonnanceur, chargé de contrôler quand et dans quel
ordre les contrôles des services sont effectués.
● Une interface graphique qui affiche de manière claire et
concise l'état des services surveillés.
● Des greffons
C'est quoi un greffon (plugin)?

Un greffon est un programme exécutable ou script (perl,


shell, etc.) capable de fournir au moteur:

● un code de retour
=> 0 = tout va bien (OK)
=> 1 = avertissement (WARNING)
=> 2 = alerte (CRITICAL)
=> 3 = inconnu (UNKNOWN)

● un court message descriptif


En option, un greffon peut retourner des informations de
performance permettant à Nagios de les interpréter pour
tracer des graphiques.
Exécution des greffons

Les greffons peuvent fonctionner localement


(directement sur la machine supervisée) ou à
distance (au travers du réseau).
Pour l'exécution à distance des greffons, il
existe plusieurs possibilités:

● Par le biais d'autres serveurs de supervision


Nagios distant. Cette méthode est utilisée dans
le cadre de la supervision distribuée.

● Par les agents d'exécution de tests tels que:


NRPE, NSCA, check_by_ssh, NSClient, etc...
MISE EN PLACE DE NAGIOS

La mise en place de Nagios passe par la récupération des sources sur


le site “SourceForge”, l'installation et la configuration.
Récupération des sources
Pour installer Nagios, nous aurons besoin de deux archives: Nagios
(nagios-4.4.6.tar.gz) et ses greffons de base (nagios-plugins-
2.2.1.tar.gz). Ces archives sont disponibles en téléchargement sur
le site officiel de Nagios (http://www.nagios.org) ou sur certains
sites mirroirs.

Les tests et Tps se feront avec le système Linux Ubuntu Server


dans sa version 16.04 LTS.

Wget https://sourceforge.net/projects/nagios/files/nagios-4.x/nagios-4.4.6/
nagios-4.4.6.tar.gz

wget http://nagios-plugins.org/download/nagios-plugins-2.3.3.tar.gz
Installation : Pré-requis
Le seul pré-requis pour le déploiement de Nagios est une
machine exécutant Linux comme OS (ou une variante UNIX)
avec un compilateur C installé.
Bien évidemment, TCP/IP doit être configuré (Adressage
Fixe).
Il n' y a aucune contrainte avec l'utilisation des CGIs
fournies avec Nagios. Mais si on souhaite les utiliser, il
faut absolument installer les outils suivants:
● Serveur Web (de préférence apache)
● Librairies “gd” en version 1.6.3 ou supérieure

Commandes de mise à jour et d’installation des pré-requis

sudo apt update


sudo apt upgrade
sudo apt-get install wget build-essential apache2 php\
apache2-mod-php7.0 php-gd libgd-dev sendmail unzip
Étapes à suivre pour l’installation de Nagios

→ Création de l'utilisateur Nagios


Nagios, pour fonctionner a besoin d'un utilisateur (nagios) et d'un groupe (nagcmd):
sudo useradd --system --home /usr/local/nagios -M nagios
sudo groupadd --system nagcmd
sudo usermod -a -G nagcmd nagios
sudo usermod -a -G nagcmd www-data

→ Décompression des archives avec la commande tar :


tar -xzvf nagios-4.3.4.tar.gz
tar -xzvf nagios-plugins-2.2.1.tar.gz

→ Configuration de Nagios
sudo ./configure --with-nagios-group=nagios --with-command-group=nagcmd \
--with-mail=/usr/sbin/sendmail --with-httpd-conf=/etc/apache2/conf-available

→ Compilation et installation
sudo make
sudo make install
sudo make install-init
sudo make install-config
sudo make install-commandmode
sudo make install-webconf
Étapes à suivre pour l’installation de Nagios

→ On procède après cela à certaines ajustements :


sudo cp -R contrib/eventhandlers/ /usr/local/nagios/libexec/
sudo chown -R nagios:nagios /usr/local/nagios/libexec/eventhandlers

→ La commande qui suit permet de vérifier la configuration


de Nagios. Elle doit être utilisée à chaque changement des fichiers de
configuration de Nagios pour vérifier qu’ils sont corrects.
sudo /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

→ Pour que Nagios (deamon) soit lancé automatiquement au


lancement du système Ubuntu, on rajoute un lien dans
/etc/rcS.d vers le script de lancement de Nagios :
sudo ln -s /etc/init.d/nagios /etc/rcS.d/S99nagios

Nagios se retrouve dans le répertoire :


/usr/local/nagios
Installation des plugins

→ on lance le script de configuration en indiquant


les paramètres adéquats :
sudo ./configure --with-nagios-user=nagios \ --
with-nagios-group=nagios \
--enable-perl-modules --enable-extra-opts

→ et on lance la compilation des sources et


l'installation des plugins :
sudo make
sudo make install

Les plugins Nagios sont dans le répertoire :


/usr/local/nagios/libexec
Configuration de Nagios et Apache

→ On active le module cgi pour apache :


sudo a2enmod cgi

→ On créé un compte nagiosadmin qui permettra de s'authentifier au


lancement de Nagios.
sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

→ Pour que apache prenne en considération le fichier de


configuration de (site) Nagios se trouvant dans le répertoire /etc/
apache2/sites-available/nagios.conf, on crée un lien symbolique
vers ce fichier dans le répertoire /etc/apache2/sites-enabled/
sudo ln -s /etc/apache2/conf-available/nagios.conf \
/etc/apache2/sites-enabled/nagios.conf

→ Une fois la configuration d'apache et de Nagios terminée, on


redémarre les deux service apache2 et Nagios
sudo service apache2 restart
sudo service nagios start
Utilisation de Nagios

→ Pour vérifier le bon fonctionnement du service de supervision


Nagios, on utilise un navigateur à partir de n’importe quel poste
client du réseau et on introduit l'URL

http://192.168.255.x/nagios

Une fois l'application de supervision lancée, une fenêtre


d'authentification apparaît. On utilise alors le compte créé
précédemment (nagiosadmin) avec le mot de passe associé (Compte
enregistré dans le fichier: /usr/local/nagios/etc/htpasswd.users).

Dans un premier temps, Nagios ne supervise que le serveur sur


lequel il est installé (localhost).
Il supervise par défaut :
→ les services réseaux : apache (http), ssh,
→ la partition racine /
→ le swap de la machine
Accès à l'interface Web d'administration de Nagios

Vous aimerez peut-être aussi