Dans le dernier article, nous avons discuté de l’installation du serveur Nagios sur Debian 9 . Ici, dans ce post, nous allons ajouter l’hôte Linux à l’ outil de surveillance Nagios en utilisant le plugin NRPE.
NRPE Plugin:
Le plugin Nagios Remote Plugin Executor (en abrégé NRPE) vous permet de surveiller les applications et services s’exécutant sur des hôtes Linux / Windows distants. Ce module NRPE permet à Nagios de surveiller les ressources locales comme le processeur, la mémoire, le disque, l’échange, etc. de l’hôte distant.
Enfin, votre système distant doit avoir ce plugin NRPE installé.
Étapes pour ajouter Linux Host à la surveillance Nagios,
Sur l’hôte distant Nagios:
- Installez les plug-ins NRPE Add-on et Nagios
- Configurer l’extension NRPE
- Configurer les chèques Nagios
Sur l’hôte du serveur Nagios:
- Configurer le serveur Nagios
- Surveillez la machine distante.
Nagios Remote Host:
Installez le plug-in NRPE et les plugins Nagios:
Les plugins NRPE et Nagios ne sont pas disponibles dans le référentiel de base. Donc, pour CentOS 7 / RHEL 7, vous devez configurer le référentiel EPEL sur votre machine.
### CentOS 7 / RHEL 7 ### rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm Utilisez la commande suivante pour installer le plug-in NRPE et les plugins Nagios.
### CentOS 7 / RHEL 7 ### yum install -y nrpe nagios-plugins-all ### Ubuntu 16.04 / Debian 9 ### apt-get install -y nagios-nrpe-server nagios-plugins
Configurer le module complémentaire NRPE:
Modifiez le fichier de configuration NRPE pour accepter la connexion du serveur Nagios, Editez le fichier /etc/nagios/nrpe.cfg .
vi /etc/nagios/nrpe.cfg
Ajoutez l’adresse IP des serveurs Nagios, séparés par une virgule comme ci-dessous.
Configurer les vérifications Nagios:
Le fichier /etc/nagios/nrpe.cfg contient les commandes de base pour vérifier les attributs (CPU, mémoire, disque, etc.architecure) et les services (HTTP, FTP, etc.) sur les hôtes distants. Les lignes de commande ci-dessous vous permettent de surveiller les attributs à l’aide des plugins Nagios.
Remarque: Le chemin d’accès aux plug-ins Nagios peut varier en fonction de l’architecture de votre système d’exploitation (i386 ou x86_64)
CentOS 7 / RHEL 7:
command[check_users]=/usr/lib64/nagios/plugins/check_users -w 5 -c 10 command[check_load]=/usr/lib64/nagios/plugins/check_load -w 15,10,5 -c 30,25,20 command[check_root]=/usr/lib64/nagios/plugins/check_disk -w 20% -c 10% -p /dev/mapper/centos-root command[check_swap]=/usr/lib64/nagios/plugins/check_swap -w 20% -c 10% command[check_total_procs]=/usr/lib64/nagios/plugins/check_procs -w 150 -c 200
Ubuntu 16.04 / Debian 9:
command[check_users]=/usr/lib/nagios/plugins/check_users -w 5 -c 10 command[check_load]=/usr/lib/nagios/plugins/check_load -w 15,10,5 -c 30,25,20 command[check_root]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /dev/mapper/server--vg-root command[check_swap]=/usr/lib/nagios/plugins/check_swap -w 20% -c 10% command[check_total_procs]=/usr/lib/nagios/plugins/check_procs -w 150 -c 200
Dans la définition de commande ci-dessus -w signifie avertissement et -c signifie critique .
Par exemple, exécutez la commande ci-dessous dans un autre terminal. Testé sur Ubuntu 16.04 :
/usr/lib/nagios/plugins/check_procs -w 150 -c 200
PROCS WARNING: 190 processes | procs=190;150;200;0;
Nagios plugin comptera les processus en cours et vous avertira lorsque le nombre de processus est supérieur à 150, ou il vous indiquera critique lorsque le nombre de processus est supérieur à 200, et en même temps, la sortie affichera OK si le nombre est inférieur à 150
Vous pouvez ajuster le niveau d’alerte selon vos besoins. Changez l’avertissement à 200 et critiquez à 250 pour l’essai. Maintenant, vous pouvez voir un message OK.
/usr/lib/nagios/plugins/check_procs -w 200 -c 250
PROCS OK: 189 processes | procs=189;200;250;0;
Ces définitions de commande doivent être entrées dans le fichier modèle sur l’hôte du serveur Nagios pour activer la surveillance.
Redémarrez le service NRPE.
### CentOS 7 / RHEL 7 ### systemctl start nrpe systemctl active nrpe ### Ubuntu 16.04 / Debian 9 ### /etc/init.d/nagios-nrpe-server restart
Hôte du serveur Nagios:
Les plugins NRPE et Nagios ne sont pas disponibles dans le référentiel de base. Donc, pour CentOS 7 / RHEL 7, vous devez configurer le référentiel EPEL sur votre machine.
rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
Installez check_nrpe plugin:
Utilisez la commande suivante pour installer le plugin ” check_nrpe ” sur votre machine.
### CentOS 7 / RHEL 7 ### yum -y installer nagios-plugins-nrpe ### Ubuntu 16.04 / Debian 9 ### apt-get -y installer nagios-nrpe-plugin
Editez le fichier de configuration de Nagios pour inclure tous les fichiers “* .cfg ” dans le répertoire “/usr/local/nagios/etc/servers “.
nano /usr/local/nagios/etc/nagios.cfg
Ajouter ou décommenter la ligne suivante.
cfg_dir=/usr/local/nagios/etc/servers
Créez un répertoire de configuration.
mkdir /usr/local/nagios/etc/servers
Configurer le serveur Nagios:
nano /usr/local/nagios/etc/objects/commands.cfg
Ajoutez la définition de commande Nagios suivante au fichier.
### CentOS 7 / RHEL 7 ### # .check_nrpe. command definition define command{ command_name check_nrpe command_line /usr/lib64/nagios/plugins/check_nrpe -H $HOSTADDRESS$ -t 30 -c $ARG1$ } ### Ubuntu 16.04 Debian 9 ### # .check_nrpe. command definition define command{ command_name check_nrpe command_line /usr/lib/nagios/plugins/check_nrpe -H $HOSTADDRESS$ -t 30 -c $ARG1$ }
Ajouter un hôte Linux au serveur Nagios:
Créez un fichier de configuration client ( /usr/local/nagios/etc/servers/client.itzgeek.local.cfg ) pour définir les définitions d’hôte et de service de l’hôte Linux distant. Vous pouvez également utiliser le modèle suivant et le modifier en fonction de vos besoins. Le modèle suivant permet de surveiller les utilisateurs connectés, le chargement du système, l’utilisation du disque (/ – partitions), le swap et le processus total .
nano /usr/local/nagios/etc/servers/client.itzgeek.local.cfg
Copiez le contenu ci-dessous dans le fichier ci-dessus.
define host{ use linux-server host_name client.itzgeek.local alias client.itzgeek.local address 192.168.12.20 } define hostgroup{ hostgroup_name linux-server alias Linux Servers members client.itzgeek.local } define service{ use local-service host_name client.itzgeek.local service_description SWAP Uasge check_command check_nrpe!check_swap } define service{ use local-service host_name client.itzgeek.local service_description Root / Partition check_command check_nrpe!check_root } define service{ use local-service host_name client.itzgeek.local service_description Current Users check_command check_nrpe!check_users } define service{ use local-service host_name client.itzgeek.local service_description Total Processes check_command check_nrpe!check_total_procs } define service{ use local-service host_name client.itzgeek.local service_description Current Load check_command check_nrpe!check_load }
Vérifiez Nagios pour toute erreur.
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
Redémarrez le serveur Nagios.
service nagios restart
Pare-feu : (non obligatoire)
Configurez le pare-feu pour que le serveur Nagios puisse atteindre le serveur NRPE s’exécutant sur un hôte Linux distant. Exécutez ces commandes sur une machine Linux distante.
Pare-feu:
firewall-cmd --permanent --add-port = 5666 / tcp pare-feu-cmd --reload
UFW:
ufw autoriser 5666 / tcp ufw recharger ufw activer
Surveiller la machine distante:
Allez voir l’interface Web de Nagios pour voir les nouveaux services que nous avons ajoutés tout à l’heure.
La capture d’écran de la machine Linux distante avec le service que nous avons configuré quelques étapes auparavant: