Deprecated: preg_match_all(): Passing null to parameter #2 ($subject) of type string is deprecated in /var/www/html/pmwiki/scripts/vardoc.php on line 66
Wiki agc88.fr | SystemesReseaux

InstallationServerEtAgentNRPE

Mise en oeuvre de NRPE sous CentOS :

Sur le serveur NAGIOS :

 Si vous exécutez des connexions NRPE par connexion, certaines distributions, telles que Fedora Core 6, ne sont pas fournies avec

xinetd installé par défaut. Installez-le avec la commande suivante :

 # yum install xinetd

 Installation de l'application de NRPE :
 # cd /opt 
 # wget https://github.com/NagiosEnterprises/nrpe/releases/download/nrpe-3.2.1/nrpe-3.2.1.tar.gz
 # tar xzf nrpe-3.2.1.tar.gz
 # cd /nrpe-3.2.1
 # ./configure

 Si vous avez l'erreur suivante lors de la compilation de NRPE :
 ...
 checking for type of socket size... size_t
 checking for SSL headers... SSL headers found in /usr
 checking for SSL libraries... configure: error: Cannot find ssl libraries

 Alors, installer le paquet suivant :
 # yum install openssl-devel

 # make all

 Créer les groupes et utilisateurs, si vous avez installé NAGIOS avant, cette commande vous indiquera que les groupes et utilisateurs existent :
 # make install-groups-users

 Installation du plugin NRPE, le démon et le fichier de configuration du démon :
 # make install
 # make install-config

 Si vous voulez exécuter NRPE par connexion sous inetd, xinetd, launchd, systemd, smf, etc, exécutez la commande suivante :
 # make install-inetd

 Si vous voulez exécuter NRPE tout le temps sous init, launchd, systemd, smf, etc., exécutez la commande suivante :
 # make install-init

 Redémarrer les différents services :
 # systemctl reload xinetd
 # systemctl enable nrpe && systemctl start nrpe

 Tester le démon NRPE localement :
 # netstat -at | egrep "nrpe|5666"
 Dans le fichier '''/etc/services, ajouter la ligne suivante :
 nrpe            5666/tcp
 # systemctl restart xinetd.service

 Vérifiez que le démon NRPE est bien fonctionnel :
 # /usr/local/nagios/libexec/check_nrpe -H localhost
 NRPE v3.2.1

Client NRPE sous debian :

 Installation de l'application NRPE :
 # apt-get install nagios-nrpe-server

 Modifier le fichier de configuration suivant :
 # vim /etc/nagios/nrpe.cfg
 log_file=/var/log/nrpe.log
 nrpe_user=nagios
 nrpe_group=nagios
 allowed_hosts=194.214.124.203  # adresse IP du serveur NAGIOS

 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_hda1]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /dev/hda1
 command[check_hda1]=/usr/lib/nagios/plugins/check_disk -u GB -w 20% -c 10% -p /dev/sda1
 command[check_zombie_procs]=/usr/lib/nagios/plugins/check_procs -w 5 -c 10 -s Z
 command[check_total_procs]=/usr/lib/nagios/plugins/check_procs -w 150 -c 200</span>

Sur le serveur NAGIOS :

 Tester la connexion avec un hôte distant :
 # /usr/local/nagios/libexec/check_nrpe -H 192.168.0.1
 NRPE v3.0.1

 Redémarrer le service nrpe :
 # systemctl status nagios-nrpe-server

Client NRPE sous CentOS 6 :

 # yum install nrpe nagios-plugins-users nagios-plugins-load nagios-plugins-swap nagios-plugins-disk nagios-plugins-procs
 # vim /etc/nagios/nrpe.cfg

Modifier et activer les attributs suivants :

 # vim /etc/nagios/nrpe.cfg
 log_file=/var/log/nrpe.log
 nrpe_user=nagios
 nrpe_group=nagios
 allowed_hosts=194.214.124.203  # adresse IP du serveur NAGIOS

 Pour le fichier de log, qui n'existe pas, créé le :
 # vim /var/log/nrpe.log
 # chmod 666 /var/log/nrpe.log

 Ajouter le port nrpe dans le fichier /etc/services
 Ouvrez le fichier et faites une recherche en tapant 5636
 Ajouter la ligne suivante :
 nrpe   5666/tcp   # NRPE

 Démarrer le service nrpe sur Centos 6 :
 # /etc/init.d/nrpe restart
 # chkconfig nrpe on

Client NRPE sous CentOS 7 :

 # yum install nrpe nagios-plugins-users nagios-plugins-load nagios-plugins-swap nagios-plugins-disk nagios-plugins-procs
 # vim /etc/nagios/nrpe.cfg

Modifier et activer les attributs suivants :

 # vim /etc/nagios/nrpe.cfg
 log_file=/var/log/nrpe.log
 nrpe_user=nagios
 nrpe_group=nagios
 allowed_hosts=194.214.124.203  # adresse IP du serveur NAGIOS

 Pour le fichier de log, qui n'existe pas, créé le :
 # vim /var/log/nrpe.log
 # chmod 666 /var/log/nrpe.log

Ajouter le port nrpe dans le fichier /etc/services Ouvrez le fichier et faites une recherche en tapant 5636

Ajouter la ligne suivante :

 nrpe   5666/tcp   # NRPE

Créé le fichier /etc/nrpe.d/op5_commands.cfg et ajoutez le contenu suivant :

 ################################################################################
 #
 # op5-nrpe command configuration file
 #
 # COMMAND DEFINITIONS
 # Syntax:
 #       command[<command_name>]=<command_line>
 #
 command[users]=/usr/lib64/nagios/plugins/check_users -w 5 -c 10
 command[load]=/usr/lib64/nagios/plugins/check_load -w 15,10,5 -c 30,25,20
 command[check_load]=/usr/lib64/nagios/plugins/check_load -w 15,10,5 -c 30,25,20
 command[swap]=/usr/lib64/nagios/plugins/check_swap -w 20% -c 10%
 command[root_disk]=/usr/lib64/nagios/plugins/check_disk -w 20% -c 10% -p / -m
 command[usr_disk]=/usr/lib64/nagios/plugins/check_disk -w 20% -c 10% -p /usr -m
 command[var_disk]=/usr/lib64/nagios/plugins/check_disk -w 20% -c 10% -p /var -m
 command[zombie_procs]=/usr/lib64/nagios/plugins/check_procs -w 5 -c 10 -s Z
 command[total_procs]=/usr/lib64/nagios/plugins/check_procs -w 190 -c 200
 command[proc_named]=/usr/lib64/nagios/plugins/check_procs -w 1: -c 1:2 -C named
 command[proc_crond]=/usr/lib64/nagios/plugins/check_procs -w 1: -c 1:5 -C crond
 command[proc_syslogd]=/usr/lib64/nagios/plugins/check_procs -w 1: -c 1:2 -C syslog-ng
 command[proc_rsyslogd]=/usr/lib64/nagios/plugins/check_procs -w 1: -c 1:2 -C rsyslogd

 Démarrer le service nrpe sur Centos 7 :
 # systemctl restart nrpe.service
 # systemctl enable nrpe.service

 Créer les définitions de commande :
 # nano /usr/local/nagios/etc/objects/commands.cfg

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

 Vous êtes maintenant prêt pour ajouter des services afin de surveiller des serveurs distants.

 Créer une définition de hôte et service :

 define service{
              use  generic-service
              host_name  remotehost
              service_description  CPU Load
              check_command  check_nrpe!check_load
 }


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

 define service{
              use  generic-service
              host_name  remotehost
              service_description  /dev/hda1 Free Space
              check_command  check_nrpe!check_sda1
 }

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

 define service{
               use  generic-service
               host_name  remotehost
               service_description  Zombie Processes
               check_command  check_nrpe!check_zombie_procs
 }

 # /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
 # systemctl restart nagios.service

Attention :
Sur l'interface de nagios, vous pouvez avoir des problèmes de communication entre les clients Windows utilisant le plugin check_nt et le serveur.

 En fait, il faut renseigner le mot de passe dans le define command du plugin check_nt :
# 'check_nt' command definition define command{ command_name check_nt command_line $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -s motdepasse -v $ARG1$ $ARG2$ }