Surveillance serveur · 5 min read · Oct 21, 2025

Comment installer la surveillance du serveur Nagios sur Ubuntu 16.04

Nagios est un logiciel open source pour la surveillance des systèmes et des réseaux. Nagios peut surveiller l’activité d’un hôte et de ses services, et fournit un avertissement/alerte si quelque chose de mauvais se produit sur le serveur. Nagios peut fonctionner sur des systèmes d’exploitation Linux. En ce moment, j’utilise Ubuntu 16.04 pour l’installation.

Prérequis

  • 2 serveurs Ubuntu 16.04 - 64 bits - 1 - Hôte Nagios avec IP : 192.168.1.9
  • 2 - Client Ubuntu avec IP : 192.168.1.10
  • Accès Root/Sudo

Ce que nous allons faire dans ce tutoriel :

  1. Installer les dépendances logicielles comme - LAMP, etc.
  2. Configuration de l’utilisateur et du groupe.
  3. Installation de Nagios.
  4. Configuration d’Apache.
  5. Tester le serveur Nagios.
  6. Ajouter un hôte à surveiller.

Installation des prérequis

Nagios nécessite le compilateur gcc et les outils de construction pour la compilation, LAMP (Apache, PHP, MySQL) pour l’interface web de Nagios et Sendmail pour envoyer des alertes depuis le serveur. Pour installer tous ces paquets, exécutez cette commande (c’est juste 1 ligne) :

sudo apt-get install wget build-essential apache2 php apache2-mod-php7.0 php-gd libgd-dev sendmail unzip

Configuration de l’utilisateur et du groupe

Pour que Nagios fonctionne, vous devez créer un nouvel utilisateur pour Nagios. Nous allons nommer l’utilisateur “nagios” et créer en plus un groupe nommé “nagcmd”. Nous ajoutons le nouvel utilisateur au groupe comme indiqué ci-dessous :

useradd nagios  
groupadd nagcmd  
usermod -a -G nagcmd nagios  
usermod -a -G nagios,nagcmd www-data

Installation de Nagios

Étape 1 - Télécharger et extraire le noyau de Nagios

cd ~  
wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.2.0.tar.gz  
tar -xzf nagios*.tar.gz  
cd nagios-4.2.0

Étape 2 - Compiler Nagios

Avant de construire Nagios, vous devrez le configurer avec l’utilisateur et le groupe que vous avez créés précédemment.

./configure --with-nagios-group=nagios --with-command-group=nagcmd

Pour plus d’informations, veuillez utiliser : ./configure –help.

Maintenant pour installer Nagios :

make all  
sudo make install  
sudo make install-commandmode  
sudo make install-init  
sudo make install-config  
/usr/bin/install -c -m 644 sample-config/httpd.conf /etc/apache2/sites-available/nagios.conf

Et copiez le répertoire evenhandler dans le répertoire nagios :

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

Étape 3 - Installer les plugins Nagios

Téléchargez et extrayez les plugins Nagios :

cd ~  
wget https://nagios-plugins.org/download/nagios-plugins-2.1.2.tar.gz  
tar -xzf nagios-plugins*.tar.gz  
cd nagios-plugin-2.1.2/

Installez le plugin Nagios avec les commandes ci-dessous :

./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-openssl  
make  
make install

Étape 4 - Configurer Nagios

Après la phase d’installation, vous pouvez trouver la configuration par défaut de Nagios dans /usr/local/nagios/.

Nous allons configurer Nagios et le contact Nagios.

Éditez la configuration par défaut de nagios avec vim :

vim /usr/local/nagios/etc/nagios.cfg

décommentez la ligne 51 pour la configuration de l’hôte à surveiller.

cfg_dir=/usr/local/nagios/etc/servers

Enregistrez et quittez.

Ajoutez un nouveau dossier nommé servers :

mkdir -p /usr/local/nagios/etc/servers

Le contact Nagios peut être configuré dans le fichier contact.cfg. Pour l’ouvrir, utilisez :

vim /usr/local/nagios/etc/objects/contacts.cfg

Puis remplacez l’email par défaut par votre propre email.

Configuration d’Apache

Étape 1 - Activer les modules Apache

sudo a2enmod rewrite  
sudo a2enmod cgi

Vous pouvez utiliser la commande htpasswd pour configurer un utilisateur nagiosadmin pour l’interface web de nagios

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

et tapez votre mot de passe.

Étape 2 - Activer le virtualhost Nagios

sudo ln -s /etc/apache2/sites-available/nagios.conf /etc/apache2/sites-enabled/

Étape 3 - Démarrer Apache et Nagios

service apache2 restart  
service nagios start

Lorsque Nagios démarre, vous pouvez voir l’erreur suivante :

Starting nagios (via systemctl): nagios.serviceFailed

Et voici comment le corriger :

cd /etc/init.d/  
cp /etc/init.d/skeleton /etc/init.d/nagios

Maintenant, éditez le fichier Nagios :

vim /etc/init.d/nagios

… et ajoutez le code suivant :

