[Última revisión: 19 de febrero de 2020]
Nagios es una herramienta de monitorización que se puede instalar en Linux y que monitoriza otros dispositivos conectados a su red. Estos dispositivos pueden ser ordenadores personales, impresoras, teléfonos móviles… Los dispositivos que monitoriza Nagios no necesariamente tienen que trabajar con Linux, sino que pueden tener otros sistemas operativos como por ejemplo Windows. También se pueden monitorizar servicios que dan estos dispositivos. En otra entrada nos centraremos en cómo funciona Nagios, aquí solamente hablaré de la instalación de su versión gratuita.
Para su instalación en un sistema operativo Ubuntu Server 18.04 seguiré los siguientes pasos:
Actualización del sistema
leyre@leyreserver:~$ sudo apt update
leyre@leyreserver:~$ sudo apt upgrade
Si me pregunta algo, le doy a sí (S).
Comprobar que SELinux está desactivado
Se debe comprobar que SELinux (Security-Enhanced Linux) esté desactivado o en modo permisivo, lo cual es necesario para que la instalación de Nagios sea satisfactoria. A menos que lo haya activado uno mismo, SELinux está desactivado cuando se instala un Ubuntu Server 18.04. Para comprobar si SELinux está activado o no escribo el comando:
leyre@leyreserver:~$ sudo dpkg -l selinux*
Si no está activado podemos continuar.
Instalación de paquetes
A continuación es necesario instalar desde el repositorio una serie de paquetes, entre ellos Apache y PHP, escribiendo los siguientes comandos:
leyre@leyreserver:~$ sudo apt install autoconf gcc libc6 make wget unzip apache2 php libapache2-mod-php7.2 libgd-dev libmcrypt-dev libssl-dev bc gawk dc build-essential snmp libnet-snmp-perl gettext
Cuando, al instalar estos paquetes, me pregunte si deseo continuar, le doy a sí (S).
Se puede pedir la instalación de todos los paquetes con una sola línea de comando, tal como se ha escrito, o paquete por paquete, en diferentes líneas de comando:
leyre@leyreserver:~$ sudo apt install autconf
leyre@leyreserver:~$ sudo apt install gcc
leyre@leyreserver:~$ sudo apt install libc6
(…)
Descargar el archivo comprimido de Nagios
Voy a descargar un archivo comprimido a través de un enlace. Después deberé descomprimir dicho archivo para trabajar con su contenido, el cual me instalará Nagios.
Podéis descargar el archivo donde queráis. En este tutorial yo lo haré en /home/leyre. Voy al directorio /home:
leyre@leyreserver:~$ cd /home
El comando cd viene del inglés change directory, cambiar directorio.
Desde /home escribo el comando ls y veo que dentro de /home hay un directorio llamado leyre (en vuestro caso será el nombre que le hayáis puesto al usuario en vuestra máquina). Voy a ese directorio. Estando en /home, hago:
leyre@leyreserver:/home$ cd leyre
Ahora estoy en /home/leyre, que realmente era donde estaba al principio del tutorial, simplemente he hecho estos pasos para que se vea esto. Estando en /home/leyre utilizaré un wget para descargar el archivo comprimido que contiene a Nagios.
leyre@leyreserver:~$ wget https://github.com/NagiosEnterprises/nagioscore/archive/nagios-4.4.5.tar.gz
El enlace se ha obtenido de la página web de Nagios. Es importante comprobar que se ha descargado el archivo y que la descarga no ha dado error, ya que cualquier fallo al escribir el enlace de descarga hará que no se descargue nada.
Si, estando en /home/leyre, escribo el comando ls, puedo ver que se ha descargado un archivo comprimido que se llama nagios-4.4.5.tar.gz.
Descomprimir el archivo de Nagios descargado
Para descomprimir este archivo, estando en /home/leyre, escribo el comando:
leyre@leyreserver:~$ tar xzf nagios-4.4.5.tar.gz
Si ahora, estando en /home/leyre, escribo el comando ls, observo que se ha descomprimido una carpeta llamada nagioscore-nagios-4.4.5.
Le cambio el nombre a este directorio para que tenga un nombre más fácil:
leyre@leyreserver:~$ sudo mv nagioscore-nagios-4.4.5 nagioscore
Si ahora estando en /home/leyre escribo el comando ls, veo que ahora el directorio se llama nagioscore a secas.
Instalación de Nagios
Me meto dentro del directorio nagioscore para trabajar con los archivos dentro de él. Estando en /home/leyre, escribo:
leyre@leyreserver:~$ cd nagioscore
Al hacer esto, estoy en el directorio /home/leyre/nagioscore. Desde aquí, escribo los siguientes comandos, que instalarán los archivos de Nagios en los directorios necesarios:
leyre@leyreserver:~/nagioscore$ sudo ./configure –with-httpd-conf=/etc/apache2/sites-enabled
leyre@leyreserver:~/nagioscore$ sudo make all
El siguiente paso es crear el usuario (www-data) y grupo (nagios) de Nagios, con los comandos:
leyre@leyreserver:~/nagioscore$ sudo make install-groups-users
leyre@leyreserver:~/nagioscore$ sudo usermod -a -G nagios www-data
A continuación se instalan los archivos binarios, CGI y archivos HTML.
leyre@leyreserver:~/nagioscore$ sudo make install
Lo siguiente es instalar el servicio (o archivos daemon) y configurarlos para que comiencen en el arranque:
leyre@leyreserver:~/nagioscore$ sudo make install-daemoninit
Sigo instalando líneas de configuración:
leyre@leyreserver:~/nagioscore$ sudo make install-commandmode
A continuación se instalan archivos de configuración de muestra para Nagios, que éste necesita para poder arrancar.
leyre@leyreserver:~/nagioscore$ sudo make install-config
Se trabaja con Nagios desde una página web, así que hay que configurar Apache para que pueda mostrarnos a Nagios. Se hace con los siguientes comandos:
leyre@leyreserver:~/nagioscore$ sudo make install-webconf
leyre@leyreserver:~/nagioscore$ sudo a2enmod rewrite
leyre@leyreserver:~/nagioscore$ sudo a2enmod cgi
A continuación, se le deben dar permisos al firewall para trabajar con Nagios. Se hace con los siguientes comandos:
leyre@leyreserver:~/nagioscore$ sudo ufw allow Apache
leyre@leyreserver:~/nagioscore$ sudo ufw reload
Como se va a acceder a Nagios a través del navegador web, se ha de crear un usuario. Éste se crea con el siguiente comando:
leyre@leyreserver:~/nagioscore$ sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
He creado un usuario llamado nagiosadmin. Al hacerlo me pide que le ponga una contraseña así que se la pongo.
Si en el futuro quiero añadir otro usuario (lo llamaré a modo de ejemplo otrousuario), sin que se borre el usuario nagiosadmin, debo poner el mismo comando pero sin -c.
leyre@leyreserver:~/nagioscore$ sudo htpasswd /usr/local/nagios/etc/htpasswd.users otrousuario
Si pongo la -c se borrarán los usuarios anteriormente creados al escribir el nuevo usuario.
Ya está instalado Nagios. Reinicio Apache y Nagios:
leyre@leyreserver:~/nagioscore$ sudo systemctl restart apache2.service
leyre@leyreserver:~/nagioscore$ sudo systemctl start nagios.service
Si en el navegador escribo mi IP seguida, sin espacio, de /nagios, debería funcionar el programa. Para saber tu IP puedes escribir el comando ifconfig.
Comprueba en el navegador que Nagios funciona, por ejemplo:
Me pide el usuario (nagiosadmin) y la contraseña que he fijado antes. Pero Nagios aún no funciona del todo, ello es debido a que aún faltan por instalar los plugins, que instalaré a continuación.
Instalación de los plugins
Primero, en el directorio /home/leyre (comando cd /home/leyre para ir a él) descargo un archivo comprimido con los plugins:
leyre@leyreserver:~$ wget https://github.com/nagios-plugins/nagios-plugins/archive/release-2.2.1.tar.gz
Este enlace lo he obtenido de la página web de Nagios.
Si, estando en la carpeta /home/leyre, escribo el comando ls, veo que se ha descargado un archivo comprimido llamado release-2.2.1.tar.gz. Para descomprimirlo, escribo el comando:
leyre@leyreserver:~$ tar zxf release-2.2.1.tar.gz
Ahora, voy a escribir los comandos necesarios para instalar los plugins. Si escribo el comando ls estando en /home/leyre, veo que se ha descomprimido un directorio llamado nagios-plugins-release-2.2.1. Lo primero voy a hacer es cambiarle el nombre a este directorio, a uno más fácil:
leyre@leyreserver:~$ sudo mv nagios-plugins-release-2.2.1 nagios_plugins
Si en /home/leyre escribo el comando ls, veo que el nombre del directorio ha cambiado a nagios_plugins.
Ahora me meto en este directorio. Desde el directorio /home/leyre (comando cd /home/leyre para ir a él), se escribe:
leyre@leyreserver:~$ cd nagios_plugins
Ahora estoy en /home/leyre/nagios_plugins. A continuación, escribo:
leyre@leyreserver:~/nagios_plugins$ sudo ./tools/setup
leyre@leyreserver:~/nagios_plugins$ sudo ./configure
leyre@leyreserver:~/nagios_plugins$ sudo make
leyre@leyreserver:~/nagios_plugins$ sudo make install
La instalación de Nagios ha finalizado. Ahora, simplemente reinicio:
leyre@leyreserver:~/nagios_plugins$ sudo systemctl restart nagios.service
Otros comandos útiles para Nagios son aquéllos para pararlo, iniciarlo o simplemente para saber si está funcionando. Estos tres comandos, son, respectivamente:
leyre@leyreserver:~$ sudo systemctl stop nagios.service
leyre@leyreserver:~$ sudo systemctl start nagios.service (éste ya visto antes)
leyre@leyreserver:~$ sudo systemctl status nagios.service
Ahora vuelvo a escribir en el navegador mi IP seguida, sin espacios, de /nagios, y ahora ya está Nagios completamente instalado.
Borrar archivos comprimidos
Ya no voy a necesitar los archivos comprimidos descargados. Puede ser interesante borrarlos. Para ello, desde /home/leyre (comando cd /home/leyre para ir allí), escribo:
leyre@leyreserver:~$ sudo rm nagios-4.4.5.tar.gz
leyre@leyreserver:~$ sudo rm release-2.2.1.tar.gz
El comando rm viene del inglés remove, eliminar.
Si ahora en /home/leyre escribo el comando ls, veo que los archivos comprimidos se han borrado.
Cómo usar Nagios lo explicaré en otras entradas: