Installation Nagios · 12 min read · Oct 18, 2025
Comment installer l'outil de surveillance Nagios 4.3.x sur Debian 9
Ce tutoriel vous montrera comment installer et configurer la dernière version de Nagios Core, actuellement 4.3.4, à partir des sources sur Debian 9.1, nom de code Stretch.
Nagios, également connu sous le nom de Nagios Core, est un outil de surveillance réseau Open Source gratuit, activement maintenu par ses développeurs, conçu pour surveiller l’ensemble de l’infrastructure réseau. Nagios peut surveiller presque tous les appareils réseau, tant que l’appareil a une connexion réseau configurée, tels que des routeurs, des commutateurs, des serveurs, des ordinateurs de bureau, des pare-feu, des appareils IoT. En plus de surveiller les appareils afin de déterminer leur état réseau, Nagios peut également surveiller les services réseau, les applications ou d’autres tâches spécifiques liées aux systèmes d’exploitation et peut être configuré pour envoyer des alertes par mail ou SMS afin d’informer les administrateurs réseau des éventuels appareils, pannes ou défaillances de service.
Exigences
- Debian 9.1 installé sur une machine bare-metal ou sur un serveur privé virtuel. De préférence, l’installation doit être effectuée avec des exigences logicielles minimales.
- La carte d’interface réseau configurée avec une adresse IP statique.
- Accès au compte root ou à un utilisateur avec des privilèges de compte root via sudo.
- Un nom de domaine, privé ou public, avec les enregistrements DNS A appropriés configurés. Dans le cas où vous n’avez pas de serveur DNS configuré chez vous, vous pouvez accéder à Nagios via l’adresse IP du serveur.
Configuration initiale
Avant de commencer à installer Nagios à partir des sources, assurez-vous que le système répond à toutes les exigences logicielles pour compiler et installer Nagios. Dans un premier temps, mettez à jour vos dépôts système et vos paquets logiciels en émettant la commande ci-dessous.
apt updateapt upgrade
Dans l’étape suivante, lancez une nouvelle commande afin d’installer quelques utilitaires nécessaires qui seront utilisés pour gérer votre système depuis la ligne de commande.
apt install wget unzip zip bash-completionN ext, configurez le nom de votre système en exécutant la commande suivante :
hostnamectl set-hostname nagios.server.lanVérifiez le nom d’hôte de la machine et le fichier hosts en émettant les commandes ci-dessous.
hostnamectlcat /etc/hostnamecat /etc/hostsEnfin, redémarrez le système afin d’appliquer le nouveau nom d’hôte.
init 6Nagios est une application de surveillance basée sur le web avec certaines parties écrites en langage de programmation côté serveur PHP et d’autres programmes CGI. Afin d’exécuter les scripts de fichiers PHP de Nagios, un serveur web, tel qu’Apache HTTP server, et une passerelle de traitement PHP doivent être installés et opérationnels dans le système. Pour installer le serveur web Apache et l’interpréteur PHP ainsi que tous les modules PHP requis nécessaires au bon fonctionnement de Nagios 4, émettez la commande suivante dans la console de votre serveur.
apt install apache2 libapache2-mod-php7.0 php7.0Après l’installation d’Apache et de PHP, testez si le serveur web est en ligne et écoute les connexions réseau sur le port 80 en émettant la commande suivante avec des privilèges root.
netstat –tlpnDans le cas où l’utilitaire réseau netstat n’est pas installé par défaut dans votre système Debian 9, exécutez la commande ci-dessous pour l’installer.
apt install net-tools
En inspectant la sortie de la commande netstat, vous pouvez voir que le serveur web apache écoute les connexions réseau entrantes sur le port 80.
Dans le cas où vous avez un pare-feu activé sur votre système, tel que l’application de pare-feu UFW, vous devez ajouter une nouvelle règle pour permettre au trafic HTTP de passer à travers le pare-feu en émettant la commande suivante.
ufw allow WWWou
ufw allow 80/tcpDans le cas où vous souhaitez utiliser des règles brutes iptables pour autoriser le trafic entrant sur le port 80 dans le pare-feu afin que les visiteurs puissent naviguer sur l’interface web de Nagios Core, ajoutez la règle suivante.
apt-get install -y iptables-persistentiptables -I INPUT -p tcp --destination-port 80 -j ACCEPTsystemctl iptables-persistent savesystemctl iptables-persistent reloadEnsuite, activez et appliquez les modules Apache suivants requis par l’application web Nagios pour fonctionner correctement, en émettant la commande ci-dessous.
a2enmod rewrite headers cgisystemctl restart apache2
Enfin, testez si la page web par défaut du serveur Apache peut être affichée dans le navigateur de votre client en visitant l’adresse IP de votre machine Debian ou le nom de domaine via le protocole HTTP, comme indiqué dans l’image ci-dessous. Si vous ne connaissez pas l’adresse IP de votre machine, exécutez les commandes ifconfig ou ip a.

