NRPE es un «addon» que nos sirve para poder monitorear un cliente de linux ejecutando plugins en forma remota y que nuestro Nagios core pueda colectar datos, si venís siguiendo la guía que publicamos no vas a tener problemas en incorporarlo siempre y cuando sigas los siguientes pasos.
Esto requiere de 2 partes, primero configurar el cliente a monitorear y segundo, hacer la configuración en el servidor de nagios.
1- Configurar el Cliente
Primero instalamos lo necesario, veamos si tenemos un cliente Debian o derivada y Centos/Redhat, vemos si esta instalado haciendo lo siguiente.
Debian / Ubuntu
# apt-cache search nrpe
nagios-nrpe-plugin – Nagios Remote Plugin Executor Plugin
nagios-nrpe-server – Nagios Remote Plugin Executor Server
nagios-plugins-basic – Plugins for the nagios network monitoring and management system
nagios-plugins – Plugins for the nagios network monitoring and management system
# apt-get install nagios-nrpe-server nagios-plugins-basic nagios-plugins
El servicio se inicia
# service nagios-nrpe-server start # service nagios-nrpe-server status # service nagios-nrpe-server enable
Centos / Redhat
# yum search nrpe
============ N/S Matched: nrpe =======
nagios-plugins-nrpe.x86_64 : Provides nrpe plugin for Nagios
nrpe.x86_64 : Host/service/network monitoring agent for Nagios
# yum install nagios-plugins-nrpe nagios-plugins-all nrpe
# service nagios-nrpe-server start # service nagios-nrpe-server status
Configuración de NRPE en el Cliente
El archivo de configuración esta en /etc/nagios/nrpe.cfg
Vamos a buscar 2 cosas importantes en principio, dentro de este archivo, que permita al host local y al servidor nagios de destino obtener datos (colocamos las ip correspondientes separados por comas) y permitir argumentos (lo dejamos = a 1).
# Host permitidos allowed_hosts=127.0.0.1,172.16.100.230 # Permitir argumentos dont_blame_nrpe=1
Casi al final del archivo vamos a ver los comandos que más se usan pero hay muchos más, en breve veremos como agregar uno nuevo, les dejo algunos como vienen:
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_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 #command[check_users]=/usr/lib/nagios/plugins/check_users -w $ARG1$ -c $ARG2$ #command[check_load]=/usr/lib/nagios/plugins/check_load -w $ARG1$ -c $ARG2$ #command[check_disk]=/usr/lib/nagios/plugins/check_disk -w $ARG1$ -c $ARG2$ -p $ARG3$ #command[check_procs]=/usr/lib/nagios/plugins/check_procs -w $ARG1$ -c $ARG2$ -s $ARG3$
NOTA: en command[check_hda1] tenemos para verifica el disco, pero hay que ver si nuestra partición es hda1 o sda1 o lo que sea, esto hay que modificarlo para que no de error, y vemos que configuración tenemos con un # df -h.
Reiniciamos el servicio, y cada modificación de configuración de nrpe en el cliente hay que reiniciarlo para que tome los cambios.
Debian y derivadas:
# service nagios-nrpe-server restart
En CentOS, Fedora o RHEL:
# service nrpe restart # chkconfig nrpe on
2- Configurando NRPE en el servidor de Nagios
Instalación necesaria en el servidor de nagios.
Debian
# apt-get install nagios-nrpe-plugin
Centos
# yum install nagios-plugins-nrpe
Lo próximo es ver si esta el script en
/usr/lib64/nagios/plugins/check_nrpe para 64 bits
/usr/lib/nagios/plugins/check_nrpe para 32 bits
Probamos que nuestro server se comunica con el cliente
# cd /usr/lib64/nagios/plugins # ./check_nrpe -H 172.16.100.100
Nos debe contestar con la versión algo como:
NRPE v3.0.1
Damos de alta el comando
# nano /etc/nagios/objects/commands.cfg
## NRPE: Para CentOS 64 bit, usar la ruta /usr/lib64 y de 32 bits /usr/lib ## define command{ command_name check_nrpe command_line /usr/lib/nagios/plugins/check_nrpe -H '$HOSTADDRESS$' -c '$ARG1$' }
Creamos el cfg del cliente
Primero el host y después los servicios.
# nano /usr/local/nagios/etc/cliente.cfg
define host{ use linuxserver host_name cliente alias cliente address 172.16.100.100 } define service{ use generic-service host_name cliente service_description CPU Load check_command check_nrpe!check_load } define service{ use generic-service host_name cliente service_description Total Processes check_command check_nrpe!check_total_procs } define service{ use generic-service host_name cliente service_description Users Load check_command check_nrpe!check_users } define service{ use generic-service host_name cliente service_description Check Zombies check_command check_nrpe!check_zombie_procs } define service{ use generic-service host_name cliente service_description Check hda1 check_command check_nrpe!check_hda1 }
Guardamos y verificamos que no haya errores en Nagios
# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
Finalmente reiniciamos el servicio de nagios
# service nagios restart
Después de unos minutos revisamos si el host se agrego correctamente.