Nagios est une application populaire et open source utilisée pour la surveillance continue des systèmes, des réseaux, des services et des applications. Il surveille en permanence l'état des machines et des différents services. En cas de problème, il fournit un avertissement précoce afin que l'administrateur puisse prendre les mesures requises. Nagios effectue toutes les vérifications sur les machines locales et hôtes à l'aide de programmes externes appelés plugins. Il vous fournit également une interface Web qui permet de visualiser l'état des hôtes et des services, l'historique, les journaux et de générer des rapports.
Dans cet article, nous expliquerons comment installer et configurer Nagios sur Linux et surveiller la santé des autres serveurs Linux. Nous utiliserons les deux serveurs Debian 10 (Buster); les deux sur le même réseau. Sur le serveur de surveillance, nous allons installer le noyau Nagios, le plugin Nagios et le plugin check_nrpe. Sur l'hôte distant, nous allons installer le plugin Nagios et NRPE.
Terminologies
Comprenons quelques terminologies qui vous aident à comprendre les configurations :
Hébergeur :Il s'agit d'un périphérique qui doit être surveillé, tel qu'une machine physique, un poste de travail ou un périphérique réseau.
Service :Il s'agit du service ou de la ressource surveillée sur l'hôte, comme HTTP, SMTP, POP, DNS, le nombre d'utilisateurs connectés, l'utilisation de la mémoire, etc.
Plug-in Nagios : Ce sont des scripts qui vérifient l'état d'un hôte ou d'un service et vérifient s'ils fonctionnent correctement. Certains plugins prédéfinis peuvent vérifier les ressources de base telles que la charge du processeur, l'utilisation du disque, les taux de ping, etc. Les plugins sont généralement situés dans /usr/local/nagios/libexec répertoire.
Module complémentaire NRPE (Nagios Remote Plugin Executor) : Le module complémentaire NRPE exécute les plugins sur les hôtes Linux distants, ce qui permet ensuite à Nagios de garder un œil sur les ressources locales (espace disque, utilisation de la mémoire, etc.). Le module complémentaire NRPE comprend :
- Démon NRPE – Il s'exécute sur des hôtes Linux/Unix distants qui doivent être surveillés
- Plug-in check_nrpe – Il est utilisé par le serveur de supervision Nagios
Vous devez avoir les privilèges sudo sur les deux serveurs. Les détails de nos machines sont les suivants :
Serveur de surveillance Nagios :
- Nom d'hôte :nagios-server,
- Adresse IP :192.168.72.158
Hôte Nagios :
- Nom d'hôte :client
- Adresse IP :192.168.72.159
Étape 1 - Installer Nagios Core sur Monitoring Server
Sur le serveur de surveillance Nagios, suivez les étapes ci-dessous pour télécharger et installer le noyau Nagios.
1. Installation des prérequis
Tout d'abord, nous devrons installer les prérequis sur le serveur de surveillance Nagios. Pour ce faire, mettez à jour la liste des packages à l'aide de la commande ci-dessous dans Terminal :
Mise à jour $ sudo apt
Installez ensuite les packages requis :
$ sudo apt install -y autoconf gcc libc6 make wget unzip apache2 php libapache2-mod-php7.4 libgd-dev openssl libssl-dev
2. Télécharger la source Nagios
Accédez à /tmp répertoire :
$ cd /tmp
Téléchargez ensuite le code source de Nagios en utilisant le wget commande. Nous allons télécharger la dernière version actuellement disponible de Nagios qui est 4.4.6 . Vous pouvez visiter les téléchargements de Nagios pour rechercher la version stable actuelle.
$ wget -O nagios.tar.gz https://github.com/NagiosEnterprises/nagioscore/archive/nagios-4.4.6.tar.gz
Le fichier téléchargé sera enregistré sous nagios.tar.gz dans le /tmp répertoire.
3. Compiler la source
Extraire l'archive téléchargée nagios.tar.gz en utilisant la commande ci-dessous :
$ tar -xzf nagios.tar.gz
Déplacez-vous dans le dossier extrait à l'aide du cd commande :
$ cd nagioscore-nagios-4.4.6/
Exécutez la configuration script et spécifie le chemin d'accès au répertoire de configuration du serveur Apache :
$ ./configure --with-httpd-conf=/etc/apache2/sites-enabled
Une fois le script de configuration exécuté, vous verrez le résumé ci-dessous à la fin de la sortie :
Votre configuration le script peut échouer en cas de prérequis manquant. Dans ce cas, installez les prérequis manquants et relancez le script.
Compilez maintenant Nagios en utilisant la commande ci-dessous :
$ font tout
4. Créer un utilisateur et un groupe
Créez maintenant un utilisateur et un groupe pour Nagios.
$ sudo make install-groups-users
La commande ci-dessus créera un utilisateur système et un groupe Nagios.
Nous devrons également ajouter l'utilisateur "www-data ” aux nagios groupe.
$ sudo usermod -a -G nagios www-data
5. Installation des binaires
Ensuite, pour installer les binaires, utilisez la commande ci-dessous :
$ sudo make install
6. Installer le service/démon
Pour installer les fichiers de service, utilisez la commande ci-dessous :
$ sudo make install-daemoninit
7. Installer le mode de commande
Pour installer et configurer le fichier de commande externe, utilisez la commande ci-dessous :
$ sudo make install-commandmode
8. Installer les fichiers de configuration
Ensuite, pour installer l'exemple de configuration Nagios, utilisez la commande ci-dessous :
$ sudo make install-config
9. Installer les fichiers de configuration Apache
Cela installe les fichiers de configuration Apache, utilisez la commande ci-dessous :
$ sudo make install-webconf
Activez maintenant les modules Apache à l'aide des commandes ci-dessous :
réécriture de $ sudo a2enmod
sudo a2enmod cgi
Créer un compte utilisateur Nagiosadmin pour l'interface Web :
Nous allons maintenant créer un compte utilisateur Apache pouvant accéder à l'interface Web de Nagios.
$ sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
Définissez maintenant le mot de passe pour le nagiosadmin compte d'utilisateur. Ce mot de passe sera utilisé pour accéder à l'interface web de Nagios.
Redémarrez ensuite Apache pour que les changements de configuration prennent effet :
$ sudo systemctl restart apache2
Nous avons maintenant installé avec succès le moteur principal de Nagios.
Étape 2 – Installer le plug-in Nagios sur le serveur de surveillance
Pour que le noyau Nagios fonctionne correctement, vous devrez installer le plugin Nagios.
Télécharger le plugin Nagios
Sur le serveur Nagios, accédez à /tmp répertoire :
$ cd /tmp
Téléchargez ensuite le code source du plugin Nagios en utilisant le wget commande. Nous allons télécharger la dernière version actuellement disponible du plugin Nagios qui est 2.3.3. Vous pouvez visiter la page Github pour trouver la version stable récente.
$ wget -O Nagios-plugins.tar.gz https://github.com/nagios-plugins/nagios-plugins/releases/download/release-2.3.3/nagios-plugins-2.3.3.tar. gz
Le fichier téléchargé sera enregistré sous Nagios-plugins.tar.gz dans le /tmp répertoire.
Compiler
Extraire l'archive téléchargée Nagios-plugins.tar.gz en utilisant la commande ci-dessous :
$ tar zxf nagios-plugins.tar.gz
Accédez au dossier extrait à l'aide du cd commande :
$ cd nagios-plugins-2.3.3/
Exécutez la configuration script :
$ sudo ./configure
Compilez maintenant le plugin Nagios en utilisant la commande ci-dessous :
$ sudo make
$ sudo make install
Étape 3 – Installer le plug-in check_nrpe sur le serveur de surveillance
Nous allons maintenant installer check_nrpe plugin sur notre serveur Nagios.
Télécharger la source du plug-in
Sur le serveur Nagios, accédez à /tmp répertoire :
$ cd /tmp
Téléchargez ensuite le code source de check_nrpe à l'aide de la commande wget. Nous allons télécharger la dernière version disponible de check_nrpe qui est 4.0.3. Vous pouvez visiter la page Github pour trouver la version stable récente.
$ wget -O Nagios-nrpe.tar.gz https://github.com/NagiosEnterprises/nrpe/releases/download/nrpe-4.0.3/nrpe-4.0.3.tar.gz
Le fichier téléchargé sera enregistré sous Nagios-nrpe.tar.gz dans le /tmp répertoire.
Compilation des sources
Extraire l'archive téléchargée nagios.tar.gz en utilisant la commande ci-dessous :
$ tar -xzf Nagios-nrpe.tar.gz
Accédez au dossier extrait à l'aide du cd commande :
$ cd nrpe-4.0.3/
Exécutez la configuration script :
$ sudo ./configure
Compilez maintenant le check_nrpe en utilisant la commande ci-dessous :
$ sudo make check_nrpe
$ sudo make install-plugin
Étape 4 - Configuration de Nagios
Maintenant, nous allons configurer le fichier de configuration principal de Nagios. Editez le fichier de configuration de Nagios nagios.cfg en utilisant la commande ci-dessous :
$ sudo nano /usr/local/nagios/etc/nagios.cfg
Trouvez maintenant la ligne ci-dessous dans le fichier et décommentez-la en supprimant le # caractère à partir du début de la ligne.
#cfg_dir=/usr/local/nagios/etc/servers
La ligne ci-dessus spécifie le répertoire qui contient un fichier de configuration pour tous les hôtes que le serveur Nagios surveillera. Maintenant, enregistrez et fermez le fichier de configuration.
Nous allons maintenant créer le répertoire dans le chemin défini ci-dessus :
$ sudo mkdir /usr/local/nagios/etc/servers
Configurer les contacts de messagerie
Nous allons maintenant configurer les contacts qui doivent être notifiés en cas d'événement. Modifiez la configuration des contacts Nagios à l'aide de la commande ci-dessous :
Afin de recevoir des alertes du serveur de surveillance Nagios, vous devrez configurer les contacts. Ouvrez les contacts fichier de configuration, et indiquez l'adresse e-mail à laquelle vous souhaitez recevoir les e-mails de Nagios :
$ sudo nano /usr/local/nagios/etc/objects/contacts.cfg
Dans la directive email, remplacez [email protected]localhost avec votre propre adresse e-mail, puis enregistrez et fermez le fichier.
Configurer check_nrpe
Maintenant, pour utiliser check_nrpe plugin, nous ajouterons une nouvelle commande dans la commande fichier de configuration. Modifiez le fichier de configuration de la commande commands.cfg en utilisant la commande ci-dessous :
$ sudo nano /usr/local/nagios/etc/objects/commands.cfg
Ajoutez les lignes suivantes à la fin de commands.cfg fichier, puis enregistrez-le et fermez-le :
define command{
nom_commande check_nrpe
ligne_commande $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
Démarrez maintenant le service Nagios :
$ sudo systemctl start Nagios.serviceÉtape 5 - Accéder à l'interface Web de Nagios
Accédez maintenant à l'interface Web de Nagios en visitant l'adresse ci-dessous dans n'importe quel navigateur Web :
http://nagios-server-ip/nagiosDans notre scénario, ce serait :
http://192.168.72.158/nagiosDans le champ Authentification requise boîte de dialogue, tapez nagiosadmin comme nom d'utilisateur et mot de passe que vous avez définis précédemment.
Une fois connecté à l'interface Web, vous verrez la page Web par défaut de Nagios. Accédez aux Hôtes onglet dans la barre latérale gauche pour afficher les hôtes surveillés.
À l'heure actuelle, vous ne verrez qu'un seul hôte "localhost ” qui est le serveur Nagios lui-même. Afin de surveiller d'autres hôtes, vous devrez installer le NRPE démon sur eux.
Étape 6 - Configuration de l'hôte à distance
Maintenant, vous devrez installer le plugin Nagios et NRPE sur les hôtes qui doivent être surveillés sur le serveur Nagios.
1. Installer le plugin Nagios sur l'hôte distant
Dans l'hôte distant (client) qui doit être surveillé, suivez les étapes ci-dessous pour installer le plugin Nagios.
1. Tout d'abord, mettez à jour l'apt :
Mise à jour $ sudo apt2. Lancez ensuite la commande ci-dessous pour installer les packages requis :
$ sudo apt install autoconf gcc libmcrypt-dev make libssl-dev dc build-essential gettext3. Maintenant, accédez à /tmp et téléchargez le plugin Nagios.
$ cd /tmp$ wget -O Nagios-plugins.tar.gz https://github.com/nagios-plugins/nagios-plugins/releases/download/release-2.3.3/nagios-plugins-2.3.3.tar. gz4. Extrayez l'archive téléchargée :
$ tar -zxf nagios-plugins.tar.gz5. Déplacez-vous dans le dossier extrait et exécutez la configuration script :
$ cd nagios-plugins-2.3.3//
$ sudo ./configure6. Compilez le plugin :
$ sudo make
$ sudo make install2. Installer le démon NRPE sur l'hôte distant
Suivez les étapes ci-dessous pour installer NRPE sur l'hôte distant.
1. Tout d'abord, mettez à jour l'apt :
Mise à jour $ sudo apt2. Exécutez la commande ci-dessous pour installer les prérequis :
$ sudo apt install -y autoconf automake gcc libc6 libmcrypt-dev make libssl-dev3. Accédez maintenant à /tmp et téléchargez NRPE.
$ cd /tmp
$ wget -O nrpe.tar.gz https://github.com/NagiosEnterprises/nrpe/releases/download/nrpe-4.0.3/nrpe-4.0.3.tar. gz4. Extrayez l'archive téléchargée :
$ tar xzf nrpe.tar.gz5. Déplacez-vous dans le dossier extrait et exécutez le script de configuration :
$ sudo ./configure --enable-command-args6. Compilez le NRPE avec les commandes suivantes :
$ sudo fait tout$ make install-groups-users
$ sudo make install
$ sudo make install-config
$ sudo make install-init3. Configurer le pare-feu
Maintenant, si un pare-feu s'exécute sur votre hôte distant, vous devrez ouvrir le port 5666 (utilisé par NRPE) via celui-ci.
$ sudo ufw allow 5666/tcp4. Mettre à jour la configuration NRPE
Ouvrez maintenant le fichier de configuration NRPE dans l'hôte distant :
$ sudo nano /usr/local/nagios/etc/nrpe.cfgVous devrez rechercher et modifier les entrées ci-dessous :
Ajouter l'adresse IP du client :
server_address=192.168.72.159
Ajouter l'adresse IP du serveur Nagios :
allowed_hosts=127.0.0.1,192.168.72.158
Remplacez également /dev/vda1 avec votre système de fichiers racine :
commande[check_disk]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/sda1
Lancez ensuite le service NRPE :
$ sudo systemctl start nrpe.serviceVérifiez maintenant si le service NRPE fonctionne correctement :
$ sudo systemctl status nrpe.serviceL'actif (en cours d'exécution) dans la sortie ci-dessous indique que le service fonctionne correctement sans aucun problème. Vous pouvez également voir que le NRPE autorise la connexion depuis 192.168.72.158 qui est l'adresse IP du serveur Nagios.
Maintenant, pour vérifier si le check_nrpe sur le serveur Nagios peut communiquer avec le NRPE sur l'hôte distant , lancez cette commande sur le serveur Nagios :
$ /usr/local/nagios/libexec/check_nrpe -H remote_host_ipVous devriez recevoir la sortie similaire suivante (numéro de version NRPE).
Étape 7 - Ajouter la configuration de l'hôte au serveur Nagios
Maintenant dans le serveur de supervision Nagios, vous devrez créer des fichiers de configuration séparés dans le répertoire /usr/local/nagios/etc/servers / pour tous les hôtes distants que vous devez surveiller.
Pour notre machine hôte, nous allons créer un nouveau fichier de configuration client.cfg :
$ sudo nano /usr/local/nagios/etc/servers/client.cfgRemplacer client avec le nom de votre hébergeur :
Ajoutez maintenant la définition d'hôte au nouveau fichier de configuration en remplaçant la valeur de host_name avec le nom d'hôte distant, alias avec une courte description et l'adresse avec l'adresse IP de l'hôte distant.
Cette configuration vérifiera si la machine hôte est en marche ou en panne.
définir l'hôte {
utiliser linux-server
nom_hôte client
alias machine cliente
adresse 192.168 .72.159
max_check_attempts 5
}Ajoutez maintenant une définition de service au fichier de configuration pour surveiller l'hôte distant. Remplacez la valeur de host_name avec le nom d'hôte distant.
Remarque : Ces définitions de service utiliseront les commandes préconfigurées dans le /usr/local/nagios/etc/nrpe.cfg fichier sur l'hôte distant.
Ajoutez le bloc de service suivant pour surveiller la charge du processeur sur l'hôte distant
define service {
use generic-service
host_name client
service_description CPU Load
check_command check_nrpe ! check_load
}
c sur l'hôte distant :define service{
use generic-service
host_name client
service_description Nombre total de processus
check_command check_nrpe ! check_total_procs}
Ajoutez le bloc de service suivant pour surveiller l'utilisation du disque sur l'hôte distant :
define service {
use generic-service
host_name client
service_description Check Disk
check_command check_nrpe!check_disk}
Ajoutez le bloc de service suivant pour surveiller le nombre d'utilisateurs actuellement connecté sur l'hôte distant :
define service {
use generic-service
host_name client
service_description Utilisateurs actuels
check_command check_nrpe!check_users }>
}>
pré>Maintenant, enregistrez et fermez le fichier de configuration.
Redémarrez le service Nagios pour appliquer les changements de configuration :
$ sudo systemctl redémarrer NagiosAccédez maintenant à l'interface Web en utilisant le http://nagios-server-ip/nagios. Attendez un moment et votre hôte distant sera ajouté à l'interface Web de Nagios.
Accédez à Hôtes dans la barre de navigation de gauche et vous verrez votre hôte distant y être répertorié.
Allez ensuite dans les Services et vous verrez l'état de tous les services pour un hôte que vous avez configuré pour la surveillance.
Dans cet article, nous avons expliqué comment installer et configurer la solution de supervision Nagios sous Linux. Nous avons également expliqué comment configurer des hôtes distants pour la surveillance. Vous pouvez désormais surveiller facilement la santé des hôtes Linux et des services qui y sont exécutés.
Cliquez ici si vous souhaitez surveiller vos serveurs avec Zabbix.