Instalación y Configuración de Nagios NRPE
Nagios NRPE es un daemon que permite ejecutar plugins locales en equipos remotos de equipos Linux, el plugin check_nrpe es llamado por Nagios y hace las peticiones de los plugins hacia el equipo remoto, en el cual se requiere que NRPE este siendo ejecutado como un daemon o como un servicio en inetd. Partimos de la premisa que se dispone de un servidor con Nagios instalado. Si no es así pueden revisar el articulo de como Instalar Nagios en Centos 6
1. Instalacion de Nagios NRPE (Equipo remoto)
yum install nagios-nrpe nagios-devel nagios-plugins-all pnp4nagios service nrpe start chkconfig nrpe on
2. Creación de reglas de monitoreo (Servidor Nagios)
Podemos crear el archivo de configuración en el directorio /etc/nagios/servers/
A continuación se muestran un conjunto de reglas base que han sido almacenadas en el archivo ejemplo.com.cfg
define host{ use linux-server host_name ejemplo.com alias ejemplo.com address xxx.xxx.xxx.xxx } define service{ use local-service ; Name of service template to use host_name ejemplo.com service_description PING check_command check_ping!100.0,20%!500.0,60% } define service{ use local-service ; Name of service template to use host_name ejemplo.com service_description HTTP check_command check_http notifications_enabled 1 } define service { use generic-service host_name ejemplo.com service_description Current Load check_command check_nrpe!check_load } define service { use generic-service host_name ejemplo.com service_description Current Users check_command check_nrpe!check_users } define service{ use generic-service host_name ejemplo.com service_description /dev/md1 Free Space check_command check_nrpe!check_md1 } define service{ use generic-service host_name ejemplo.com service_description Total Processes check_command check_nrpe!check_total_procs } define service{ use generic-service host_name ejemplo.com service_description Zombie Processes check_command check_nrpe!check_zombie_procs } define service{ use generic-service host_name ejemplo.com service_description Memory Usage check_command check_nrpe!check_mem }
3. Configuración Nagios NRPE (Servidor Remoto)
Para que todo funcione correctamente, debemos asegurarnos que los comandos solicitados sean soportados en el servidor remoto. La verificación de memoria no viene instalada por defecto por lo que nos tocará agregar el plugin. Asi también la verificación de disco duro dependerá de los dispositivos de cada computadora, por lo que se debe poner especial atención. Primeramente instalamos el plug-in adicional, para ello creamos el siguiente archivo:
vim /usr/lib64/nagios/plugins/check_memory
y colocamos el siguiente contenido:
#!/bin/bash # Nagios plugin to check memory consumption # Excludes Swap and Caches so only the real memory consumption is considered . /usr/lib64/nagios/plugins/utils.sh # set default values for the thresholds WARN=90 CRIT=95 while getopts "c:w:h" ARG; do case $ARG in w) WARN=$OPTARG;; c) CRIT=$OPTARG;; h) echo "Usage: $0 -w <warning threshold> -c <critical threshold>"; exit;; esac done MEM_TOTAL=`free | fgrep "Mem:" | awk '{print $2}'`; MEM_USED=`free | fgrep "/+ buffers/cache" | awk '{print $3}'`; PERCENTAGE=$(($MEM_USED*100/$MEM_TOTAL)) echo "${PERCENTAGE}% ($((($MEM_USED)/1024)) of $((MEM_TOTAL/1024)) MB) used"; if [ $PERCENTAGE -gt $CRIT ]; then exit $STATE_CRITICAL; elif [ $PERCENTAGE -gt $WARN ]; then exit $STATE_WARNING; else exit $STATE_OK; fi
Posteriormente le damos permisos de ejecución:
chmod 755 /usr/lib64/nagios/plugins/check_memory
Finalmente, verificamos los comandos disponibles en la configuración de NRPE en el servidor remoto en el archivo:
vi /etc/nagios/nrpe.cfg
Debemos tener algo así:
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_md1]=/usr/lib64/nagios/plugins/check_disk -w 20% -c 10% -p /dev/md1 command[check_zombie_procs]=/usr/lib64/nagios/plugins/check_procs -w 5 -c 10 -s Z command[check_total_procs]=/usr/lib64/nagios/plugins/check_procs -w 300 -c 400 command[check_mem]=/usr/lib64/nagios/plugins/check_memory -w 80 -c 95
Notar que md1 es el nombre del dispositivo del disco.Debemos tambien verificar que la linea
allowed_hosts=127.0.0.1
Tenga la IP del servidor Nagios
4. Reiniciar servicios
En el servidor de Nagios
service nagios restart
En el servidor remoto
service nrpe restart