Etiquetado: Ubuntu Server 14.04

Nagios: Instalación de NRPE en servidor y cliente

Ayer expliqué como instalar el Nagios, hoy explicaré como instalar el NRPE que sirve para hacer la monitorización servicios internos como discos, memoria, CPU, servicios,…

 nagios_nrpe

Lo primero que vamos configurar es un cliente, en este caso es un máquina Ubuntu Server. Lo primero que se debe hacer es generar el usuario de Nagios y ponerle el password:

# /usr/sbin/useradd nagios
# passwd nagios

Descargar los plugins de Nagios y descomprimirlos:

# wget http://nagios-plugins.org/download/nagios-plugins-2.0.3.tar.gz
# tar xzf nagios-plugins-2.0.3.tar.gz
# cd nagios-plugins-2.0.3/

Instalamos lo necesario para compilar, la librería ssl y el servicio xinetd.

#apt-get install build-essential libssl-dev xinetd

Compilamos los plugins y los instalamos:

#./configure
# make
# make install

Cambiamos los permisos de la carpeta:

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

Descargaremos el NRPE y lo descomprimimos:

# wget http://sourceforge.net/projects/nagios/files/nrpe-2.x/nrpe-2.15/nrpe-2.15.tar.gz
# tar xzf nrpe-2.15.tar.gz
# cd nrpe-2.15/

Compilamos el NRPE y lo instalamos:

# ./configure --with-ssl=/usr/bin/openssl --with-ssl-lib=/usr/lib/x86_64-linux-gnu
# make all
# make install-plugin
# make install-daemon
# make install-daemon-config

Instalamos el demonio de NRPE como un servicio bajo xinetd:

# make install-xinetd

Editamos /etc/xinetd.d/nrpe y añadimos la IP del servidor donde esta instalado el Nagios:

only_from = 127.0.0.1

Añadimos la siguiente entrada para el NRPE en el /etc/services:

nrpe            5666/tcp                        # NRPE

Reiniciamos el xinetd y la red:

# service xinetd restart
# service networking restart

Comprobamos que este funcionando correctamente:

# netstat -at | grep nrpe
tcp 0 0 *:nrpe *:* LISTEN

Comprobamos que funcione correctamente el NRPE:

# /usr/local/nagios/libexec/check_nrpe -H localhost
NRPE v2.15

Ya tendríamos instalado el NRPE en el cliente, ahora lo instalaremos en el servidor de Nagios, que nuevamente es un Ubuntu Server 14.04 LTS.

Descargaremos el NRPE y lo descomprimimos:

# wget http://sourceforge.net/projects/nagios/files/nrpe-2.x/nrpe-2.15/nrpe-2.15.tar.gz
# tar xzf nrpe-2.15.tar.gz
# cd nrpe-2.15/

Compilamos el NRPE y lo instalamos:

# ./configure --with-ssl=/usr/bin/openssl --with-ssl-lib=/usr/lib/x86_64-linux-gnu
# make all
# make install-plugin

Ya estaría instalado el NRPE en el servidor, podemos hacer una prueba para ver si funciona correctamente, por ejemplo, comprobar la carga de CPU, para ello se debe hacer:

# /usr/local/nagios/libexec/check_nrpe -H 'IP-del-cliente-Nagios' -c 'check_load'
OK - load average: 0.13, 0.11, 0.10|load1=0.130;15.000;30.000;0; load5=0.110;10.000;25.000;0; load15=0.100;5.000;20.000;0;

Habrá que añadir en el /usr/local/nagios/objects/commands.cfg el siguiente comando para utilizar el NRPE:

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

Luego en los servicios de cada hosts que se quiera llamar utilizaremos lo siguiente, este ejemplo es para ver la carga de CPU:

define service {
            host_name                       cliente1
            service_description             Check Load
            check_command                   check_nrpe!check_load
            use                             generic-service
}

Instalación de Nagios 4.0.X en Ubuntu Server 14.04 LTS

A continuación os explicaré como instalar el software de monitorización Nagios en su versión 4.0.8, aunque sirve sin problema para cualquier versión 4.0. Lo instalaré sobre un servidor Ubuntu Server 14.04 LTS.

ubuntu-14_04Nagios-Core

Lo primero será instalar lo que vamos a necesitar, que es un Apache, sus utilidades, la libreria de PHP5 y lo necesario para la instalación del software.

# apt-get install apache2 libapache2-mod-php5 build-essential bgd2-xpm-dev apache2-utils

Creamos el usuario de Nagios y le ponemos el password:

# /usr/sbin/useradd -m -s /bin/bash nagios
# passwd nagios

Creamos el grupo Nagios y se añade el usuario:

