Nagios 3

De Wikillano

Contenido

Instalando dependencias

Necesitamos el servidor web para poder ver la consola de nagios, por otro lado también es necesario la herramientas para compilar el código de nagios.

sudo apt-get install apache2
sudo apt-get install build-essential

Las librerias gd son para generar gráficos

sudo apt-get install libgd2-dev

Configurando usuarios

/usr/sbin/useradd -m nagios
passwd nagios
/usr/sbin/groupadd nagios
/usr/sbin/usermod -G nagios nagios
/usr/sbin/groupadd nagcmd
/usr/sbin/usermod -a -G nagcmd nagios
/usr/sbin/usermod -a -G nagcmd www-data


Bajarse el código fuente de nagios y sus plugins

los podemos bajar de la web:

http://www.nagios.org/download/download.php

Compilamos e Instalamos nagios

tar xzf nagios-3.0.6.tar.gz
cd nagios-3.0.6
./configure --with-command-group=nagcmd
make all
make install
make install-init
make install-config
make install-commandmode

todavía no debemos arrancar Nagios

Configurar Nagios

todos lso ficheros de configuración están en

/usr/local/nagios/etc

Cambiamos el mail asociado al contacto administrador de nagios del siguiente fichero:

vi /usr/local/nagios/etc/objects/contacts.cfg

Configurar la Interfaz web

make install-webconf

Le ponemos un password a nagiosadmin.

htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
/etc/init.d/apache2 reload

Compilar e Instalar los plugin de Nagios

tar xzf nagios-plugins-1.4.11.tar.gz
cd nagios-plugins-1.4.11

Compilar los plugins

./configure --with-nagios-user=nagios --with-nagios-group=nagios
make
make install


Arrancar nagios

Creamos los enlaces para que arranque nagios al iniciar el sistema.

ln -s /etc/init.d/nagios /etc/rcS.d/S99nagios

verificamos nagos

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

si no existen errores

/etc/init.d/nagios start

Entrar en la WEB

http://localhost/nagios/

Monitorizando

nagios puede monitorizar remotamente otras máquinas, pero existe dos maneras:

  • servicios publicos (http,ftp...)
    • estos servision se pueden monitorizar sin instalar nada en la máquina remota
  • servicios internos (disco,carga,procesos...)
    • para estos es necesario instalar un agente NRPE en el cliente que lanza los plugins y los envia al servidor nagios.

Imagen:Image-0.png

Como se puede observar en la imagen aparte de instalar el agente NRPE en el cliente también necesitamos el plugin check_nrpe en el servidor nagios para que pueda conversar con el demonio nrpe del cliente. (por ahora no lo he instalado)

Existen otros agentes, NSCA, NDOUtils si queremos más información sobre ellos podemos dirigirnos a la documentación de nagios.

Instalación del demonio NRPE en el cliente

Crear usuario nagios

/usr/sbin/useradd nagios
passwd nagios

Instalamos los plugins en cliente

El demonio NRPE sera el encargado de lanzar los plugins, por ese motivo debemos instalarlos igual que lo hicimos con el servidor.

tar xzf nagios-plugins-1.4.6.tar.gz
cd nagios-plugins-1.4.6

Compilamos

./configure
make
make install

cambiamos los permisos necesarios

chown nagios.nagios /usr/local/nagios
chown -R nagios.nagios /usr/local/nagios/libexec

Instalando NRPE

Nos bajamos el código fuente y lo descomprimimos.

tar xzf nrpe-2.12.tar.gz
cd nrpe-2.12

Es posible que nos falten algunas dependencias openssl

apt-get install openssl libssl-dev

Configuramos y compilamos,

./configure
make all
make install-plugin
make install-daemon
make install-daemon-config

Ahora ya tendremos el demonio nrpe instalado, tenemos varias maneras de ejecutarlo:

  • como demonio
  • por xinetd


Instalar NRPE daemon como servicio debajo xinetd

make install-xinetd

Editar el fichero /etc/xinetd.d/nrpe y añadir la ip del servidor nagios.

only_from            = 127.0.0.1 <nagios_ip_address>

También debemos añadir la entrada al fichero /etc/services.

nrpe                 5666/tcp            # NRPE

reinicia xinetd.

Ejecutar NRPE como demonio.

/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
  • -c
    • fichero de configuración
  • -d
    • opcion para que nrpe corra como demonio

Configuracion NRPE

Yo he optado por lanzar el servicio como demonio, esta es la opción del fichero de conf que he modificado.

vi /usr/local/nagios/etc/nrpe.cfg
allowed_hosts=127.0.0.1,172.24.49.60

Esta opción el demonio NRPE la ignora si lo hacemos via xinetd, ya que esto se configuró en el fichero /etc/xinetd.d/nrpe.

Instalación del demonio NRPE en el servidor

Como ya comente más arriba, es necesario el plugin check_nrpe en el servidor, es el encargado de comunicarse con el demonio NRPE del cliente para que lanze los chequeos y este nos retorne los resultados.

compilamos el plugin

Basicamente es lo mismo que hizimos anteriormente

Descomprimimos

tar xzf nrpe-2.12.tar.gz
cd nrpe-2.12

Compilamos

./configure
make all

Instalamos el Plugin.

make install-plugin

Testeamos que el servidor nagios conecte con el cliente

/usr/local/nagios/libexec/check_nrpe -H 172.24.49.60

Nos devolverá la version de NRPE instalada en el cliente

NRPE v2.12

Definir el comando check_nrpe

Para poder utilizar el comando y poder consultar la información de los diferentes hosts, debemos de definir el comando en el fichero:

vi /usr/local/nagios/etc/commands.cfg

y añadir:

define command{
       command_name check_nrpe
       command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
       }

Ahora ya podemos definir servicios para nuestros clientes remotos de la siguiente manera.

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

Documentación

Toda la documentación e imagenes ha sido extraida de http://www.nagios.org

Herramientas personales