Páginas

martes, 27 de septiembre de 2011

Cliente Nagios para monitorizar máquina Linux

Hola a tod@s!

¡¡Ya estamos de vuelta del periodo de vacaciones!!.

Para empezar la nueva temporada, quiero hablaros en esta ocasión sobre: "NRPE".


NRPE, es un cliente Linux para monitorizar nuestro host en un servidor NAGIOS

Seré conciso y directo en el nuevo post sobre la instalación y configuración de NRPE en host remoto y en el server.
Nuestro escenario será sobre "Ubuntu server 10.04", tanto en host remoto como en el Servidor Nagios. Versión de Nagios es 3.2.1.

Empezamos!!!!

- Instalación en el host remoto

1. Tenemos que crear el usuario "nagios" y el grupo "nagios", para ello lo hacemos todo desde "root".

#sudo -s
#adduser nagios (password, por ejemplo "nagios")
#adduser nagios nagios (para añadirlo al grupo, sabemos que cuando creamos un usuario, automáticamente se crea el grupo).

2. Descargarmos los plugins de nagios. Creamos un directorio donde descargaremos el plugin e instalaremos.

#mkdir /opt/nagios/nrpe
#cd /opt/nagios/nrpe
root@remote:/opt/nagios/nrpe#wget http://sourceforge.net/projects/nagiosplug/files/nagiosplug/1.4.15/nagios-plugins-1.4.15.tar.gz/download
root@remote:/opt/nagios/nrpe#tar xzf nagios-plugins-1.4.15.tar.gz
root@remote:/opt/nagios/nrpe#cd /nagios-plugins.1.4.15
root@remote:/opt/nagios/nrpe/nagios-plugins.1.4.15#./configure
root@remote:/opt/nagios/nrpe/nagios-plugins.1.4.15#make
root@remote:/opt/nagios/nrpe/nagios-plugins.1.4.15#make install

3. Instalamos "Xinetd" para el Dameon del nuevo servicio NRPE

root@remote:/opt/nagios/nrpe/nagios-plugins.1.4.15#apt-get install xinetd

4. Descargamos e instalamos el plugin "NRPE".

root@remote:/opt/nagios/nrpe#wget  http://sourceforge.net/projects/nagios/files/nrpe-2.x/nrpe-2.12/nrpe-2.12.tar.gz/download
root@remote:/opt/nagios/nrpe#tar xzf nrpe-2.12.tar.gz
root@remote:/opt/nagios/nrpe#cd nrpe-2.12
root@remote:/opt/nagios/nrpe/nrpe-2.12#./configure
root@remote:/opt/nagios/nrpe/nrpe-2.12#make all
root@remote:/opt/nagios/nrpe/nrpe-2.12#make install-plugin
root@remote:/opt/nagios/nrpe/nrpe-2.12#make install -daemon
root@remote:/opt/nagios/nrpe/nrpe-2.12#make install-daemon-config
root@remote:/opt/nagios/nrpe/nrpe-2.12#make install-xinetd

Editamos en ficheros "/etc/xinetd.d/nrpe" para añadir la ip del servidor nagios en el apartado "only_from".

# default: on
# description: NRPE (Nagios Remote Plugin Executor)
service nrpe
{
        flags           = REUSE
        socket_type     = stream
        port            = 5666
        wait            = no
        user            = nagios
        group           = nagios
        server          = /usr/local/nagios/bin/nrpe
        server_args     = -c /usr/local/nagios/etc/nrpe.cfg --inetd
        log_on_failure  += USERID
        disable         = no
        only_from       = ip_servidor_nagios
}



Agregamos la sentencia NRPE en el fichero "/etc/services", lo podemos añadir al final del fichero

# Local services
nrpe            5666/tcp                        #NRPE Nagios

Reiniciamos el servicio Xinietd

root@remote:/opt/nagios/nrpe/nrpe-2.12#service xinietd restart


Para podemos modificar los elementos a monitorizar debemos de editar el fichero : "/usr/local/nagios/etc/nrpe.cfg".

- INSTALACIÓN DEL PLUGIN NRPE EN EL SERVIDOR NAGIOS

1. Descargar e instalar el plugin nrpe.

#mkdir /opt/nagios/nrpe
#cd /opt/nagios/nrpe
root@servernagios:/opt/nagios/nrpe#wget  http://sourceforge.net/projects/nagios/files/nrpe-2.x/nrpe-2.12/nrpe-2.12.tar.gz/download
root@servernagios:/opt/nagios/nrpe#tar xzf nrpe-2.12.tar.gz
root@servernagios:/opt/nagios/nrpe#cd nrpe-2.12
root@servernagios:/opt/nagios/nrpe/nrpe-2.12#./configure
root@servernagios:/opt/nagios/nrpe/nrpe-2.12#make all
root@servernagios:/opt/nagios/nrpe/nrpe-2.12#make install-plugin

Para hacer una prueba de testeo, así:

# sudo /usr/local/nagios/libexec/check_nrpe -H ip_remote_host

Nos devolverá (si todo ha ido bien ;)) la versión del plugin NRPE.

NRPE v2.12

2. Tenemos que añadir el command para el plugin nrpe, para ello editamos el fichero "/usr/local/nagios/etc/commads.cfg" y escribimos al final:

# Plugin nrpe para remote host linux
define command{
        command_name  check_nrpe
        command_line  $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
        }


3. Para definir los objetos a monitorizar debemos de añadirlos en nuestro fichero de configuración de nagios. Cada persona es un mundo, por lo tanto cada uno de nosotros tenemos una instalación de nagios enfocada a nuestras necesidades, por lo tanto debemos de añadir los objetos en el fichero que tengamos para ello. Por lo tanto un ejemplo, sería en el fichero "localhost.cfg".


#SERVICIOS REMOTE HOST LINUX###################

define service {
        use                                generic-service
        host_name                    remote
        service_description      CPU Load
        check_command          check_nrpe!check_load
        }

define service{
        use                                generic-service
        host_name                    remote
        service_description      Current Users
        check_command           check_nrpe!check_users
         }

define service{
        use                                generic-service
        host_name                    remote
        service_description      /dev/sda1 Free Space
        check_command           check_nrpe!check_hda1
        }

define service{
        use                                generic-service
        host_name                     remote
       service_description        Total Processes
        check_command           check_nrpe!check_total_procs
}

define service{
        use                                 generic-service
        host_name                     remote
        service_description       Zombie Processes
        check_command           check_nrpe!check_zombie_procs
        }



Podemos añadir muchos más, os he dejado unos ejemplos

Para comprobar que todo está OK, debemos de chequear la configuración de nagios, para ello ejecutamos:

# sudo /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

Devolverá un "chorro" de info, pero lo más importante tenemos que tener el resultado en "0".

Checking for circular paths between hosts...
Checking for circular host and service dependencies...
Checking global event handlers...
Checking obsessive compulsive processor commands...
Checking misc settings...

Total Warnings: 0
Total Errors:   0

Despúes reinciamos nagios

#sudo /etc/init.d/nagios restart

Ya hemos finalizado la instalación del plugin nrpe, tanto en el host remoto como en el servidor.

Os invito a buscar más info para customizar la monitorización de nuestro host remoto ( un ejemplo, la menoria...etc) con nuestro servidor NAGIOS

Hasta la próxima!!