Monitoreo de la red con Nagios – PARTE III

PARTE III

|_7. NRPE

|_ _7.1.       ¿Qué es NRPE?

|_ _7.2.       Resumen de diseño

|_ _7.3.       Ejemplos de uso para NRPE

|_ _7.4.       Implementación y configuración de NRPE en servidor Nagios

|_ _7.5.       Configuración de NRPE en host Linux a monitorear

|_ _7.6.       Comprobaciones del uso de NRPE desde el servidor Nagios

|_ _7.7.       Definición del comando “check_nrpe”

7.  NRPE

7.1.      ¿Qué es NRPE?

Nagios Remote Plugin Executor (NRPE) es un agregado que permite la ejecución de plugins de Nagios en máquinas Linux/Unix, aunque también funciona en máquinas Windows con los programas necesarios para ello. La razón principal para usarlo es permitir a Nagios poder monitorear recursos locales, como la carga del CPU, uso de memoria, estado de algunos servicios, entre muchos otros enriquecidos por la comunidad, mediante plugins, todo en máquinas remotas. Es necesaria la instalación del NRPE en ambos extremos de la conexión.

Es posible ejecutar Nagios plugins en máquinas Linux/Unix a través de SSH, hay un plugin para ello, que nos permite hacer esto (“check_by_ssh”). Usando SSH es más seguro que el agregado NRPE, pero impone también un sobreconsumo del CPU en ambos lados de la conexión (en el servidor Nagios y en las máquinas remotas). Esto puede convertirse en un problema cuando usted monitorea cientos y miles de máquinas, por lo que no se considera una solución escalable. Por ello muchos administradores optan por usar el agregado NRPE, por la poca carga que impone, el cual puede configurarse también para asegurar la conexión con certificados SSL.

7.3.      Resumen de diseño

El agregado NRPE consiste en dos piezas:

• El plugin “check_nrpe”, el cual reside en el servidor Nagios
• El demonio “nrpe”, el cual corre en el host Linux/Unix remoto.

Cuando Nagios necesita monitorear un servicio o recurso de un host Linux/Unix remoto:

• Nagios ejecutará el plugin “check_nrpe” y le dirá qué servicio necesita chequear.
• El plugin “check_nrpe” contacta el demonio “nrpe” en el host remoto a través de una conexión directa o una opcional, protegida por SSL.
• El demonio “nrpe” corre el plugin de Nagios apropiado del host remoto para chequear el servicio o recurso.
• El resultado del chequeo del servicio es retornado por el demonio “nrpe” al plugin “check_nrpe”, el cual devuelve los resultados del chequeo al proceso de Nagios.

#===========================================================
NOTA:
El demonio “nrpe” requiere que los plugins de Nagios estén instalados en el host remoto. Sin estos, el demonio no podrá monitorear nada.
#===========================================================

7.3.      Ejemplos de uso para NRPE

Chequeos Directos:

El uso más difundido del añadido NRPE es monitorizar recursos locales o privados en un host remoto. Esto incluye la carga del CPU, uso de la memoria, uso de la swap, usuarios conectados, uso del disco, estado de los procesos, entre otros.

Chequeos Indirectos:

Usted también puede indicarle al agregado NRPE para indirectamente chequear servicios “públicos” y recursos de servidores remotos, que pudieran no estar alcanzables directamente desde el propio monitor. Si el host remoto que tiene el demonio “nrpe” y los plugins del Nagios instalados puede “hablar” con el servidor web/ftp remoto (pero el servidor Nagios no puede), por ejemplo, entonces se puede configurar el demonio “nrpe” del host remoto para que el servidor web/ftp esté monitorizado indirectamente por el servidor nagios, a través del host remoto. En este caso, el demonio “nrpe” estaría actuando esencialmente como un proxy para el servidor Nagios.

7.4.      Implementación y configuración de NRPE en servidor Nagios

En “nagios-debian9”:

Instalando dependencias:

Configurando instalación de nrpe:

Al finalizar, debe devolvernos algo como esto:

Compilamos e instalamos nrpe:

Comprobamos de que el servicio existe:

Debe devolvernos lo siguiente:

Activamos el demonio “nrpe” y hacemos que inicie con el sistema:

Probamos que el servicio “nrpe” funciona:

Debe devolvernos esto:

Ajustando algunos directorios creados para usuario y grupo “nagios”:

Reiniciamos el demonio “nrpe”:

7.5. Configuración de NRPE en host Linux a monitorear

La configuración es similar a la del servidor, salvo algunos pequeños cambios. Esto se deberá hacer en cada host Linux que será monitoreado por Nagios.

En todos los hosts Linux a monitorear:

