Instalando Nagios, pnp4nagios, Nagvis y NagiosQL en Debian 9
En este tutorial, instalaremos Nagios 4 (proyecto) en un equipo con Debian 9 (Stretch) desde cero, configuraremos exim4 como MTA para enviar las alertas e instalaremos notificaciones en HTML en substitución de las alertas estándar, incluiremos también pnp4nagios para tener gráficas de las métricas que se recolectan, Nagvis para armar pantallas con monitoreos a medida y por último NagiosQL para la administración de objetos de Nagios a través de una GUI web.
Asumiremos que tenemos un equipo ya instalado con Debian actualizado con los últimos paquetes.
Instalando Nagios 4
Comenzaremos asegurándonos que tenemos los repositorios actualizados y las ultimas versiones del sistema operativo, para esto ejecutaremos
apt-get update
apt-get upgrade apt-get dist-upgrade
Con esto tenemos todo listo para comenzar la instalación, lo primero que haremos, sera crear una carpeta temporal para descargar las fuentes de todo lo que instalaremos y nos cambiaremos a ella.
mkdir ~/tmp cd ~/tmp
Seguiremos instalando los prerequisitos, el Webserver (utilizaremos apache), php y algunas herramientas que utilizaremos mas adelante.
apt-get install wget build-essential apache2 php apache2-mod-php7.0 php-gd libgd-dev unzip exim4
Bajaremos las fuentes de Nagios Core y la colección de plugins básicos a la carpeta tmp y los descomprimiremos.
wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.3.4.tar.gz wget http://www.nagios-plugins.org/download/nagios-plugins-2.2.1.tar.gz tar zxvf nagios-4.3.4.tar.gz tar zxvf nagios-plugins-2.2.1.tar.gz
Crearemos el usuario, el grupo para la ejecución de los comandos y asociaremos el usuario al grupo del
useradd nagios groupadd nagcmd usermod -a -G nagios,nagcmd www-data
Nos cambiaremos a la carpeta de instalación de Nagios y ejecutaremos la instalación. Como parámetros, le pasaremos que queremos que la instalación se haga en /etc/nagios en lugar de /usr/local/nagios, esto es mas una costumbre personal, por lo que podría quedar con los parámetros por defecto sin problemas, pero tengan en cuenta que el resto de los comandos, harán referencia a esta ubicación. Tambien tenemos que pasarle la ruta de configuracion de apache, ya que por defecto lo buscara en /etc/httpd y configuraremos exim4 como MTA
cd nagios-4.3.4/ ./configure --prefix=/etc/nagios --with-command-group=nagcmd --with-mail=/usr/sbin/sendmail --with-httpd-conf=/etc/apache2
Y procederemos a compilar desde las fuentes que acabamos de configurar. Compilaremos el programa principal, los archivos de inicio automático, archivos de ejemplo, scripts de control de nagios y la configuración para nuestro
.make all
make install make install-init make install-config make install-commandmode make install-webconf
Copiamos los manejadores de eventos desde las fuentes(por si queremos que al activarse una alerta se ejecute algun script que por ejemplo, reinicie un servicio sin intervención humana) y le damos los permisos adecuados.
cp -R contrib/eventhandlers/ /etc/nagios/libexec/ chown -R nagios:nagios /etc/nagios/libexec/eventhandlers
Y nos aseguramos que la configuracion de nagios este correcta antes de activarla
/etc/nagios/bin/nagios -v /etc/nagios/etc/nagios.cfg
Si todo esta bien, procederemos a activar el sitio en apache
a2ensite nagios a2enmod rewrite cgi
Configuramos el inicio automatico de nagios
update-rc.d nagios defaults
Reiniciamos Apache para activar los cambios e iniciamos Nagios
systemctl restart apache2 systemctl start nagios
Por ultimo, generamos un usuario para poder acceder a la interfaz. En caso de querer crear otro usuario, tendremos que quitar el modificador -c (create) o pisaremos el archivo original, dejando solo ese usuario activo.
htpasswd -c /etc/nagios/etc/htpasswd.users nagiosadmin
Si el usuario es diferente al usuario por defecto (nagiosadmin), deberemos habilitarlo para poder acceder a las funciones principales, editando en el archivo /etc/nagios/etc/cgi.cfg y agregando o modificando el usuario por defecto en las siguientes entradas
authorized_for_system_information=nagiosadmin authorized_for_configuration_information=nagiosadmin authorized_for_system_commands=nagiosadmin authorized_for_all_services=nagiosadmin authorized_for_all_hosts=nagiosadmin authorized_for_all_service_commands=nagiosadmin authorized_for_all_host_commands=nagiosadmin
Desde una navegador, si todo funciono como debería, podremos acceder a http://IP_SERVER/nagios con las credenciales que creamos en el punto anterior.
Accediendo a la pestaña de servicios, deberíamos ver el monitor del localhost que cargamos al compilar.
Con esto habremos terminado la instalación de Nagios 4 y estaremos listos para integrar las demás herramientas para completar nuestra instalación:
Como configuro o nagiosql?
Mañana queda la última parte con la configuración de NagiosQL