En este artículo vamos a ver cómo instalar Nagios en FreeBSD 13 y 12 paso a paso, de modo que puedas montar un servidor Nagios Core capaz de monitorizar máquinas con este sistema operativo gracias a los plugins de Nagios, algo especialmente útil para un servidor o VPS FreeBSD.
Contenido
Antes de instalar Nagios en FreeBSD
Para poder seguir los pasos de esta guía de instalación de Nagios Core en FreeBSD será necesario partir del siguiente escenario:
- Una máquina FreeBSD 13 ó 12 actualizada.
- Servicio web Apache con PHP versión 8.0 (versión requerida por el paquete de Nagios).
- Un usuario con permisos de sudo o el propio root.
- Conexión a Internet.
Si no dispones del entorno mencionado puedes echar un vistazo a nuestras guías de instalación de Apache para FreeBSD 12 y 13, y también a nuestras guías de instalación de PHP para FreeBSD 12 y 13.
En caso de tener todo preparado ya puedes regular la altura más cómoda para tu escritorio y abrir tu terminal de comandos favorita.
Cómo instalar los plugins de Nagios en FreeBSD
Vamos a instalar Nagios en FreeBSD desde los repositorios del sistema, por lo que el primer paso será actualizar la información de los mismos:
~$ sudo pkg update
El paquete que necesitamos es nagios4 y lo instalamos con pkg:
~$ sudo pkg install -y nagios4
Configuración de Nagios para el servicio web de FreeBSD
La interfaz web de Nagios en FreeBSD requiere la activación del módulo CGI de Apache, por lo que debemos editar la configuración del sevicio web:
~$ sudo nano /usr/local/etc/apache24/httpd.conf
Localizamos la siguiente sección:
... <IfModule !mpm_prefork_module> #LoadModule cgid_module libexec/apache24/mod_cgid.so </IfModule> <IfModule mpm_prefork_module> #LoadModule cgi_module libexec/apache24/mod_cgi.so </IfModule> ...
Activamos ambas directivas LoadModule eliminando el carácter # inicial:
... <IfModule !mpm_prefork_module> LoadModule cgid_module libexec/apache24/mod_cgid.so </IfModule> <IfModule mpm_prefork_module> LoadModule cgi_module libexec/apache24/mod_cgi.so </IfModule> ...
Guardamos y cerramos el archivo.
A continuación creamos un archivo de configuración del servicio web para Nagios:
~$ sudo nano /usr/local/etc/apache24/Includes/nagios.conf
El contenido será el siguiente:
ScriptAlias /nagios/cgi-bin/ /usr/local/www/nagios/cgi-bin/ Alias /nagios/ /usr/local/www/nagios/ Alias /nagios /usr/local/www/nagios/ <Directory /usr/local/www/nagios> Require ip 127.0.0.1 php_flag engine on php_admin_value open_basedir /usr/local/www/nagios/:/var/spool/nagios/ </Directory> <Directory /usr/local/www/nagios/cgi-bin> Options ExecCGI </Directory> <Location "/"> AuthName "Acceso restringido a Nagios" AuthType Basic AuthUserFile /usr/local/etc/nagios/htpasswd.users Require valid-user </Location>
Esta configuración sólo permite acceso local a la interfaz web de Nagios, por lo que si deseas poder acceder desde otra máquina en red debes cambiar la directiva Require anterior por esta otra:
... Require all granted ...
Guardamos el archivo y reiniciamos el servicio web para aplicar todos estos ajustes:
~$ sudo service apache24 restart
Por último, creamos el usuario que podrá acceder a la interfaz web de Nagios en FreeBSD:
~$ sudo htpasswd -c /usr/local/etc/nagios/htpasswd.users nagiosadmin New password: Re-type new password: Adding password for user nagiosadmin
Configuración del servicio Nagios en FreeBSD
Tras la instalación de los paquetes de Nagios para FreeBSD se ha creado un servicio llamado nagios que correrá en segundo plano con el usuario y grupo nagios.
Los archivos de configuración de este servicio se ubican en la ruta /usr/local/etc/nagios/.
Inicialmente el paquete de Nagios sólo crea archivos de configuración de muestra para el servicio que no se pueden utilizar directamente, ya que tienen la extensión .cfg-sample en lugar de la necesaria .cfg. Para solucionar este problema, crearemos una copia de todos ellos con extensión .cfg:
~$ sudo find /usr/local/etc/nagios -type f -name "*.cfg-sample" -exec sh -c 'cp {} $(dirname {})/$(basename {} .cfg-sample).cfg' \;
Cambiamos la propiedad de los archivos de configuración de Nagios al usuario y grupo con el que corre el servicio:
~$ sudo chown -R nagios /usr/local/etc/nagios
Ahora debemos habilitar el servicio, cosa que en FreeBSD 12 y 13 haremos de la siguiente forma:
~$ sudo service nagios enable
Y si se trata de FreeBSD 11 editamos el archivo rc.conf:
~$ sudo nano /etc/rc.conf
Y añadimos al final del mismo la siguiente línea:
... nagios_enable="YES"
Guardamos los cambios y cerramos el archivo.
Ya podemos iniciar el servicio Nagios con el comando service:
~$ sudo service nagios start
Cómo acceder a Nagios en FreeBSD
Para acceder a Nagios en FreeBSD desde un navegador indicamos la dirección IP, dominio, nombre DNS, localhost si accedemos localmente, etc. añadiendo el alias configurado, /nagios/ en este tutorial.
Por ejemplo, la máquina FreeBSD que hemos utilizado para realizar este tutorial es accesible en el subdominio freebsd13.local.lan, y hemos definido el alias /nagios/, así que podemos usar http://freebsd13.local.lan/nagios/ como URL de acceso:
Se mostrará una página de inicio de sesión donde introduciremos las credenciales del usuario administrador tal como las creamos anteriormente (en este tutorial serían el nombre de usuario nagiosadmin y su contraseña).
Iniciada la sesión se muestra una página de estado general:
Si visitamos la sección «Current Status / Hosts» podremos ver las máquinas supervisadas por Nagios, por defecto únicamente la propia máquina donde corre el servicio (localhost):
De igual forma, si visitamos la sección «Current Status / Services» veremos con más detalles los servicios monitorizados por Nagios:
¡Así de fácil!
Conclusión
¡Apoya comoinstalar.me!
Si ya funciona este servicio en tu propia máquina y quieres agradecérnoslo, siempre es bien recibida cualquier mínima aportación al mantenimiento de este sitio y la actualización y creación de artículos.
Puedes ayudarnos dejando desde 1 $ de propina mediante PayPal:
O, si te sientes especialmente generoso, puedes invitarnos a un café:
¡Gracias!
Me funcionó genial el tutorial. 5/5 estrellas. 🙂
¡Estupendo! Me alegra saberlo, Carlos.
Hola, he realizado exactamente los mismos comandos que tú y me sale «Forbidden You don´t have permission to access this resource«. Te agradecería si me pudieras echar una mano. Muchas gracias de antemano.
Hola, Pablo. El tutorial funciona correctamente en FreeBSD 11, 12 y 13. Comprueba el registro de errores del servicio web cuando obtienes ese error, por si puede arrojar algo de luz. Ten en cuenta que el alias termina en /, así que no es lo mismo la URL terminada en /nagios que en /nagios/.