Monitorizar servidor remoto Ubuntu y Debian con Nagios NRPE

A continuación vamos a ver como monitorizar un servidor remoto con Nagios. Para seguir este post tenemos que tener instalado previamente Nagios y acceso por SSH al servidor remoto que queramos monitorizar, en nuestro caso vamos a monitorizar un servidor remoto Ubuntu o Debian con NRPE.

NRPE ( Nagios Remote Plugin Executor ) nos permite ejecutar scripts de Nagios. En este post vamos a ver como utilizar NRPE en nuestro servidor local Nagios y en un servidor remoto Debian o Ubuntu.

SERVIDOR REMOTO DEBIAN/UBUNTU

En primer lugar, accedemos a nuestro servidor remoto, en nuestro caso, Debian/Ubuntu e instalamos el plugin NRPE de Nagios:

apt-get install nagios-nrpe-plugin

Comprobamos y verificamos la ruta en la que se han instalado los plugins:

ls -la /usr/lib/nagios/plugins/

Revisamos que en este directorio tenemos los plugins que vamos a utilizar, en caso de que necesitemos utilizar plugins adicionales, los tendremos que añadir manualmente en este directorio.

Los plugins genéricos que más se utilizan son los siguientes:

  • Current Users (check_users)
  • Current Load (check_load)
  • Disk Space (check_all_disks)
  • Zombie Processes (check_zombie_procs)
  • Total Processes (check_total_procs)
  • Swap (check_swap)

A continuación instalamos el servicio NRPE para Nagios:

apt-get install nagios-nrpe-server

Ahora tenemos que revisar que el servicio NRPE y el puerto 5666 (TCP & UDP) están habilitados:

vim /etc/services
nrpe            5666/tcp                # NRPE
filemq 5670/tcp # ZeroMQ file
zre-disc 5670/udp # Local area discovery and msging over ZeroMQ
amqps 5671/tcp # amqp protocol over TLS/SSL

En caso de tener instalado un Firewall en el servidor local o en un servidor perimetral, será necesario abrir el puerto 5666.

Tenemos que permitir a nuestro servidor Nagios que se pueda conectar a nuestro servidor remoto Debian/Ubuntu, para ello tenemos que añadir la ip pública del servidor de Nagios en el fichero nrpe_local.cfg. Simplemente tenemos que buscar la variable “allowed_hosts” y añadir la ip de Nagios:

vim /etc/nagios/nrpe_local.cfg
######################################
# Do any local nrpe configuration here
######################################
allowed_hosts=127.0.0.1,192.4.6.25

Además en el fichero nrpe_local.cfg revisamos los command, sobretodo tenemos que revisar el comando que revisar los discos disk para añadir la partición de disco que quieras monitorizar o si tienes varios discos añadir una nueva línea. Para conocer la ruta de partición puedes utilizar el comando df -h

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_all_disks]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10%
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_swap]=/usr/lib/nagios/plugins/check_swap -w 50% -c 25%

En caso de que queramos añadir algún check adicional, lo tendremos que añadir en este fichero y con el formato que tienen las líneas anteriores.

Para comprobar que funcionan correctamente, podemos ejecutar en la línea de comandos del servidor:

/usr/lib/nagios/plugins/check_users -w 5 -c 10

Al ejecutarlo nos tiene que devolver un valor similar a este:

 USERS OK – 1 users currently logged in |users=1;5;10;0 

Finalmente, reiniciamos el servicio NRPE:

service nagios-nrpe-server restart

SERVIDOR NAGIOS

En nuestro servidor Nagios, tenemos que definir el host de nuestro servidor Debian/Ubuntu en el fichero de configuración de nagios .cfg en el que tengamos definidos los host o crear uno nuevo con el siguiente formato (los datos que aparecen son de ejemplo):

define host {
host_name alpha
alias alpha.example.net
hostgroups general-servers
address 192.4.6.35
use generic-host
}

Para finalizar en el fichero .cfg de Nagios donde definas los servicios (puede ser el mismo en el que definas el host) tienes que añadir los servicios con el protocolo NRPE que deseas monitorizar:

 
# NRPE Services
define service {
hostgroup_name generic-servers
service_description Current Users NRPE
check_command check_nrpe_1arg!check_users
use generic-service
notification_interval 0
}
define service {
hostgroup_name generic-servers
service_description Current Load NRPE
check_command check_nrpe_1arg!check_load
use generic-service
notification_interval 0
}
define service {
hostgroup_name generic-servers
service_description Disk Space NRPE
check_command check_nrpe_1arg!check_all_disks
use generic-service
notification_interval 0
}
define service {
hostgroup_name generic-servers
service_description Zombie Processes NRPE
check_command check_nrpe_1arg!check_zombie_procs
use generic-service
notification_interval 0
}
define service {
hostgroup_name generic-servers
service_description Total Processes NRPE
check_command check_nrpe_1arg!check_total_procs
use generic-service
notification_interval 0
}
define service {
hostgroup_name generic-servers
service_description Swap NRPE
check_command check_nrpe_1arg!check_swap
use generic-service
notification_interval 0
}

1 Trackback / Pingback

  1. iostat not found or is not executable by the nagios user. |

Leave a Reply

Your email address will not be published.


*


This site uses Akismet to reduce spam. Learn how your comment data is processed.