Instalar Nagios en un servidor Debian 9 y en Raspbian

En el artículo de hoy vamos a ver todos los pasos para instalar la plataforma de monitorización Nagios, sobre un servidor Debian 9 , con el nombre “Stretch”. A la par también dejaré notas para la instalación sobre un sistema Raspbian, que como ya sabéis está basado en Debian y funciona sobre las placas Raspberry Pi

Instalar Nagios sobre Debian 9 y Raspbian

Una pequeña introducción

Antes de empezar con la instalación, hablemos un poco de Nagios. Se trata sin suda de la plataforma más popular, en lo que respecta a la monitorización. Es la que lleva más años a sus espaldas, además muchos otros productos son “fork” de este, por ejemplo, Icinga

Nagios está pensando para ser escalabre y flexible, y tiene como fin garantizar la tranquilidad de los administradores de sistemas. Nos permite tener un conocimiento rápido de toda la infraestructura de IT. Permite detectar y reparar problemas, además de mitigar problemas futuros, antes de que afectan a los usuarios finales y a los clientes.

Tiene un buen puñado de ventajas:

  • Planifica actualizaciones de la infraestructura antes de que los sistemas obsoletos puedan fallar
  • Respuesta rápida a los problemas
  • Puede incluso solucionar problemas automáticamente cuando se detectan
  • Coordinar la respuesta con el equipo técnico
  • Se asegura que se cumplan todas las SLA de nuestra organización
  • Podemos controlar toda la infraestructura y los procesos comerciales

Para el artículo utilizaremos la última versión que es la 4.4.1

Instalación de Nagios Core

Antes de nada, hay que tener en cuenta que debemos tener permisos de super administrador para realizar la instalación.

En Debian:

  1. su #De Super User

En Raspbian:

  1. sudo -i

Por defecto el elemento de seguridad SELinux viene desactivado en Debian, por lo que no tendremos que interactuar con él.

En lo que se refiere a los requisitos, debemos tener instalados una serie de paquetes y librerías, que son:

  1. apt update
  2. apt install -y autoconf gcc libc6 make wget
  3. apt install -y unzip apache2 apache2-utils php libgd-dev

Si nos fijamos se tratan de herramientas necesarias para compilar paquetes escritos en C, además de las piezas de un servidor web Apache2 más PHP

Descargamos Nagios desde los repositorios oficiales:

  1. cd /tmp
  2. wget -O nagioscore.tar.gz https://github.com/NagiosEnterprises/nagioscore/archive/nagios-4.4.1.tar.gz
  3. tar xvf nagioscore.tar.gz

Compilamos:

  1. cd /tmp/nagioscore-nagios-4.4.1/
  2. ./configure --with-httpd-conf=/etc/apache2/sites-enabled
  3. make all

Creamos usuario y grupo:

  1. make install-groups-users
  2. usermod -a -G nagios www-data

Instalamos los binarios, CGI y ficheros HTML

  1. make install

Instalamos el servicio:

  1. make install-daemoninit

Instalamos y configuramos el archivo de comandos externos

  1. make install-commandmode

Instalamos los ficheros de configuración de ejemplo.

  1. make install-config

Instalamos los ficheros de configuración del servidor web Apache

  1. make install-webconf
  2. a2enmod rewrite
  3. a2enmod cgi

En las dos últimas líneas habilitamos los módulos “rewrite” y “cgi”, en el servidor web Apache.

Configuración del corta fuegos

Necesitamos tenemos habilitado en el servidor el puerto 80 en el cortafuegos, para así poder acceder vía web.

  1. iptables -I INPUT -p tcp --destination-port 80 -j ACCEPT
  2. apt install -y iptables-persistent

Creamos el usuario nagiosadmin

Debemos crear el usuario para acceder a la web, utilizando el servidor web Apache

Para ellos debemos ejecutar la siguiente línea:

  1. htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

Debemos encender el servidor web Apache

  1. systemctl restart apache2.service

Para posteriormente encender el servicio de Nagios

  1. systemctl start nagios.service

Instalación de Nagios Plugins

Para sacar todo su jugo al producto debemos instalar los plugins de Nagios.

Actualmente están en la versión 2.2.1, aunque podemos saber si hay alguna versión más actual revisando su página de GitHub

Para poder instalarlos, al igual que en Core de Nagios, debemos instalar unos paquetes para cumplir con los requisitos:

  1. apt install -y autoconf gcc libc6 libmcrypt-dev make libssl-dev 
  2. apt install -y wget bc gawk dc build-essential snmp libnet-snmp-perl gettext

Descargamos la última versión desde los repositorios oficiales:

  1. cd /tmp
  2. wget --no-check-certificate -O nagios-plugins.tar.gz \ 
  3. https://github.com/nagios-plugins/nagios-plugins/archive/release-2.2.1.tar.gz
  4. tar zxf nagios-plugins.tar.gz

Compilamos e instalamos:

  1. cd /tmp/nagios-plugins-release-2.2.1/
  2. ./tools/setup
  3. ./configure
  4. make
  5. make install

Reiniciamos el servicio de Nagios

  1. systemctl restart nagios.service

Y esto es todo. Ahora ya podemos ir al navegador web y acceder a Nagios, por ejemplo en la URL http://url-de-prueba/nagios

Nagios Web recién instalado (click para ampliar imagen)

Instalación de NRPE

Una pieza fundamental para poder operar con otros hosts y sus servicios desde el servidor central de Nagios,  es el addon NRPE. Este nos permitirá comunicarnos con otros servidores.

Su instalación no es complicada. Hay que instalarlo en los clientes que queremos monitorizar.

Sería así.

Instalar plugin de Nagios en cliente

Recuerda que los requisitos son los mismo de antes.

  1. cd /tmp
  2. wget http://nagios-plugins.org/download/nagios-plugins-2.2.1.tar.gz

Descomprimirmos el fichero comprimido y compilamos:

  1. tar xzf nagios-plugins-2.2.1.tar.gz
  2. cd nagios-plugins-2.2.1
  3. gunzip -c nagios-plugins-2.2.1.tar.gz | tar xf -
  4.  ./configure
  5. make
  6. make install

Creamos usuarios, grupos y asignamos permisos y propietarios:

  1. useradd nagios
  2. groupadd nagios
  3. usermod -a -G nagios nagios
  4. chown nagios.nagios /usr/local/nagios
  5. chown -R nagios.nagios /usr/local/nagios/libexec

NRPE utiliza para funcionar el servicio xinetd, del que ya hablé en su día, por lo que lo tenemos que instalar:

  1. apt install xinetd
  2. systemctl start xinetd
  3. systemctl enable xinetd

Instalación de NRPE

Si queremos utilizar NRPE como servicio o «daemon», seguiremos estos pasos.

Descargamos los ficheros de NRPE, posteriormente descomprimimos y compilamos.

  1. cd /tmp
  2. wget https://github.com/NagiosEnterprises/nrpe/releases/download/nrpe-3.2.1/nrpe-3.2.1.tar.gz
  3. tar xvf nrpe-3.2.1.tar.gz
  4. cd nrpe-nrpe-3.2.1
  5. ./configure
  6. make all
  7. make install 
  8. make install-config
  9. make install-inetd

Nos debemos cerceriorar que en el fichero «/etc/services«, exite esta línea:

  1. 5666/tcp

Encendemos el servicio NRPE y reiniciamos Xinetd

  1. systemctl enable nrpe
  2. systemctl start nrpe
  3. systemctl restart xinetd

Y esto es todo. Espero que os sea de utilidad en algún momento. Nos vamos leyendo.

Fuentes consultadas:

NRPE Documentation

Nagios Core – Installing Nagios Core from source in Debian