Instalar Nagios 4 en RHEL 8 y Centos 8
En esta entrada aprendemos a realizar la instalación del popular sistema de monitoreo Nagios, en su versión 4, en sistemas RHEL y Centos 8. De esta producto ya hemos hablado largo y tendido en la web, pero sí que es verdad que todavía no lo habíamos probado sobre las distribuciones del sombrero rojo.
Recuerda que este producto es compatible con la mayoría de sistemas, y permite controlar el estado de equipos, servicios, procesos o redes; se puede instalar sobre sistemas GNU/Linux, Microsoft Windows o equipos like-UNIX como *BSD.
Nagios se configura mediante archivos de texto y proporciona una interfaz web intuitiva para la administración y el monitoreo; aunque para hacer modificaciones o añadir nuevos monitores, debemos modificar dichos archivos de texto (Desde la consola de comandos, en el caso de sistemas GNU/Linux) En caso de que uno de los monitores detecte un problema, enviara un mensaje de correo electrónico, SMS o incluso mensaje de Telegram. Existe una versión de pago llamada Nagios XI, que facilita la gestión del producto prácticamente al 100% desde la interfaz web.
Preparar el entorno
Yo he preparado una máquina virtual con Centos 8, y la he actualizado a la última versión del sistema y de los paquetes:
sudo dnf update
Una vez hecho esto deshabilitamos SELinux, para que todo funcione OK.
sudo sed -i 's/SELINUX=.*/SELINUX=disable/g' /etc/selinux/config
Una vez hecho esto lo recomendado es siempre reiniciar el equipo.
Además en mi caso he creado un registro «A» en mi proveedor DNS, para no tener que poner IP cada vez que quiera acceder al host o posteriormente a la web de Nagios. Le he asignado un nombre amigable, como «servnagios.bitsandlinux.com», para cambiar el nombre con systemd.
sudo hostnamectl set-hostname servnagios.bitsandlinux.com
Una vez hecho pasemos a instalar los requisitos previos.
Requisitos previos
Para instalar Nagios debemos instalar unas series de dependencias imprescindibles. Esto sería Apache y PHP, básicamente; no se puede considerar un servidor LAMP, ya que no instalamos un servidor de base de datos MYSQL o MariaDB
sudo dnf install @php sudo dnf install @perl @httpd wget unzip glibc automake glibc-common gettext autoconf sudo dnf install php php-cli gcc gd gd-devel net-snmp openssl-devel unzip sudo dnf install net-snmp postfix net-snmp-utils
Además de las herraminetas de desarrollo, conocidas en inglés como «Development Tools«, ya que son necesarios cuando necesitemos compilar.
sudo dnf groupinstall "Development Tools"
Después debemos habilitar al inicio los servicios de Apache y FPM
sudo systemctl enable --now httpd php-fpm
Descargar la versión 4 de Nagios Core
Desde la página oficial de descargas podemos ver cual es la última versión, que a fecha de hoy es la 4.4.6 y descargamos:
cd ~ export VER="4.4.6" curl -SL \ https://github.com/NagiosEnterprises/nagioscore/releases/download/nagios-$VER/nagios-$VER.tar.gz \ | tar -xzf -
Compilar Nagios Core en RHEL 8 y Centos 8
Como he indicado antes una vez descargado el código del proyecto, mayormente escrito en C, debemos realizar la compilación. Primero de todo ejecutamos el guión de configuración:
cd nagios-4.4.6 ./configure
Con un resultado, en mi caso, como el que sigue:
A continuación ya podemos compilar el programa en si las CGI
make all
Creamos los usuarios y grupos correspondienties:
sudo make install-groups-users sudo usermod -a -G nagios apache
Realizamos la instalación de Nagios:
sudo make install
Creamos el init script:
sudo make install-daemoninit
Instalamos y configuramos los permisos en el directorio para guardar los comandos externos:
sudo make install-commandmode
Instalamos los ficheros de configuración de ejemplo, en la ruta /usr/local/nagios/etc/
, así:
sudo make install-config
Ya hemos dicho que vamos a utilizar como servidor web a Apache. Por lo que ahora vamos añadir el fichero de configuración correspondiente para Nagios:
sudo make install-webconf
Con un resultado similar:
Continuamos con lainstalación:
sudo make install-exfoliation
Y por último en esta parte, que no menos importante, escogemos el tema de la interfaz web, que puede ser el llamado «Exfoliation» o el temá clásico:
sudo make install-exfoliation #O sudo make install-classicui
Crear el usuario web de Nagios
Para poder acceder vía web necesitamos craer un usuario web y asignarle una contraseña:
sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
Una vez hecho esto reiniciamos Apache
sudo systemctl restart httpd
Instalar los Nagios Plugins
Con los plugins de Nagios podemos añadir funcionalidades adicionales a la herramienta.
Podemos consultar las últimas versiones desde la web del proyecto en GitHub
cd ~ VER="2.3.3" curl -SL \ https://github.com/nagios-plugins/nagios-plugins/releases/download/release-$VER/nagios-plugins-$VER.tar.gz \ | tar -xzf -
Accedemos a la carpeta:
cd nagios-plugins-2.3.3
Compilamos e instalamos los plugins de Nagios:
./configure --with-nagios-user=nagios --with-nagios-group=nagios make sudo make install
Veriricar la instalación
Una vez realizada la instalación comprobamos que todo haya ido bien:
Nagios Core 4.4.6 Copyright (c) 2009-present Nagios Core Development Team and Community Contributors Copyright (c) 1999-2009 Ethan Galstad Last Modified: 2020-04-28 License: GPL Website: https://www.nagios.org Reading configuration data... Read main config file okay... Read object config files okay... Running pre-flight check on configuration data... Checking objects... Checked 8 services. Checked 1 hosts. Checked 1 host groups. Checked 0 service groups. Checked 1 contacts. Checked 1 contact groups. Checked 24 commands. Checked 5 time periods. Checked 0 host escalations. Checked 0 service escalations. Checking for circular paths... Checked 1 hosts Checked 0 service dependencies Checked 0 host dependencies Checked 5 timeperiods Checking global event handlers... Checking obsessive compulsive processor commands... Checking misc settings... Total Warnings: 0 Total Errors: 0 Things look okay - No serious problems were detected during the pre-flight check
Encendemos Nagios y lo añadimos al inicio
sudo systemctl enable --now nagios
Podemos comprobar su estado:
sudo systemctl status nagios.service
Acceder a la interfaz web de Nagios
Primero de todo, si tenemos habilitado el cortafuegos, que es lo recomendable, debemos abrir los puertos 80 y 443 en este:
sudo firewall-cmd --permanent --add-service={http,https} sudo firewall-cmd --reload
Y ya podemos acceder, en mi caso http://servnagios.bitsandlinux.com/nagios
, con el resultado, una vez puestos el usuario y la contraseña:
Y esto es todo, quizás también te puedan interesar estas entradas:
Instalar Nagios en un servidor Debian 9 y en Raspbian
Instalar y configurar Nagios en Debian Jessie
Instalar Icinga 2 e Icinga Web 2 en Centos 7
Nos vamos leyendo, sed buenos.