Installer Nagios sur Debian 12
Installation
Comment installer l'outil de surveillance Nagios sur Debian 12
Nagios est un système de surveillance open source permettant de suivre la santé et les
performances de l'infrastructure informatique. Il fournit des alertes en temps réel et des
aperçus de l'état des serveurs, des réseaux et des applications, permettant une résolution
proactive des problèmes.
Dans ce guide, vous apprendrez comment installer Nagios sur le serveur Debian 12. Vous
installerez Nagios sur Debian via le gestionnaire de paquets au lieu de le compiler
manuellement.
1. Conditions préalables
Avant de commencer, assurez-vous d'avoir les éléments suivants :
- Un serveur Debian 12.
- Un utilisateur non root avec les privilèges sudo.
2. Installer Nagios sur Debian
Pour installer Nagios, vous pouvez l'installer manuellement en le compilant vous-même. Ou,
vous pouvez également installer Nagios via un gestionnaire de paquets tel qu'APT. Dans cet
exemple, vous installerez Nagios sur Debian 12 via le dépôt APT, ce qui est plus rapide et
plus simple.
Pour commencer, exécutez la commande ci-dessous pour actualiser et mettre à jour l'index de
votre package Debian.
sudo apt update
Une fois l'index du package mis à jour, exécutez la commande ci-dessous pour
installer Nagios , monitoring-plugin et le plugin Nagios NRPE via le référentiel Debian.
sudo apt install nagios4 nagios4-common monitoring-plugins-contrib nagios-nrpe-plugin
Tapez Y pour procéder à l’installation. Avec cela, vous installerez des dépendances pour
Nagios, qui incluent le serveur Web Apache et les packages PHP 8.2.
Une fois Nagios installé, exécutez la commande systemctl ci-dessous pour activer le service
nagios4.
sudo systemctl enable nagios4
Ensuite, vérifiez le service nagios4 pour vous assurer que le service est exécuté via la
commande ci-dessous. Vous devriez voir le service nagios4 avec le statut actif (en cours
d'exécution) et activé.
sudo systemctl is-enabled nagios4
sudo systemctl status nagios4
Vous pouvez désormais également vérifier l'état du serveur Web Apache pour vous assurer
qu'il est installé et exécuté à l'aide de la commande ci-dessous.
Enfin, ouvrez votre navigateur Web et visitez votre installation Nagios
http://192.168.5.15/nagios4. Vous devriez voir le tableau de bord Nagios comme suit :
Fichiers et répertoires de configuration de Nagios
Étant donné que vous avez installé Nagios via le référentiel Debian APT, il est recommandé de
comprendre la structure des répertoires et la configuration de votre installation Nagios.
Vous trouverez ci-dessous les fichiers de configuration et le répertoire de Nagios que vous
devez connaître :
/etc/nagios4: la configuration par défaut pour l'installation de Nagios.
/etc/apache2/conf-available/nagios4-cgi.conf: La configuration Nagios liée à l'intégration du
serveur web Apache.
/etc/nagios-plugins: Le répertoire du plugin de surveillance Nagios.
/usr/lib/nagios/plugins: Emplacement des commandes de vérification pour le plugin de
surveillance Nagios.
Activer l’authentification Nagios
Par défaut, Nagios est livré avec l'authentification désactivée, mais seul le réseau local est
autorisé à accéder à votre installation. Dans cet exemple, vous activerez l'authentification pour
Nagios. De cette façon, seuls les utilisateurs disposant du nom d'utilisateur et du mot de passe
corrects seront autorisés à accéder au tableau de bord Nagios.
Ouvrez le fichier /etc/nagios4/cgi.conf à l'aide de la commande suivante de l'éditeur nano.
sudo nano /etc/nagios4/cgi.conf
Recherchez la ligne use_authentication et changez la valeur en 1 pour activer
l'authentification Nagios.
# AUTHENTICATION USAGE
# This option controls whether or not the CGIs will use any
# Authentication when displaying host and service information, as
# well as committing commands to Nagios for processing.
#
# Read the HTML documentation to learn how the authorization works!
#
# NOTE: It is a really *bad* idea to disable authorization, unless
# you plan on removing the command CGI (cmd.cgi)! Failure to do
# so will leave you wide open to kiddies messing with Nagios and
# possibly hitting you with a denial of service attack by filling up
# your drive by continuously writing to your command file!
#
# Setting this value to 0 will cause the CGIs to *not* use
# authentication (bad idea), while any other value will make them
# use the authentication functions (the default).
use_authentication=1
Enregistrez et fermez le fichier lorsque vous avez terminé.
Ensuite, redémarrez le service nagios4 en utilisant la commande suivante pour prendre effet.
sudo systemctl restart nagios4
Avec cela, seul l'utilisateur ' nagiosadmin ' sera autorisé à accéder à votre installation Nagios.
Vous pouvez toujours accéder au tableau de bord Nagios, mais la page de reporting et de
surveillance en est refusée.
Configuration de l'authentification de base Apache pour Nagios
Maintenant que vous avez activé l'authentification Nagios sur la partie Nagios, l'étape
suivante consiste à configurer l'authentification sur le serveur web Apache via basic_auth.
Tout d’abord, exécutez la commande ci-dessous pour activer les modules
requis, cgi , cgid et rewrite .
sudo a2enmod cgi cgid rewrite
Ouvrez les fichiers de configuration Apache pour l'installation de Nagios /etc/apache2/conf-
available/nagios4-cgi.conf à l'aide de la commande suivante de l'éditeur nano.
sudo nano /etc/apache2/conf-available/nagios4-cgi.conf
Recherchez la ligne <DirectoryMatch ... </DirectoryMatch> et remplacez la configuration
par défaut par ce qui suit. Dans ce cas, vous activerez le contenu Web Nagios du module
Apache basic_auth . Les utilisateurs de la base de données qui seront utilisés dans le
fichier /etc/nagios4/htdigest.users .
<DirectoryMatch (/usr/share/nagios4/htdocs|/usr/lib/cgi-bin/nagios4|/etc/nagios4/stylesheets)>
Options FollowSymLinks
DirectoryIndex index.php index.html
AllowOverride AuthConfig
Options None
AllowOverride None
Order allow,deny
Allow from all
AuthName "Nagios Core"
AuthType Basic
AuthUserFile /etc/nagios4/htdigest.users
Require valid-user
Require all denied
</DirectoryMatch>
Enregistrez le fichier et quittez l'éditeur lorsque vous avez terminé.
Ensuite, exécutez la commande ci-dessous pour créer un nouvel utilisateur nagiosadmin pour
l'authentification de base Apache. Par défaut, Nagios autorise uniquement l'utilisateur
nagiosadmin à afficher et gérer Nagios.
sudo htpasswd /etc/nagios4/htdigest.users nagiosadmin
Saisissez votre mot de passe et répétez.
Enfin, exécutez la commande ci-dessous pour redémarrer le service Apache2 et appliquer vos
modifications. Ensuite, vérifiez Apache pour vous assurer qu'il fonctionne.
sudo systemctl restart apache2
sudo systemctl status apache2
Après avoir terminé cette étape, vous serez invité à accéder à votre installation Nagios.
Accéder à l'installation de Nagios avec l'authentification activée
Revenez à votre navigateur Web et rechargez votre onglet Nagios. Si votre configuration
réussit, vous serez invité à entrer le module Apache basic_auth.
Saisissez l'utilisateur nagiosadmin avec votre mot de passe, puis cliquez sur Se
connecter pour continuer.
Si votre mot de passe est correct, le tableau de bord Nagios s'affichera.
Cliquez sur le menu Hôtes et vous verrez l'hôte local avec le statut UP .
Cliquez maintenant sur le menu Services et vous verrez la surveillance du système par défaut
sur Nagios, qui comprend la charge du système, les utilisateurs connectés, l'état HTTP, le
ping, l'utilisation du disque de la racine/partition, l'état SSH, l'état SWAP et également le
processus total. sur le système.
Conclusion
Félicitations et bravo ! Vous avez terminé l'installation de Nagios Monitoring Tool sur le
serveur Debian 12. Vous avez installé Nagios via le référentiel Debian APT, qui constitue le
moyen le plus simple de déployer Nagios. En plus de cela, vous avez également activé
l'authentification sur Nagios et implémenté le module Apache basic_auth pour sécuriser votre
installation Nagios.
Désormais, vous pouvez ajouter et surveiller des hôtes via Nagios, ou vous pouvez explorer le
plugin NRPE pour surveiller des hôtes distants via Nagios.
Une autre méthode
Conditions préalables
Un serveur exécutant Debian 12
Privilèges root ou sudo
Connaissance de base des commandes Linux et des réseaux
Étape 1 : Installer les dépendances requises
Avant d'installer Nagios, assurez-vous que votre système Debian est à jour et installez les
packages requis :
sudo apt update && sudo apt upgrade
sudo apt install -y autoconf gcc libc6 make wget unzip apache2 php libapache2-mod-php7.4
libgd-dev
Étape 2 : Créer un utilisateur et un groupe Nagios
Créez un utilisateur et un groupe dédiés pour que Nagios fonctionne en toute sécurité :
udo useradd nagios
sudo groupadd nagcmd
sudo usermod -a -G nagcmd nagios
Étape 3 : Téléchargez et installez Nagios
Téléchargez la dernière version de Nagios Core sur le site officiel :
cd /tmp
wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.4.6.tar.gz
tar xzf nagios-*.tar.gz
cd nagios-*
Compiler et installer Nagios
sudo ./configure --with-nagios-group=nagios --with-command-group=nagcmd
sudo make all
sudo make install
sudo make install-init
sudo make install-config
sudo make install-commandmode
Étape 4 : Installer l'interface Web Nagios
Installez l'interface Web Nagios et créez un utilisateur administrateur :
sudo make install-webconf
sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
Activez les modules de réécriture Apache et CGI :
sudo a2enmod rewrite cgi
sudo systemctl restart apache2
Étape 5 : Installer et configurer les plugins Nagios
Téléchargez et installez les plugins Nagios :
cd /tmp
wget https://nagios-plugins.org/download/nagios-plugins-2.3.3.tar.gz
tar xzf nagios-plugins-*.tar.gz
cd nagios-plugins-*
Compilez et installez les plugins :
sudo ./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-openssl
sudo make
sudo make install
Étape 6 : Configurer Nagios
Modifiez le fichier de configuration principal de Nagios pour définir votre configuration de
surveillance :
sudo nano /usr/local/nagios/etc/nagios.cfg
Ajoutez vos hôtes, services et commandes dans leurs fichiers de configuration respectifs :
sudo nano /usr/local/nagios/etc/objects/commands.cfg
sudo nano /usr/local/nagios/etc/objects/hosts.cfg
sudo nano /usr/local/nagios/etc/objects/services.cfg
Étape 7 : Vérifier et démarrer Nagios
Vérifiez la configuration de Nagios pour toute erreur :
sudo /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
S'il n'y a aucune erreur, démarrez Nagios et activez-le au démarrage :
sudo systemctl start nagios
sudo systemctl enable nagios
Étape 8 : Accéder à l'interface Web de Nagios
Accédez à l'interface Web de Nagios en accédant à http://votre_domaine_or_IP/nagios et
connectez-vous avec l'utilisateur « nagiosadmin » et le mot de passe que vous avez créé
précédemment.
Fin
Supervision des machines Windows
Ce document décrit la façon dont vous pouvez superviser les attributs et services privés de
machines Windows comme:
o Utilisation mémoire
o Charge CPU
o Utilisation disque
o État des services
o Processus en cours d'exécution
o etc.
Introduction
Les services rendus publics qui sont fournis par des machines Windows (HTTP, FTP, POP3,
etc.) peuvent être supervisés de façon simple en suivant la documentation sur la supervision
des services publics disponibles .
Ces instructions impliquent que vous ayez installé Nagios comme précisé dans le guide
rapide. Les exemples de configuration ci-dessous font référence aux objets de configuration
définis dans les fichiers d'exemples (commands.cfg, templates.cfg, etc.) qui ont été installé si
vous avez suivi le guide rapide.
Vue globale
Superviser des attributs et services privés sur une machine Windows requiert l'installation
d'un agent sur celle-ci. Cet agent agit comme un proxy entre les plugins Nagios qui font la
supervision et le service ou l'attribut sur la machine Windows. Sans installation d'agent sur la
machine Windows, Nagios serait incapable de superviser le moindre attributs ou services
privés de la machine Windows.
Pour cet exemple, nous allons installer l'addon NSClient++ sur la machine Windows et
utiliser le plugin check_nt pour communiquer avec NSCLient++. Le plugin check_nt devrait
déjà être installé sur le serveur Nagios si vous avez suivi le guide d'installation rapide.
Vous pouvez utiliser d'autres agents Windows (comme NC_Net) si vous le souhaitez - à
condition de changer un peu les commandes et les définitions de services, etc. Pour faire
simple, je ne couvrirais que l'utilisation de NSCLient++ dans ces instructions.
Étapes
Il y a plusieurs étapes à suivre pour pouvoir superviser une nouvelle machine Windows. Les
voici:
1. Procéder aux pré-requis nécessaires la première fois
2. Installez un agent de supervision sur la machine Windows
3. Créez de nouvelles définitions d'hôte et de service pour superviser la machine
Windows
4. Redémarrez le démon Nagios
Ce qui est déjà fait pour vous
Pour vous rendre la vie un peu plus facile, quelques tâches de configuration ont déjà été faites
pour vous :
o Une définition de commande check_nt a été ajouté au fichier commands.cfg. Cela
permet d'utiliser le plugin check_nt pour superviser les services Windows.
o Un gabarit d'hôte serveur Windows (appelé windows-server) a déjà été créé dans le
fichier templates.cfg. Cela permet d'ajouter de nouvelles définitions d'hôtes Windows
de façon simple.
Les fichiers de configuration mentionnés ci-dessus peuvent être trouvés dans le
répertoire /usr/local/nagios/etc/objects/. Vous pouvez modifier les définitions de ceux-ci ou
en créez de nouvelles pour répondre le mieux à votre besoin. Quoi qu'il en soit, je vous
recommande d'attendre d'avoir une meilleure connaissance de la configuration de Nagios
avant de le faire. Pour le moment, contentez-vous de suivre les directions précisées ci-dessous
et vous pourrez superviser vos machines Windows en un rien de temps.
Pré-requis
La première fois que vous configurez Nagios pour superviser une machine Windows, vous
avez un peu plus de travail à faire. Souvenez-vous, vous n'avez à le faire que pour la
*première* machine Windows à superviser.
Éditez le fichier de configuration principal de Nagios.
#vi /usr/local/nagios/etc/nagios.cfg
Supprimez le caractère (#) du début de la ligne suivante du fichier de configuration principal :
#cfg_file=/usr/local/nagios/etc/objects/windows.cfg
Enregistrez le fichier et quittez.
Qu'avez-vous fait? Vous avez dit à Nagios de regarder dans le
fichier /usr/local/nagios/etc/objects/windows.cfg pour y trouver des définitions d'objets
additionnels. C'est là que vous ajouterez des définitions pour l'hôte Windows. Ce fichier de
configuration contient déjà un exemple de définitions d'hôte, de groupe d'hôtes et de service.
Pour la *première* machine Windows que vous supervisez, vous pouvez simplement
modifier les définitions d'exemples d'hôte et de service dans ce fichier plutôt que d'en créer de
nouvelles.
Installation de l'agent Windows
Avant de pouvoir superviser les attributs et services privés des machines Windows, vous allez
devoir installer un agent sur ces machines. Je recommande l'utilisation de l'addon
NSClient++, qui peut être trouvé sur http://sourceforge.net/projects/nscplus. Ces instructions
vont vous guider au cours d'une installation simple de NSClient++ ainsi que pour la
configuration de Nagios pour superviser une machine Windows.
1. Téléchargez la dernière version stable de NSClient++
depuis http://sourceforge.net/projects/nscplus
2. Dézippez les fichiers de NSClient++ dans un nouveau répertoire C:\NSClient++
3. Ouvrez une fenêtre de commande et déplacez-vous dans le répertoire C:\NSClient++
4. Installez le service système NSClient++ avec la commande suivante:
C:\> nsclient++ /install
5. Installez le module NSClient++ pour la barre des tâches avec la commande suivante
('SysTray' est sensible à la casse):
C:\> nsclient++ SysTray
6. Ouvrez le gestionnaire des services et assurez-vous que le service NSClientpp est
autorisé à interagir avec le bureau (regardez sous l'onglet 'Log On' du gestionnaire de
services). Cochez la case correspondante si ce n'est déjà fait.
7. Éditez le fichier NSC.INI (situé dans le répertoire C:\NSClient++) et effectuez les
changements suivants:
o Décommentez tous les modules listés dans la section [modules],
exceptés CheckWMI.dll et RemoteConfiguration.dll
o
Exigez optionnellement un mot de passe des clients en remplaçant
l'option password dans la section [Settings].
o Décommentez l'option allowed_hosts dans la section [Settings]. Ajoutez
l'adresse IP du serveur Nagios à cette ligne, ou laisser vide pour autoriser
n'importe quel hôte à se connecter.
o Assurez-vous que l'option port dans la section [NSClient] soit décommentée et
réglée sur '12489' (le port par défaut).
8. Démarrez le service NSClient++ avec la commande suivante:
C:\> nsclient++ /start
9. Si l'installation est correcte, une nouvelle icône devrait apparaître dans votre barre des
tâches. Ce sera un cercle jaune avec un 'M' noir à l'intérieur.
10. Bravo! Le serveur Windows peut désormais être ajouté à la configuration de Nagios…
Configuration de Nagios
Configuration de Nagios
Il est temps maintenant de définir quelques définitions d'objets dans vos fichiers de
configuration Nagios pour pouvoir superviser la nouvelle machine Windows.
Ouvrez le fichier windows.cfg pour édition.
#vi /usr/local/nagios/etc/objects/windows.cfg
Ajouter une nouvelle définition d'hôte pour la machine Windows que vous souhaitez
superviser. Si c'est la *première* que vous supervisez, vous pouvez simplement modifier
l'exemple de définition d'hôte dans windows.cfg. Remplacez les champs host_name, alias,
et address par les valeurs appropriées pour votre machine Windows.
define host {
use windows-server ; Inherit default values from a Windows server template (make
sure you keep this line!)
host_name winserver
alias My Windows Server
address 192.168.1.2
}
Bien. Maintenant vous pouvez ajouter quelques définitions de services (dans le même fichier
de configuration) pour indiquer à Nagios de superviser différents aspects de la machine
Windows. Si c'est votre *première* machine Windows, vous pouvez simplement modifier les
définitions exemples de services dans windows.cfg.
Remplacez winserver dans les définitions d'exemples ci-dessous par le nom que vous avez
précisé dans le paramètre de la définition de l'hôte que vous venez d'ajouter.
Ajoutez la définition de service suivante pour contrôler la version du addon NSClient++
tournant sur le serveur Windows. Cela devient utile quand il s'agit de mettre à jour des
serveurs Windows vers une nouvelle version du addon, en vous permettant de déterminer
quelles sont les machines Windows nécessitant une mise à jour vers la dernière version de
NSClient++.
define service {
use generic-service
host_name winserver
service_description NSClient++ Version
check_command check_nt!CLIENTVERSION
}
Ajoutez la définition de service suivante pour superviser le temps écoulé depuis le dernier
re/démarrage du serveur Windows.
define service {
use generic-service
host_name winserver
service_description Uptime
check_command check_nt!UPTIME
}
Ajoutez la définition de service suivante pour superviser la charge CPU du serveur Windows
et générer une alerte CRITICAL si la charge CPU des 5 dernières minutes est égale à 90% ou
plus ou une alerte WARNING si la charge CPU des 5 dernières minutes est égale à 80% ou
plus.
define service {
use generic-service
host_name winserver
service_description CPU Load
check_command check_nt!CPULOAD!-l 5,80,90
}
Ajoutez la définition de service suivante pour superviser l'utilisation de la mémoire du serveur
Windows et générer une alerte CRITICAL si l'utilisation de la mémoire est égale à 90% ou
plus ou une alerte WARNING si l'utilisation de la mémoire est égale à 80% ou plus.
define service {
use generic-service
host_name winserver
service_description Memory Usage
check_command check_nt!MEMUSE!-w 80 -c 90
}
Ajoutez la définition de service suivante pour superviser l'espace utilisé du disque C:\ du
serveur Windows et générer une alerte CRITICAL si l'espace utilisé du disque est égale à
90% ou plus ou une alerte WARNING si l'espace utilisé du disque est égale à 80% ou plus.
define service {
use generic-service
host_name winserver
service_description C:\ Drive Space
check_command check_nt!USEDDISKSPACE!-l c -w 80 -c 90
}
Ajoutez la définition de service suivante pour superviser l'état du service W3SVC et générer
une alerte CRITICAL si ce service est arrêté.
define service {
use generic-service
host_name winserver
service_description W3SVC
check_command check_nt!SERVICESTATE!-d SHOWALL -l W3SVC
}
Ajoutez la définition de service suivante pour superviser l'état du processus Explorer.exe et
générer une alerte CRITICAL si ce processus ne tourne pas.
define service {
use generic-service
host_name winserver
service_description Explorer
check_command check_nt!PROCSTATE!-d SHOWALL -l Explorer.exe
}
Voilà pour le moment. Vous avez ajouté des services simples qui devraient être supervisés sur
les machines Windows. Enregistrez le fichier de configuration.
Protection par mot de passe
Si vous avez précisé un mot de passe dans le fichier de configuration de NSClient++ de la
machine Windows, vous aurez besoin de modifier la définition de commande check_nt pour
inclure le mot de passe. Ouvrez le fichier commands.cfg pour édition.
#vi /usr/local/nagios/etc/commands.cfg
Modifiez la définition de la commande check_nt pour inclure l'argument -
s <PASSWORD> (où PASSWORD est le mot de passe précisé sur la machine Windows)
comme suit:
define command {
command_name check_nt
command_line $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -s PASSWORD -v
$ARG1$ $ARG2$
}
Enregistrez le fichier de configuration.
Redémarrage de Nagios
Vous en avez terminé avec la configuration de Nagios, et vous allez devoir vérifier les fichiers
de configuration et redémarrer Nagios .
Si le processus de vérification produit n'importe quel message d'erreur, réglez d'abord vos
problèmes de configuration avant de continuer. Assurez-vous de ne pas redémarrer Nagios
avant que le processus de vérification ne se déroule sans erreur!