Cómo instalar la herramienta de monitorización Nagios en Ubuntu 22.04
Nagios es una potente herramienta de supervisión gratuita y de código abierto que se utiliza para supervisar servidores Linux y Windows y redes e infraestructuras. Con Nagios, puedes supervisar el uso de la CPU, el uso del disco y varios servicios, como HTTP, SSH, FTP, SMTP y más. Tiene una interfaz web sencilla y fácil de usar que te ayuda a supervisar todos los servidores desde una ubicación central. Se puede integrar fácilmente con aplicaciones de terceros mediante múltiples API. Nagios funciona supervisando continuamente los hosts y servicios que especifiques y alertándote cuando las cosas van mal.
Este tutorial te mostrará cómo instalar Nagios Core en un servidor Ubuntu 22.04.
Requisitos previos
- Un servidor que ejecute Ubuntu 22.04.
- Una contraseña de root configurada en el servidor.
Instalar la dependencia necesaria
Antes de empezar, tendrás que actualizar el paquete del sistema e instalar otras dependencias necesarias en tu servidor:
apt-get update -y apt-get install wget unzip vim curl openssl build-essential libgd-dev libssl-dev libapache2-mod-php php-gd php apache2 -y
Una vez instalados todos los paquetes, puedes pasar al siguiente paso.
Instalar Nagios Core desde el código fuente
Por defecto, la última versión de Nagios Core no está disponible en el repositorio por defecto de 22.04. Así que se recomienda compilar Nagios desde el código fuente.
Primero, descarga la última versión de Nagios Core del repositorio Git con el siguiente comando:
wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.4.7.tar.gz
Una vez descargada, extrae el archivo descargado con el siguiente comando:
tar -xvzf nagios-4.4.7.tar.gz
A continuación, cambia el directorio al extraído y configura el Nagios Core con el siguiente comando:
cd nagios-4.4.7 ./configure --with-httpd-conf=/etc/apache2/sites-enabled
Deberías obtener la siguiente salida:
*** Configuration summary for nagios 4.4.7 2022-04-14 ***: General Options: ------------------------- Nagios executable: nagios Nagios user/group: nagios,nagios Command user/group: nagios,nagios Event Broker: yes Install ${prefix}: /usr/local/nagios Install ${includedir}: /usr/local/nagios/include/nagios Lock file: /run/nagios.lock Check result directory: /usr/local/nagios/var/spool/checkresults Init directory: /lib/systemd/system Apache conf.d directory: /etc/apache2/sites-enabled Mail program: /bin/mail Host OS: linux-gnu IOBroker Method: epoll Web Interface Options: ------------------------ HTML URL: http://localhost/nagios/ CGI URL: http://localhost/nagios/cgi-bin/ Traceroute (used by WAP): Review the options above for accuracy. If they look okay, type 'make all' to compile the main program and CGIs.
A continuación, ejecuta el siguiente comando para compilar el Nagios:
make all
A continuación, crea el usuario y el grupo necesarios, y añade el usuario Nagios al grupo www-data con el siguiente comando:
make install-groups-users usermod -a -G nagios www-data
A continuación, instala el Nagios Core con el siguiente comando:
make install
Deberías ver la siguiente salida:
*** Main program, CGIs and HTML files installed *** You can continue with installing Nagios as follows (type 'make' without any arguments for a list of all possible options): make install-init - This installs the init script in /lib/systemd/system make install-commandmode - This installs and configures permissions on the directory for holding the external command file make install-config - This installs sample config files in /usr/local/nagios/etc make[1]: Leaving directory '/root/nagios-4.4.7'
Una vez instalado el Nagios Core, tendrás que crear un archivo de servicio systemd para gestionar el servicio Nagios. Puedes crear el script systemd init con el siguiente comando:
make install-daemoninit
A continuación, establece el permiso adecuado en el directorio de instalación de Nagios con el siguiente comando:
make install-commandmode
A continuación, crea un archivo de configuración de Nagios de ejemplo con el siguiente comando:
make install-config
A continuación, instala la interfaz web de Nagios con el siguiente comando:
make install-webconf a2enmod rewrite cgi
A continuación, reinicia el servicio Apache para aplicar los cambios:
systemctl restart apache2
A continuación, instala el tema para la interfaz web de Nagios.
make install-exfoliation
Crear un usuario administrador de Nagios
A continuación, tendrás que crear un usuario administrador para acceder a la interfaz web de Nagios. Puedes crearlo con el siguiente comando:
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
Establece la contraseña que desees como se muestra a continuación:
New password: Re-type new password: Adding password for user nagiosadmin
Instalar plugins de Nagios
A continuación, tendrás que descargar los plugins de Nagios para monitorizar los servicios del sistema. Puedes descargarlo del repositorio Git con el siguiente comando:
wget https://github.com/nagios-plugins/nagios-plugins/releases/download/release-2.4.0/nagios-plugins-2.4.0.tar.gz
Una vez descargado, extrae el archivo descargado con el siguiente comando:
tar -xvzf nagios-plugins-2.4.0.tar.gz
A continuación, cambia el directorio al extraído y configúralo con el siguiente comando:
cd nagios-plugins-2.4.0 ./configure --with-nagios-user=nagios --with-nagios-group=nagios
A continuación, instálalo con el siguiente comando
make make install
A continuación, verifica los archivos de configuración de Nagios de muestra antes de iniciarlo con el siguiente comando:
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
Si todo va bien, deberías obtener la siguiente salida:
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
Iniciar el servicio Nagios
Ahora, inicia el servicio Nagios y habilítalo para que se inicie al reiniciar el sistema con el siguiente comando:
systemctl start nagios systemctl enable nagios
También puedes comprobar el estado del servicio Nagios con el siguiente comando:
systemctl status nagios
Deberías obtener la siguiente salida:
? nagios.service - Nagios Core 4.4.7 Loaded: loaded (/lib/systemd/system/nagios.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2022-05-04 17:18:52 UTC; 1s ago Docs: https://www.nagios.org/documentation Process: 15854 ExecStartPre=/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg (code=exited, status=0/SUCCESS) Process: 15855 ExecStart=/usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg (code=exited, status=0/SUCCESS) Main PID: 15856 (nagios) Tasks: 6 (limit: 2241) Memory: 5.2M CPU: 355ms CGroup: /system.slice/nagios.service ??15856 /usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg ??15857 /usr/local/nagios/bin/nagios --worker /usr/local/nagios/var/rw/nagios.qh ??15858 /usr/local/nagios/bin/nagios --worker /usr/local/nagios/var/rw/nagios.qh ??15859 /usr/local/nagios/bin/nagios --worker /usr/local/nagios/var/rw/nagios.qh ??15860 /usr/local/nagios/bin/nagios --worker /usr/local/nagios/var/rw/nagios.qh ??15861 /usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg June 12 06:10:52 jellyfish nagios[15856]: qh: core query handler registered June 12 06:10:52 jellyfish nagios[15856]: qh: echo service query handler registered June 12 06:10:52 jellyfish nagios[15856]: qh: help for the query handler registered June 12 06:10:52 jellyfish nagios[15856]: wproc: Successfully registered manager as @wproc with query handler June 12 06:10:52 jellyfish nagios[15856]: wproc: Registry request: name=Core Worker 15858;pid=15858 June 12 06:10:52 jellyfish nagios[15856]: wproc: Registry request: name=Core Worker 15857;pid=15857 June 12 06:10:52 jellyfish nagios[15856]: wproc: Registry request: name=Core Worker 15860;pid=15860 June 12 06:10:52 jellyfish nagios[15856]: wproc: Registry request: name=Core Worker 15859;pid=15859 June 12 06:10:53 jellyfish nagios[15856]: Successfully launched command file worker with pid 15861 June 12 06:10:53 jellyfish nagios[15856]: HOST ALERT: localhost;DOWN;SOFT;1;(No output on stdout)
Accede a la Interfaz Web de Nagios
Ahora, abre tu navegador web y escribe la URL http://your-server-ip/nagios. Se te redirigirá a la pantalla de inicio de sesión de Nagios:
Introduce tu nombre de usuario y contraseña de administrador de Nagios y haz clic en el botón Aceptar. Deberías ver el panel de control por defecto de Nagios en la siguiente pantalla:
Conclusión
Enhorabuena! has instalado correctamente la última versión de Nagios Core en el servidor Ubuntu 22.04. Ya puedes implementar Nagios en tu infraestructura, añadir tus hosts de monitorización y empezar a monitorizarlos a través de un navegador web. No dudes en preguntarme si tienes alguna duda.