Dans l’étape suivante, nous devons apporter quelques modifications supplémentaires au fichier de configuration PHP par défaut afin de nous assurer que le paramètre timezone de PHP est correctement configuré et correspond à votre emplacement physique. Ouvrez le fichier /etc/php/7.0/apache2/php.ini pour l’éditer et assurez-vous que les lignes suivantes sont configurées comme suit.
date.timezone = Europe/LondonRemplacez la variable de fuseau horaire en fonction de votre heure physique en consultant la liste des fuseaux horaires fournie par la documentation PHP à l’adresse suivante http://php.net/manual/en/timezones.php.
Redémarrez le démon apache pour appliquer les modifications.
systemctl restart apache2Après avoir effectué les modifications requises, créez un fichier d’informations PHP et redémarrez le démon apache pour appliquer les modifications en émettant les commandes suivantes.
echo ''| tee /var/www/html/info.phpsystemctl restart apache2Vérifiez si le fuseau horaire PHP a été correctement configuré en visitant le fichier de script phpinfo depuis un navigateur à l’URL suivante, comme illustré dans l’image ci-dessous. Faites défiler vers le bas jusqu’à la configuration de la date pour vérifier le paramètre de fuseau horaire php.

Installer Nagios Core
Avant de télécharger et de compiler Nagios Core à partir des sources, assurez-vous d’abord d’installer les paquets pré-requis suivants dans votre système, en émettant la commande ci-dessous.
apt install autoconf gcc libc6 make apache2-utils libgd-devAprès que toutes les dépendances et paquets nécessaires pour compiler Nagios à partir des sources soient installés sur votre système Debian, visitez le site officiel de Nagios à l’adresse https://www.nagios.org/downloads/nagios-core/ et téléchargez la dernière version de l’archive source stable de Nagios Core en émettant l’utilitaire wget, comme indiqué dans l’extrait de commande suivant.
wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.3.4.tar.gzAprès que l’archive tar de la source de Nagios ait été téléchargée, extrayez l’archive tar et entrez dans le répertoire nagios extrait, avec les commandes suivantes. Exécutez la commande ls à l’intérieur du répertoire nagios extrait afin de lister les fichiers sources.
tar xzf nagios-4.3.4.tar.gzcd nagios-4.3.4/ls
Alors que vous êtes à l’intérieur du répertoire des sources extraites de Nagios, commencez le processus de compilation de Nagios à partir des sources en émettant les commandes ci-dessous. Tout d’abord, configurez Nagios pour être compilé avec le chemin de configuration http du serveur web Apache pointant vers le répertoire sites-enabled.
./configure --with-httpd-conf=/etc/apache2/sites-enabledEnsuite, compilez Nagios en émettant la commande suivante, comme illustré dans les images ci-dessous.
make all

Ensuite, créez l’utilisateur et le groupe système nagios et ajoutez le compte nagios à l’utilisateur d’exécution Apache afin que l’utilisateur nagios ait les autorisations requises pour accéder aux ressources web.
useradd nagiosusermod -a -G nagios www-dataMaintenant, commencez à installer les fichiers binaires de Nagios, les scripts CGI et les fichiers HTML en émettant la commande suivante. La sortie finale de la commande make install doit afficher les emplacements binaires, comme indiqué dans l’image ci-dessous.
make install
Ensuite, installez les fichiers d’initialisation systemd du démon Nagios et activez le service nagios au niveau système en émettant les commandes suivantes.
make install-initsystemctl enable nagios.service
De plus, installez et configurez le fichier de commande externe de Nagios en exécutant la commande ci-dessous.
make install-commandmodeEnsuite, exécutez la commande suivante afin d’installer les fichiers de configuration d’exemple de Nagios qui sont requis par le démon Nagios pour démarrer et fonctionner correctement.
make install-config
Enfin, installez le fichier de configuration du serveur web Apache pour Nagios, qui sera situé dans le répertoire /etc/apacahe2/sites-enabled/, en exécutant la commande ci-dessous.
make install-webconf
Créez le compte utilisateur nagiosadmin avec le mot de passe correspondant requis par le serveur web Apache pour pouvoir se connecter à l’outil web Nagios en émettant la commande suivante.
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadminAfin d’accéder au panneau web de Nagios, redémarrez d’abord le serveur HTTP Apache et démarrez le service Nagios en émettant les commandes suivantes.
systemctl restart apache2systemctl start nagiosEnsuite, connectez-vous à l’interface web de Nagios en ouvrant un navigateur et en visitant l’adresse IP de votre serveur ou le nom de domaine ou FQDN et en ajoutant le chemin d’URL /nagios via le protocole HTTP, comme illustré dans les captures d’écran ci-dessous. Utilisez l’utilisateur nagiosadmin avec le mot de passe configuré précédemment pour cet utilisateur afin de vous connecter à l’interface web de Nagios.


Installer les plugins Nagios
Le moteur Nagios est maintenant installé sur le système. Cependant, le logiciel Nagios n’est pas encore opérationnel, car les plugins qui sont utilisés pour vérifier les hôtes et les services ne sont pas installés. Ce comportement peut être observé en naviguant dans le menu Hôtes où vous remarquerez les erreurs de plugin, comme indiqué dans la capture d’écran ci-dessous.

Afin de compiler et d’installer quelques plugins Nagios de base à partir de la source, assurez-vous d’abord d’installer les bibliothèques et dépendances suivantes en émettant la commande suivante.
apt install libmcrypt-dev make libssl-dev bc gawk dc build-essential snmp libnet-snmp-perl gettext libldap2-dev smbclient fping default-libmysqlclient-devAprès que tous les paquets de dépendances aient été installés dans votre système, rendez-vous sur la page du dépôt des plugins Nagios en visitant l’adresse suivante https://github.com/nagios-plugins/nagios-plugins/releases et récupérez la dernière archive de code source avec l’aide de l’utilitaire en ligne de commande wget, comme indiqué dans l’exemple de commande ci-dessous.
wget https://github.com/nagios-plugins/nagios-plugins/archive/release-2.2.1.tar.gzEnsuite, extrayez l’archive tar du code source des plugins Nagios et entrez dans le répertoire nagios-plugins extrait en exécutant les commandes suivantes.
tar xfz release-2.2.1.tar.gzcd nagios-plugins-release-2.2.1/
Afin de compiler et d’installer les plugins Nagios à partir des sources, exécutez les scripts et commandes suivants avec des privilèges root, comme indiqué dans l’extrait ci-dessous.
./tools/setup./configuremakemake installAprès que tous les plugins aient été installés, vous pouvez les localiser à l’emplacement système /usr/local/nagios/libexec/. Émettez la commande ls afin d’examiner tout le contenu du répertoire /usr/local/nagios/libexec/ et de voir quels plugins sont disponibles pour Nagios dans votre système.
ls /usr/local/nagios/libexec/
Afin que le moteur Nagios prenne en compte et utilise les plugins installés, vous devez redémarrer et vérifier l’état du service nagios avec les commandes suivantes.
systemctl restart nagios.servicesystemctl status nagios.servicePour tester si les plugins Nagios fonctionnent comme prévu, reconnectez-vous à l’interface web de Nagios en ouvrant un navigateur et en visitant l’adresse IP de votre serveur, FQDN ou nom de domaine et en naviguant vers le menu Hôtes ou Services, comme illustré dans la capture d’écran ci-dessous. Les hôtes et services surveillés devraient maintenant être vérifiés par les plugins et afficher la sortie correcte, en fonction du statut de sortie de la commande du plugin. Les couleurs affichées sont : vert pour OK, jaune pour Avertissement et rouge pour Critique.