# /usr/sbin/groupadd nagios
# /usr/sbin/usermod -G nagios nagios

Se crea el grupo nagcmd para permitir lanzar comandos externos:

# /usr/sbin/groupadd nagcmd
# /usr/sbin/usermod -a -G nagcmd nagios
# /usr/sbin/usermod -a -G nagcmd www-data

Descargamos el Nagios:

# wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-4.0.8.tar.gz

Lo descomprimimos:

# tar xzf nagios-4.0.8.tar.gz
# cd nagios-4.0.8/

Compilamos el código de Nagios:

# ./configure --with-command-group=nagcmd

Luego instalamos los binarios:

# make all
# make install
# make install-init
# make install-config
# make install-commandmode
# make install-webconf

Añadimos la configuración del Nagios al Apache:

# /usr/bin/install -c -m 644 sample-config/httpd.conf /etc/apache2/sites-enabled/nagios.conf

Cambiamos la contraseña al usuario nagiosadmin que da acceso a la web y reiniciamos el Apache:

# htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
# service apache2 restart

Añadimos el mail del administrador en el contact.cfg:

# nano /usr/local/nagios/etc/objects/contacts.cfg

A continuación instalaremos los plugins de Nagios, para ello lo primero es descargarlos y descomprimirlos:

# wget http://nagios-plugins.org/download/nagios-plugins-2.0.3.tar.gz
# tar xzf nagios-plugins-2.0.3.tar.gz
# cd nagios-plugins-2.0.3

Lo compilamos y hacemos la instalación de los binarios:

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

Añadimos los módulos de CGI y Rewrite al Apache y lo reiniciamos:

# a2enmod rewrite
# a2enmod cgi
# service apache2 restart

Configuramos que se inicie el servicio de Nagios en el arranque:

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

Revisamos que este todo bien en el Nagios:

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

Reiniciamos el servicio:

# service nagios start

Para configurar el correo, instalar las utilidades de Ubuntu de correo:

# apt-get install mailutils

Yo tengo un relay así que simplemente he añadido la IP en el /etc/postfix/main.cf, después se modifica command.cfg para que envíe a través del Postfix:

# nano  /usr/local/nagios/etc/objects/commands.cfg

Cambiar las referencias de ‘/bin/mail’ a ‘/usr/bin/mail’, reiniciar el servicio de Nagios y ya estará configurado el envío de correos.

Ya se puede acceder a la web, la máquina localhost estará configurada por defecto. La dirección es http://IP-del-servidor/nagios/, pedirá usuario y contraseña de que es el de nagiosadmin.

Error en Apache de ServerName

El servidor web Apache puede ser que nos de el siguiente error a la hora de instalarlo o reiniciarlo en Ubuntu:

Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message

Este problema viene porque no esta seguro del nombre del servidor ya que el localhost apunta a la 127.0.0.1. Para solucionar este problema simplemente debemos editar el archivo de configuración de Apache:

$ sudo nano /etc/apache2/apache2.conf

Y añadir la siguiente línea:

ServerName localhost

Ahora solo hay que reiniciar el Apache y ya estará solucionado:

$ sudo service apache2 restart

Configurar red estática en Ubuntu Server 14.04 LTS

En Ubuntu viene por defecto el DHCP activado, a continuación os explicaré como configurar una IP estática.

ubuntu-14_04

Lo primero es abrir el documento de interfaces:

$ sudo nano /etc/network/interfaces

Dentro nos encontramos que esta configurado como DHCP, lo editaremos con la IP estática y la configuración que queramos:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0

# DHCP not needed
# iface eth0 inet dhcp
iface eth0 inet static
address 192.168.10.15
netmask 255.255.255.0
network 192.168.10.0
broadcast 192.168.10.255
gateway 192.168.10.1
dns-nameservers 8.8.8.8 8.8.4.4

Guardarmos y ahora iremos a editar resolv.conf:

$ sudo nano /etc/resolv.conf

Le añadimos:

nameserver 8.8.8.8
nameserver 8.8.4.4
search midominio.local

Lo siguiente es añadir la IP fija al archivo hosts:

$ sudo nano /etc/hosts

Y le añadimos:

192.168.10.15   vmtest01.midominio.local  vmtest01

Reiniciamos la tarjeta de red:

$ sudo ifdown eth0 && sudo ifup eth0

Lo hacemos de esa forma ya que el Ubuntu 14.04 tiene un bug, no  funciona correctamente el servicio networking, para solucionarlo debemos  hacer lo siguiente:

$ sudo apt-get install git
$ sudo git clone https://github.com/metral/restore_networking.git
$ cd restore_networking/
$ sudo ./restore_networking.sh

$ sudo service networking restart
networking stop/waiting
networking start/running