Recherche de site Web

Comment ajouter Linux distant au serveur Nagios à l'aide du plugin NRPE


Dans la première partie de l'article de la série Nagios, nous avons expliqué en détail comment installer et configurer la dernière version de Nagios Core et des Plugins Nagios dans les distributions basées sur RHEL telles que comme CentOS Stream, Rocky Linux, AlmaLinux et Fedora.

Dans cet article, nous allons vous montrer comment ajouter une machine Remote Linux et ses services à l'hôte Nagios Core Monitoring à l'aide de NRPE (Nagios Remote Plugin Executor).

Nous espérons que Nagios Core est déjà installé et fonctionne correctement. Sinon, veuillez utiliser le guide d'installation suivant pour l'installer sur le système.

Si vous envisagez d'ajouter un hôte Windows distant au serveur de surveillance Nagios, utilisez le guide suivant :

Une fois que vous l'avez installé, vous pouvez poursuivre l'installation de l'agent NRPE sur votre hôte Remote Linux. Avant d'aller plus loin, laissez-nous vous donner une brève description du NRPE.

Qu’est-ce que le NRPE ?

Le plugin NRPE (Nagios Remote Plugin Executor) vous permet de surveiller n'importe quel service Linux/Unix distant, périphérique réseau , ou des ressources telles que la charge du processeur, l'échange, l'utilisation de la mémoire, les utilisateurs en ligne, etc. sur Linux local/distant Machines.

Après tout, ces ressources locales ne sont pas principalement exposées aux machines externes, un agent NRPE doit être installé et configuré sur les machines distantes.

Remarque : L'addon NRPE nécessite que les plugins Nagios soient installés sur la machine Linux distante. Sans cela, le démon NRPE ne fonctionnera pas et ne surveillera rien.

Installation du plugin NRPE sur le serveur Nagios et l'hôte Linux distant

Pour utiliser le NRPE, vous devrez effectuer quelques tâches supplémentaires à la fois sur le Serveur de surveillance Nagios et sur l'Hôte Linux distant sur lequel le NRPE est installé. sur. Nous couvrirons les deux parties d’installation séparément.

Installation des plugins Nagios et NRPE sur un hôte Linux distant

Veuillez utiliser les instructions ci-dessous pour installer les plugins Nagios et le démon NRPE sur l'hôte Linux distant.

Étape 1 : Installer les dépendances requises

Nous devons installer les bibliothèques requises telles que gcc, glibc, glibc-common et GD et ses bibliothèques de développement en utilisant le gestionnaire de paquets Yum.

yum install -y gcc glibc glibc-common gd gd-devel make net-snmp openssl-devel tar wget
Étape 2 : Créer un utilisateur Nagios

Créez un nouveau compte utilisateur Nagios et définissez un mot de passe.

useradd nagios
passwd nagios
Étape 3 : Installer les plugins Nagios

Créez un répertoire pour l'installation du plugin nagios et tous ses futurs téléchargements.

mkdir /root/nagios
cd /root/nagios

Téléchargez maintenant le dernier package de plugins Nagios avec la commande wget.

wget https://nagios-plugins.org/download/nagios-plugins-2.3.3.tar.gz
Étape 4 : Extraire les plugins Nagios

Exécutez la commande tar suivante pour extraire l’archive tar du code source.

tar -xvf nagios-plugins-2.3.3.tar.gz

Après, l'extraction d'un nouveau dossier apparaîtra dans ce répertoire.

ls -l

total 2724
drwxr-xr-x. 15 root root    4096 Mar 11  2020 nagios-plugins-2.3.3
-rw-r--r--.  1 root root 2782610 Mar 11  2020 nagios-plugins-2.3.3.tar.gz
Étape 5 : Compiler et installer les plugins Nagios

Ensuite, compilez et installez les plugins Nagios à l'aide des commandes suivantes

cd nagios-plugins-2.3.3
./configure 
make
make install

Définissez les autorisations sur le répertoire du plugin à l'aide de la commande chown.

chown nagios.nagios /usr/local/nagios
chown -R nagios.nagios /usr/local/nagios/libexec
Étape 6 : Installation du plugin NRPE

Pour installer le plugin nrpe, téléchargez d'abord le dernier plugin NRPE ou utilisez la commande wget suivante.

cd /root/nagios
wget https://github.com/NagiosEnterprises/nrpe/releases/download/nrpe-4.0.2/nrpe-4.0.2.tar.gz

Décompressez l’archive tar du code source NRPE.

tar xzf nrpe-4.0.2.tar.gz
cd nrpe-4.0.2

Compilez et installez le module complémentaire NRPE.

./configure
make all

Remarque : Si vous obtenez l'erreur suivante lors de l'exécution de la commande « make all » :

In file included from ../include/common.h:34,
                 from ./nrpe.c:38:
/usr/include/openssl/err.h:413:15: note: declared here
  413 | unsigned long ERR_get_error_line_data(const char **file, int *line,
      |               ^~~~~~~~~~~~~~~~~~~~~~~
/usr/bin/ld: /tmp/ccWQBjHb.o: in function `init_ssl':
/root/nagios/nrpe-4.0.2/src/./nrpe.c:474: undefined reference to `get_dh2048'
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile:48: nrpe] Error 1

Ensuite, vous devez désactiver SSL pour la configuration nrpe avec l'indicateur ./configure --disable-ssl comme indiqué.

./configure --disable-ssl
make all

Ensuite, installez le démon du plug-in NRPE et des exemples de fichiers de configuration.

make install-plugin
make install-daemon
make install-config

Installez le démon NRPE sous systemd en tant que service.

make install-init
Étape 7 : Configuration du plugin NRPE

Ouvrez maintenant le fichier /usr/local/nagios/etc/nrpe.cfg et ajoutez l'hôte local et l'adresse IP du Nagios. Serveur de surveillance.

allowed_hosts=127.0.0.1,192.168.102

Ensuite, activez et redémarrez le service nrpe.

systemctl enable nrpe
systemctl restart nrpe
Étape 8 : Ouvrez le port NRPE dans le pare-feu

Assurez-vous que le Pare-feu de la machine locale permettra d'accéder au démon NRPE à partir de serveurs distants. Pour ce faire, exécutez la commande iptables suivante.

firewall-cmd --zone=public --add-port=5666/tcp
firewall-cmd --zone=public --add-port=5666/tcp --permanent
Étape 8 : Vérifier le démon NRPE localement

Exécutez la commande netstat suivante pour vérifier que le démon NRPE fonctionne correctement sous systemd.


# netstat -at | grep nrpe
OR
netstat -na | grep "5666"


tcp        0      0 0.0.0.0:nrpe            0.0.0.0:*               LISTEN     
tcp6       0      0 [::]:nrpe               [::]:*                  LISTEN 

Si vous obtenez un résultat similaire à celui ci-dessus, cela signifie qu'il fonctionne correctement. Sinon, assurez-vous de vérifier les éléments suivants.

  • Assurez-vous de vérifier que l'entrée nrpe est correctement ajoutée dans le fichier /etc/services.
  • Le allowed_hosts contient une entrée pour « nagios_ip_address » dans le fichier /usr/local/nagios/etc/nrpe.cfg.
  • Recherchez les erreurs dans les fichiers journaux système concernant environ nrpe et corrigez ces problèmes.

Ensuite, vérifiez que le démon NRPE fonctionne correctement en exécutant la commande « check_nrpe » qui a été installée précédemment à des fins de test.

/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1

Vous obtiendrez la chaîne suivante à l'écran, elle vous indique quelle version de NRPE est installée :

NRPE v4.0.2
Étape 9 : Personnaliser les commandes NRPE

Le fichier de configuration NRPE par défaut installé comporte plusieurs définitions de commandes qui seront utilisées pour surveiller cette machine. L'exemple de fichier de configuration se trouve à l'adresse.

vi /usr/local/nagios/etc/nrpe.cfg

Voici les définitions de commandes par défaut situées au bas du fichier de configuration. Pour le moment, nous supposons que vous utilisez ces commandes. Vous pouvez les vérifier en utilisant les commandes suivantes.

/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1 -c check_users

USERS OK - 1 users currently logged in |users=1;5;10;0
/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1 -c check_load

OK - load average: 3.90, 4.37, 3.94|load1=3.900;15.000;30.000;0; load5=4.370;10.000;25.000;0; load15=3.940;5.000;20.000;0;
/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1 -c check_hda1

DISK OK - free space: /boot 154 MB (84% inode=99%);| /boot=29MB;154;173;0;193
/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1 -c check_total_procs

PROCS CRITICAL: 297 processes
/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1 -c check_zombie_procs

PROCS OK: 0 processes with STATE = Z

Vous pouvez modifier et ajouter de nouvelles définitions de commandes en modifiant le fichier de configuration NRPE. Enfin, vous avez installé et configuré avec succès l'agent NRPE sur l'hôte Linux distant.

Il est maintenant temps d'installer un composant NRPE et d'ajouter quelques services à votre Nagios Monitoring Server

Installation de NRPE sur le serveur de surveillance Nagios

Connectez-vous maintenant à votre serveur de surveillance Nagios. Ici, vous devrez faire les choses suivantes :

  • Installez le plug-in check_nrpe.
  • Créez une définition de commande Nagios à l'aide du plugin check_nrpe.
  • Créez un hôte Nagios et ajoutez des définitions de service pour surveiller l'hôte Linux distant.
Étape 1 : Installer le plugin NRPE dans Nagios

Accédez au répertoire de téléchargement nagios et téléchargez le dernier plugin NRPE ou utilisez la commande wget suivante.

cd /root/nagios
wget https://github.com/NagiosEnterprises/nrpe/releases/download/nrpe-4.0.2/nrpe-4.0.2.tar.gz

Décompressez l’archive tar du code source NRPE.

tar xzf nrpe-4.0.2.tar.gz
cd nrpe-4.0.2

Compilez et installez le module complémentaire NRPE.

./configure
make all
make install-plugin
make install-daemon
make install-init
Étape 2 : vérifier le démon NRPE à distance