Afin d’utiliser le protocole HTTPS pour accéder à l’interface web du moteur Nagios via une connexion sécurisée, émettez la commande suivante pour activer le module SSL du serveur web Apache et le fichier de configuration du site SSL.
a2enmod ssla2ensite default-ssl.confEnsuite, afin de forcer les visiteurs à être automatiquement redirigés vers le protocole HTTPS chaque fois qu’ils visitent l’interface web de Nagios depuis leurs navigateurs, ouvrez le fichier /etc/apache2/sites-enabled/000-default.conf pour l’éditer et ajoutez les règles de réécriture suivantes après l’instruction DocumentRoot comme indiqué dans l’exemple ci-dessous.
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*) https://%{HTTP_HOST}/$1
Enfin, redémarrez le démon Apache pour appliquer toutes les règles configurées jusqu’à présent et visitez l’interface web de Nagios via le protocole HTTP.
systemctl restart apache2.serviceAfin de vérifier si Apache écoute sur le port HTTPS, exécutez la commande netstat et recherchez le port 443, comme indiqué dans l’image ci-dessous.
netstat -tlpnDans le cas où l’application de pare-feu UFW bloque les connexions réseau entrantes sur le port HTTPS, vous devez ajouter une nouvelle règle pour permettre au trafic HTTPS de passer à travers le pare-feu en émettant la commande suivante.
ufw allow 'WWW Full'ou
ufw allow 443/tcpDans le cas où vous exécutez un pare-feu iptables pour protéger votre système Debian, ajoutez la règle suivante pour autoriser le trafic entrant sur le port 443 dans le pare-feu afin que les visiteurs puissent naviguer sur l’interface web de Nagios Core.
iptables -I INPUT -p tcp --destination-port 443 -j ACCEPTsystemctl iptables-persistent savesystemctl iptables-persistent reloadMaintenant, vous devriez être automatiquement redirigé vers le panneau web de Nagios via le protocole HTTPS. Comme vous utilisez les paires de certificats auto-signés automatiquement délivrées par Apache lors de l’installation, un avertissement d’erreur devrait s’afficher dans le navigateur. Acceptez l’avertissement du navigateur et connectez-vous à Nagios avec les identifiants configurés précédemment, comme indiqué dans la capture d’écran ci-dessous.

Pour ajouter un nouvel hôte à surveiller par Nagios, ouvrez le fichier de configuration /usr/local/nagios/etc/objects/localhost.cfg pour l’éditer et ajoutez le nouvel appareil après la définition de localhost, comme indiqué dans l’exemple ci-dessous.
define host{
use linux-server
host_name router
alias router
address 192.168.1.1
}
Remplacez les variables host_name, alias et adresse IP en conséquence et redémarrez le démon Nagios pour charger la nouvelle définition d’hôte et appliquer les modifications.
systemctl restart nagiosAttendez quelques minutes et naviguez vers le menu Hôtes dans l’interface web de Nagios afin de vérifier l’état de l’appareil, comme illustré dans l’image ci-dessous.

C’est tout ! Vous avez réussi à installer et configurer le moteur Nagios à partir des sources sur Debian 9. Vous pouvez commencer à ajouter vos appareils réseau, serveurs ou services critiques de votre organisation à surveiller par Nagios. Pour d’autres configurations personnalisées concernant Nagios Core et les plugins Nagios, visitez les pages de documentation à l’adresse suivante https://support.nagios.com/kb/category.php?id=12
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.