Requisitos previos:

Agregamos el usuario “nagios” al sistema:

Configurando instalación de nrpe:

Al finalizar, debe devolvernos algo como esto:

Compilamos e instalamos nrpe:

Comprobamos de que el servicio existe:

Debe devolvernos lo siguiente:

Activamos el demonio “nrpe” y hacemos que inicie con el sistema:

Probamos que el servicio “nrpe” funciona:

Debe devolvernos esto:

Ajustando algunos directorios creados para usuario y grupo “nagios”:

Editamos el fichero de configuración “/etc/nagios/nrpe.cfg”:

Editamos los hosts permitidos que van a establecer una comunicación remota con el “nrpe” del host Linux a monitorear. En este caso, vamos a permitir que se establezca una conexión “nrpe” desde el servidor nagios, agregando sus direcciones IP separadas por comas, sin espacios:

Habilitamos la posibilidad de que “nrpe” envíe comandos con argumentos desde los hosts permitidos (en este caso el servidor nagios):

En la sección referente a “The following examples use hardcoded command arguments…” aparecen dos grupos de comandos. El primer grupo, el que viene descomentado, es el que usa NRPE por defecto, y es e quel se usa en caso de haberlo instalado para no recibir argumentos. Por tanto, estos comandos son los que tendemos que editar en los “nrpe.cfg” de cada host Linux para adaptarlo a nuestras necesidades. Por otra parte, si instalamos NRPE para recibir argumentos (nuestro caso) utilizaremos el segundo grupo de comandos. Pero para ello habrá que descomentarlos (no hace falta comentar el primer grupo), y requiere que la variable “dont_blame_nrpe” esté activada (ya lo hicimos anteriormente). Editamos lo siguientes comandos del apartado “MISC SYSTEM METRICS”:

Editamos los siguientes comandos del apartado “PROCESSES”:

Agregamos los siguientes comandos, debajo de la sección de “ASTERISK”:

#===========================================================
NOTA:
Se deben adaptar los comandos según la cantidad de argumentos que van a ser enviados desde el gestor nrpe del nagios.
#===========================================================

Reiniciamos el demonio “nrpe”:

7.6. Comprobaciones del uso de NRPE desde el servidor Nagios

En “nagios-debian9”:

Comprobamos que “nagios-debian9” puede ejecutar una conexión NRPE con “fw1-debian9”. Accedemos al host Linux a monitorear (con IP 192.168.100.1), desde el servidor nagios mediante nrpe:

Si devuelve lo siguiente, entonces funciona:

Comprobamos que el servidor nagios puede enviar un comando con argumentos al host Linux por medio del nrpe:

Si nos devuelve lo siguiente, entonces funciona:

#===========================================================
Aclaraciones del comando anterior:
-c check_users: Con el parámetro “-c” indicamos el comando a ejecutar.
-a 1 6: Con “-a” pasamos los argumentos, en este caso “1” para los Warning y “6” para los Critical.

Siempre que se vayan a utilizar los comandos de algún plugin, tratar de ejecutarlos individualmente con “–help” para leer la ayuda que explica su sintaxis. Por ejemplo, para obtener la ayuda de “check_users” sería así:

#===========================================================

7.7.      Definición del comando “check_nrpe”

En “nagios-debian9”:

Editamos el fichero “/etc/nagios/objects/commands.cfg”:

Agregamos la siguiente definición en el segundo bloque de definiciones para localhost y hosts remotos (después de “SAMPLE NOTIFICACTIONS COMMANDS”):

#===========================================================
NOTA:
Esto implica que cuando el Nagios envíe este comando a un host Linux:

donde:
$HOSTADDRESS$: Es la dirección ip de todo host que tenga definido este servicio.
$ARG1$: Es el comando a ejecutar en el host Linux (tiene que tener el plugin del comando instalado, por ejemplo “check_users”).
$ARG2$: Es el argumento definido por Nagios para ese host Linux en específico (los valores necesarios para el comando que se le pasa a NRPE, por ejemplo, los valores referentes al comando de “check_users”)

El host Linux debería poder interpretar esto como uno de los comandos que tiene en su fichero “/usr/local/nagios/etc/nrpe.cfg”, siempre y cuando se hayan seguido los pasos descritos anteriormente.
#===========================================================

 

(Visited 1 times, 1 visits today)
Franco Diaz Hurtado
Sobre Franco Diaz Hurtado 12 Artículos
Ing. Telecomunicaciones y Electrónica; Administrador de redes en la dirección general de ECASA

Sé el primero en comentar

Dejar una contestacion

Tu dirección de correo electrónico no será publicada.


*