Assurez-vous que le plug-in check_nrpe peut communiquer avec le démon NRPE sur l'hôte Linux distant. Ajoutez l'adresse IP dans la commande ci-dessous avec l'adresse IP de votre hôte Remote Linux.

/usr/local/nagios/libexec/check_nrpe -H <remote_linux_ip_address>

Vous recevrez une chaîne qui vous indiquera quelle version de NRPE est installée sur l'hôte distant, comme ceci :

NRPE v4.0.2

Si vous recevez une erreur d’expiration du délai d’attente du plugin, vérifiez les éléments suivants.

  • Assurez-vous que votre pare-feu ne bloque pas la communication entre l'hôte distant et l'hôte de surveillance.
  • Assurez-vous que le démon NRPE est correctement installé sous systemd.
  • Assurez-vous que les règles de pare-feu de l'hôte Linux distant empêchent le serveur de surveillance de communiquer avec le démon NRPE.

Ajout d'un hôte Linux distant au serveur de surveillance Nagios

Pour ajouter un hôte distant, vous devez créer deux nouveaux fichiers « hosts.cfg » et « services.cfg » sous « /usr/local/nagios/ etc/ ».

Étape 1 : Création du fichier d'hôte et de services Nagios
cd /usr/local/nagios/etc/
touch hosts.cfg
touch services.cfg

Ajoutez maintenant ces deux fichiers au fichier de configuration principal de Nagios. Ouvrez le fichier nagios.cfg avec n'importe quel éditeur.

vi /usr/local/nagios/etc/nagios.cfg

Ajoutez maintenant les deux fichiers nouvellement créés comme indiqué ci-dessous.

You can specify individual object config files as shown below:
cfg_file=/usr/local/nagios/etc/hosts.cfg
cfg_file=/usr/local/nagios/etc/services.cfg
Étape 2 : Configuration du fichier d'hôte et de services Nagios

Ouvrez maintenant le fichier hosts.cfg et ajoutez le nom du modèle d'hôte par défaut et définissez les hôtes distants comme indiqué ci-dessous. Assurez-vous de remplacer host_name, alias et adresse par les détails de votre serveur hôte distant.

vi /usr/local/nagios/etc/hosts.cfg
## Default Linux Host Template ##
define host{
name                            linux-box               ; Name of this template
use                             generic-host            ; Inherit default values
check_period                    24x7        
check_interval                  5       
retry_interval                  1       
max_check_attempts              10      
check_command                   check-host-alive
notification_period             24x7    
notification_interval           30      
notification_options            d,r     
contact_groups                  admins  
register                        0                       ; DONT REGISTER THIS - ITS A TEMPLATE
}

## Default
define host{
use                             linux-box               ; Inherit default values from a template
host_name                       tecmint		        ; The name we're giving to this server
alias                           CentOS 6                ; A longer name for the server
address                         5.175.142.66            ; IP address of Remote Linux host
}

Ensuite, ouvrez le fichier services.cfg et ajoutez les services suivants à surveiller.

vi /usr/local/nagios/etc/services.cfg
define service{
        use                     generic-service
        host_name               tecmint
        service_description     CPU Load
        check_command           check_nrpe!check_load
        }

define service{
        use                     generic-service
        host_name               tecmint
        service_description     Total Processes
        check_command           check_nrpe!check_total_procs
        }

define service{
        use                     generic-service
        host_name               tecmint
        service_description     Current Users
        check_command           check_nrpe!check_users
        }

define service{
        use                     generic-service
        host_name               tecmint
        service_description     SSH Monitoring
        check_command           check_nrpe!check_ssh
        }

define service{
        use                     generic-service
        host_name               tecmint
        service_description     FTP Monitoring
        check_command           check_nrpe!check_ftp
        }
Étape 3 : Configuration de la définition de commande NRPE

La définition de la commande NRPE doit maintenant être créée dans le fichier commands.cfg.

vi /usr/local/nagios/etc/objects/commands.cfg

Ajoutez la définition de commande NRPE suivante au bas du fichier.

###############################################################################
NRPE CHECK COMMAND
#
Command to use NRPE to check remote host systems
###############################################################################

define command{
        command_name check_nrpe
        command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
        }

Enfin, vérifiez les fichiers de configuration Nagios pour toute erreur.

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

Total Warnings: 0
Total Errors:   0

Enfin, redémarrez Nagios pour appliquer les modifications de configuration récentes :

systemctl restart nagios
Étape 4 : Surveillance de Linux à distance dans Nagios

Accédez maintenant à l'interface Nagios Monitoring Web à l'adresse « http://Your-server-IP-address/nagios » ou « http://FQDN/nagios » et fournissez le nom d'utilisateur « nagiosadmin » et le mot de passe. Vérifiez que l'hôte Linux distant a été ajouté et est surveillé.

Conclusion

C'est ça! pour l'instant, dans mon prochain article, je vais vous montrer comment ajouter un hôte Windows au serveur de surveillance Nagios. Si vous rencontrez des difficultés lors de l'ajout de l'hôte distant à Nagios.

Veuillez commenter vos questions ou problèmes via la section commentaires, d'ici là, restez à l'écoute de linux-console.net pour d'autres articles de ce type.