DESC="Nagios"  
NAME=nagios  
DAEMON=/usr/local/nagios/bin/$NAME  
DAEMON_ARGS="-d /usr/local/nagios/etc/nagios.cfg"  
PIDFILE=/usr/local/nagios/var/$NAME.lock

Rendez-le exécutable et démarrez Nagios :

chmod +x /etc/init.d/nagios  
service apache2 restart  
servuce nagios start

Tester le serveur Nagios

Veuillez ouvrir votre navigateur et accéder à l’IP du serveur Nagios, dans mon cas : http://192.168.1.9/nagios.

Connexion Nagios avec apache htpasswd.

Connexion Nagios

Tableau de bord Admin Nagios

Tableau de bord Nagios

Ajouter un hôte à surveiller

Dans ce tutoriel, je vais ajouter un hôte Ubuntu à surveiller sur le serveur Nagios que nous avons créé ci-dessus.

IP du serveur Nagios : 192.168.1.9  
IP de l'hôte Ubuntu : 192.168.1.10

Étape 1 - Se connecter à l’hôte ubuntu

ssh [email protected]

Étape 2 - Installer le service NRPE

sudo apt-get install nagios-nrpe-server nagios-plugins

Étape 3 - Configurer NRPE

Après l’installation, éditez le fichier nrpe /etc/nagios/nrpe.cfg :

vim /etc/nagios/nrpe.cfg

… et ajoutez l’IP du serveur Nagios 192.168.1.9 à server_address.

server_address=192.168.1.9

Étape 4 - Redémarrer NRPE

service nagios-nrpe-server restart

Étape 5 - Ajouter l’hôte Ubuntu au serveur Nagios

Veuillez vous connecter au serveur Nagios :

ssh [email protected]

Ensuite, créez un nouveau fichier pour la configuration de l’hôte dans /usr/local/nagios/etc/servers/.

vim /usr/local/nagios/etc/servers/ubuntu_host.cfg

Ajoutez les lignes suivantes :

# Fichier de configuration de l'hôte Ubuntu

define host {
        use                          linux-server
        host_name                    ubuntu_host
        alias                        Hôte Ubuntu
        address                      192.168.1.10
        register                     1
}

define service {
      host_name                       ubuntu_host
      service_description             PING
      check_command                   check_ping!100.0,20%!500.0,60%
      max_check_attempts              2
      check_interval                  2
      retry_interval                  2
      check_period                    24x7
      check_freshness                 1
      contact_groups                  admins
      notification_interval           2
      notification_period             24x7
      notifications_enabled           1
      register                        1
}

define service {
      host_name                       ubuntu_host
      service_description             Vérifier les utilisateurs
      check_command           check_local_users!20!50
      max_check_attempts              2
      check_interval                  2
      retry_interval                  2
      check_period                    24x7
      check_freshness                 1
      contact_groups                  admins
      notification_interval           2
      notification_period             24x7
      notifications_enabled           1
      register                        1
}

define service {
      host_name                       ubuntu_host
      service_description             Disque local
      check_command                   check_local_disk!20%!10%!/
      max_check_attempts              2
      check_interval                  2
      retry_interval                  2
      check_period                    24x7
      check_freshness                 1
      contact_groups                  admins
      notification_interval           2
      notification_period             24x7
      notifications_enabled           1
      register                        1
}

define service {
      host_name                       ubuntu_host
      service_description             Vérifier SSH
      check_command                   check_ssh
      max_check_attempts              2
      check_interval                  2
      retry_interval                  2
      check_period                    24x7
      check_freshness                 1
      contact_groups                  admins
      notification_interval           2
      notification_period             24x7
      notifications_enabled           1
      register                        1
}

define service {
      host_name                       ubuntu_host
      service_description             Total des processus
      check_command                   check_local_procs!250!400!RSZDT
      max_check_attempts              2
      check_interval                  2
      retry_interval                  2
      check_period                    24x7
      check_freshness                 1
      contact_groups                  admins
      notification_interval           2
      notification_period             24x7
      notifications_enabled           1
      register                        1
}

Vous pouvez trouver de nombreux check_command dans le fichier /usr/local/nagios/etc/objects/commands.cfg. Consultez-le si vous souhaitez ajouter d’autres services comme DHCP, POP, etc.

Et maintenant, vérifiez la configuration :

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

… pour voir si la configuration est correcte.

Étape 6 - Redémarrer tous les services

Sur l’hôte Ubuntu, démarrez le service NRPE :

service nagios-nrpe-server restart

… et sur le serveur Nagios, démarrez Apache et Nagios :

service apache2 restart  
service nagios restart

Étape 7 - Tester l’hôte Ubuntu

Ouvrez le serveur Nagios depuis le navigateur et voyez l’ubuntu_host être surveillé.

L’hôte Ubuntu est disponible sur l’hôte surveillé.

Le serveur surveillé est listé

Tous les services surveillés sans erreur.

Tous les services sont verts

Conclusion

Nagios est une application open source pour la surveillance d’un système. Nagios a été largement utilisé en raison de la facilité de configuration. Nagios est soutenu par divers plugins, et vous pouvez même créer vos propres plugins. Consultez ici pour plus d’informations.

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.