mail

Iniciando con Nagios

images/banners/server-monitoring.png
07 May 2018

¿Qué es Nagios?

Sin tanto preambulo, Nagios es un sistema que permite monitorear tanto servidores como equipos que soporten el protocolo SNMP, como los router y switches por ejemplo.

Con Nagios podemos monitorear tanto el hardware como servicios tan especificos como HTTP, SSH, etc. En este ultimo aspecto, es posible extender la funcionalidad por medio de plugins personalizados, incluso pude ver algunos scripts en bash en la instalación por defecto de Nagios, prueba más clara no hay :-) .

¿Como funciona?

Según la documentación oficial de Nagios, es posible realizar el monitoreo por medio de SSH (que es la opción complicada) y por medio de agentes (opción sencilla).

La opción sencilla es usar NRPE en servidores GNU/Linux y usar NSClient++ para servidores Windows. Ambos son agentes que le permiten a Nagios obtener información de los servidores que estamos monitoreando.

Diagrama de funcionamiento de NRPE

Instalación de Nagios en Centos 7

Para todos los servidores

Como estamos hablando de CentOS 7, tanto en el servidor de monitoreo como los servidores a ser monitoreados, debemos instalar el paquete epel-release que habilitará el repositorio EPEL. Para hacerlo solamente debemos ejecutar el siguiente comando:

yum install epel-release

Instalación del Servidor

En un pequeño resumen, lo que debemos hacer en el servidor es:
* Instalar los paquetes de Nagios, sus plugins y el paquete que permite que no tenga conflictos con SeLinux.
* Habilitar un valor en SeLinux.
* Habilitar los servicios (demonios) de Nagios y httpd.
* Permitir que el firewall no bloquee el puerto de httpd.

Para Instalar los paquetes de Nagios ejecutaremos el siguiente comando:

yum install nagios nagios-plugin* nagios-selinux

Luego habilitamos la opción de SeLinux que permitirá que httpd pueda conectarse al demonio de Nagios:

setsebool -P httpd_can_network_connect 1

Después, habilitamos los servicios de httpd y nagios:

systemctl enable nagios
systemctl start nagios
systemctl enable httpd
systemctl start httpd

Finalmente, para poder probar que todo este yendo bien, debemos permitir que el firewall abra el puerto 80 que es por donde httpd escucha:

firewall-cmd --add-service=httpd --permanent
firewall-cmd --reload

Para poder probar nuestra instalación sera necesario abrir el navegador web de nuestra preferencia y utilizar la siguiente url:

http://<IP o dominio el servidor>/nagios

En mi caso queda de la siguiente forma: http://192.168.122.254/nagios y las credenciales de acceso (por defecto) son:

Usuario: nagiosadmin
Contraseña: nagiosadmin

Al ingresar a la URL indicada se nos presentará una pantalla donde debemos colocar las credenciales mostradas:

Credenciales de acceso de nagios

Luego de ingresar debemos ver la siguiente pantalla:

Dashboard de Nagios

Como se puede ver la oración Daemon running with PID 975 acompañado de un check verde lo que indica que todo esta funcionando bien.

Para ver el único host(servidor) monitoreado hacemos click en el enlace Host del lado izquierdo lo que nos mostrara la siguiente pantalla:

Sección hosts de Nagios

Esta publicación quedará aqui para que en la siguiente podamos comentar con mayor detalle los objetos de Nagios y podamos monitorear un servidor remoto. Saludos y hasta entonces