Академический Документы
Профессиональный Документы
Культура Документы
Este pequeño daemon te permite ejecutar plugins locales en equipos remotos de equipos Linux,
como es esto, el plugin check_nrpe es llamado por Nagios y hace las peticiones de los plugins
hacia el equipo remoto, requiere que NRPE este siendo ejecutado en ese equipo como un
standalone daemon o como un servicio en inetd, tambien soporta encriptación nativa de
SSL/TLS.
Hay una versión para Win2 pero la verdad opte por nsclient o nc_net.
NOTA - La última versión es la 2.0 y es incompatible con las versiones 1.x, tanto para clientes
como servidores.
NRPE - Este es el programa que se ejecuta como proceso en el background en los equipos
remotos y procesa las peticiones de ejecución de comandos del plugin check_nrpe del equipo
donde esta Nagios. Recibe la petición del equipo autorizado, procesa la información del
command line asociado con el comando que recibe y envia la información solicitada al plugin
check_nrpe.
check_nrpe - Este es el plugin que se ejecuta en el equipo donde esta Nagios y es utilizado para
contactar el proceso NRPE en los equipos remotos. Este plugin solicita al plugin remoto a
ejecutarse en el equipo y espera que el proceso de NRPE se ejcuta y regrese la informacion
solicitada.
Solo copiar el archivo check_nrpe en /usr/local/nagios/plugins o dependiendo donde tengan sus
plugins.
En el caso del equipo remoto deben tener el daemon NRPE en donde tienen sus daemons i.e.
/etc/rc.d/nrpe y tambien el archivo nrpe.cfg i.e. /etc/nrpe.cfg.
Asi es como lo tengo configurado y me funciona muy bien tenemos que ejecutar nrpe bajo inetd
o xinetd y hacemos uso de los TCP wrappers, realizamos lo siguiente:
2.- Despues configuramos las entradas del daemon NRPE ya sea en inetd o xinetd, yo utilice
inetd
NOTA - Si ejecutamos nrpe en inetd o xinetd, las variables server_port y allowed_hosts en el
archivo de configuración del nrpe serán ignoradas.
Solamente reemplazamos user por el usuario que el servidor nrpe sera ejecutado. i.e. nagios.
Î
Si nuestro sistema utiliza xinetd en vez de inetd creamos un archivo llamado nrpe en
/etc/xinetd.d conteniendo lo siguiente:
# default: on
# description: NRPE
service nrpe
{
flags = REUSE
socket_type = stream
wait = no
user = [user]
server = [nrpebin]
server_args = -c [nrpecfg] --inetd
log_on_failure += USERID
disable = no
only_from = [ipaddress1] [ipaddress2] ...
}
Reemplazamos user por el usuario que el servidor nrpe sera ejecutado. i.e. nagios.
ipaddress con las direcciones IP de los equipos qu deseamos sean aceptados para conectarse al
daemon NRPE. Esto funciona solamente si xinetd fue compilado con soporte para tcpwrappers.
IMPORTANTE - Los plugins que se deseen ejecutar en el equipo remoto forzosamente deben
estar en ese equipo por i.e. yo tengo un equipo que ejecuto check_procs, check_users y
check_cpu los cuales los tengo en /usr/local/nagios/libexec y deben de ser propiedad de
nagios.nagios.
OK, todo esto fue para los equipos remotos o clientes, ahora vamos a configurar el equipo donde
esta Nagios.
c
Primeramente ya contamos con un archivo de configuracion nrpe.cfg de ejemplo incluido en el
paquete de nrpe el cual va en los equipos remotos ahora definiremos el comando para nrpe ya sea
en checkcommands.cfg o commands.cfg dependiendo d cual esten utilizando, el cual podemos
declararlo así
define command{
command_name check_nrpe
command_line /usr/local/nagios/libexec/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
Ahora, para ejecutar este comando en los equipos remotos debemos de crear un servicio para
tales equipos por ejemplo
define service{
host_name someremotehost
service_description someremoteservice
check_command check_nrpe!yourcommand
... etc ...
}
En donde yourcommand es el comando que deseamos ejecutar en el equipo remoto i.e.
check_procs.
Y listo.