Microordenadores - Desarrollos modernos para sistemas retro

Monitoriza tu red y tus servidores con Nagios y una Raspberry Pi
2 de Agosto de 2017

Si administras servidores o quieres controlar lo que pasa en tu red la monitorización es fundamental tanto para detectar fallos y anomalías. Aquí explico como instalar y configurar de forma básica Nagios, el software de monitorización y alertas por excelencia y que dispone de un montón de plugins que la hacen la herramienta más completa para monitorizar tu red y enviar alertas en caso de que haya problemas.

Parto de que dispones de una Raspberry Pi con Raspbian. Es posible que el proceso sea exactamente el mismo para cualquier otra distribución derivada de Debian.

Como instalar Nagios en la Raspberry Pi

El proceso es muy sencillo ya que Nagios se encuentra disponible en el repositorio oficial de paquetes de Raspbian con el nombre de nagios3. Al instalarlo te pedirá una contraseña.

sudo apt-get install nagios3

Una vez instalado Nagios será accesible desde http://192.168.2.108/nagios3, siendo 192.168.2.108 la dirección IP de la Raspberry Pi. El usuario es nagiosadmin y la contraseña es la que hayas configurado durante la instalación.

Configuración básica de Nagios

Nagios es un programa con muchísimas funcionalidades que se explican con detalle en la documentación oficial de Nagios. En este sencillo ejemplo voy a configurar la monitorización tanto para la Raspberry Pi como para dos routers de la red:

  • Host plutonium con IP 192.168.2.1.
  • Host uranium con IP 192.168.2.30.

El archivo de configuración principal de Nagios es /etc/nagios3/nagios.cfg. En la sección donde aparecen las directivas cfg_files añade un nuevo fichero donde irá la configuración de los routers:

cfg_file=/etc/nagios3/routers.cfg

Ahora crea el archivo routers.cfg con este contenido (recuerda leer la documentación para adaptar esta configuración a tus necesidades):

define host {
        use generic-host
        host_name uranium
        address 192.168.2.1
        check_command check-switch-alive
        max_check_attempts 20
        notification_interval 60
        notification_period 24x7
        notification_options d,u,r
}

define host {
        use generic-host
        host_name plutonium 
        address 192.168.2.30
        check_command check-switch-alive
        max_check_attempts 20
        notification_interval 60
        notification_period 24x7
        notification_options d,u,r
}

Ahora toca reiniciar Nagios y volver a cargar la página:

systemctl reload nagios3.service
Monitorización de hosts en Nagios

Haciendo click en cada host aparece información detallada del estado de salud del mismo, así como un mapa de la red:

Detalle del estado de salud de un host en Nagios Mapa de la red en Nagios

Con Nagios también puedes monitorizar tráfico Netflow, hosts con Windows y Linux o UNIX y muchísimo más a través de los plugins. Algunos están disponibles en el repositorio oficial de Raspbian; puedes encontrarlos mediante apt: apt-cache-search nagios-plugins.


Contenido relacionado: