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:
su #De Super User
En Raspbian:
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:
apt update
apt install -y autoconf gcc libc6 make wget
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:
cd /tmp
wget -O nagioscore.tar.gz https://github.com/NagiosEnterprises/nagioscore/archive/nagios-4.4.1.tar.gz
tar xvf nagioscore.tar.gz
Compilamos:
cd /tmp/nagioscore-nagios-4.4.1/
./configure --with-httpd-conf=/etc/apache2/sites-enabled
make all
Creamos usuario y grupo:
make install-groups-users
usermod -a -G nagios www-data
Instalamos los binarios, CGI y ficheros HTML
make install
Instalamos el servicio:
make install-daemoninit
Instalamos y configuramos el archivo de comandos externos
make install-commandmode
Instalamos los ficheros de configuración de ejemplo.
make install-config
Instalamos los ficheros de configuración del servidor web Apache
make install-webconf
a2enmod rewrite
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.
iptables -I INPUT -p tcp --destination-port 80 -j ACCEPT
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:
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
Debemos encender el servidor web Apache
systemctl restart apache2.service
Para posteriormente encender el servicio de Nagios
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:
apt install -y autoconf gcc libc6 libmcrypt-dev make libssl-dev
apt install -y wget bc gawk dc build-essential snmp libnet-snmp-perl gettext
Descargamos la última versión desde los repositorios oficiales:
cd /tmp
wget --no-check-certificate -O nagios-plugins.tar.gz \
https://github.com/nagios-plugins/nagios-plugins/archive/release-2.2.1.tar.gz
tar zxf nagios-plugins.tar.gz
Compilamos e instalamos:
cd /tmp/nagios-plugins-release-2.2.1/
./tools/setup
./configure
make
make install
Reiniciamos el servicio de Nagios
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
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.
cd /tmp
wget http://nagios-plugins.org/download/nagios-plugins-2.2.1.tar.gz
Descomprimirmos el fichero comprimido y compilamos:
tar xzf nagios-plugins-2.2.1.tar.gz
cd nagios-plugins-2.2.1
gunzip -c nagios-plugins-2.2.1.tar.gz | tar xf -
./configure
make
make install
Creamos usuarios, grupos y asignamos permisos y propietarios:
useradd nagios
groupadd nagios
usermod -a -G nagios nagios
chown nagios.nagios /usr/local/nagios
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:
apt install xinetd
systemctl start xinetd
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.
cd /tmp
wget https://github.com/NagiosEnterprises/nrpe/releases/download/nrpe-3.2.1/nrpe-3.2.1.tar.gz
tar xvf nrpe-3.2.1.tar.gz
cd nrpe-nrpe-3.2.1
./configure
make all
make install
make install-config
make install-inetd
Nos debemos cerceriorar que en el fichero «/etc/services«, exite esta línea:
5666/tcp
Encendemos el servicio NRPE y reiniciamos Xinetd
systemctl enable nrpe
systemctl start nrpe
systemctl restart xinetd
Y esto es todo. Espero que os sea de utilidad en algún momento. Nos vamos leyendo.
Fuentes consultadas: