Nagios

“Lo que no se puede medir, no se puede gestionar”. Así reza uno de los lemas más importantes de la gestión de infraestructura informática compleja. Para muchas empresas, es fundamental garantizar  la eficiencia y la funcionalidad de las operaciones informáticas en todo momento. Todos aquellos que, en calidad de responsables, renuncien a observar los diferentes procesos que tienen lugar en la red, tendrán más complicaciones para atender a la necesidad de dicha estabilidad. Por esto, solo con el control permanente de cada uno de los dispositivos de red y de sus procesos es posible identificar los problemas y solucionarlos con antelación. Además de contar con un equipo informático experimentado, tener el software de monitorización correcto se convierte en un factor de éxito decisivo. Para muchos, Nagios representa la mejor elección. Conoce qué hay detrás de esta solución de código abierto.

¿Qué hay detrás de Nagios?

En 1996, el americano Ethan Galstad desarrolló una aplicación para MS-DOS que hacía posible comprobar la accesibilidad de sistemas operativos de red como Novell NetWare con la ayuda de programas de terceros. Basándose en este esquema básico, tres años más tarde publicó el proyecto de código abierto NetSaint, cuyo nombre se modificaría para adoptar la nomenclatura del software de monitorización actual conocido como Nagios. En 2007, Galstad fundó la empresa Nagios Enterprises, que hasta hoy se ha dedicado al desarrollo y distribución de la variante Nagios Core y de diversas ediciones de pago.

Nagios está protegido bajo la Licencia Pública General (GPL) de GNU y funciona en diversos sistemas UNIX de forma nativa. El software también puede utilizarse en sistemas operativos Windows con ayuda de máquinas virtuales y, para instalarlo y empezar a usarlo, se requiere un servidor web con un módulo PHP. A este respecto, el fabricante recomienda Apache. Además del núcleo del programa, también es necesario descargar los plugins oficiales para Nagios. Estos módulos son los responsables de la ejecución y del análisis de las distintas consultas de control de red, hosts y servicios y, por lo tanto, son muy importantes para la funcionalidad de los programas informáticos.

Así se puede llevar a cabo la monitorización con Nagios

No importa cuál sea el elemento que quieras monitorizar (sistemas informáticos individuales, una base de datos o un servidor), ya que el software no se instala en los dispositivos en sí, sino en un servidor Nagios separado. A partir de aquí, ya puedes configurar cuáles son los sistemas y procesos que se tienen que controlar. Para ello, hay que centrarse en los cuatro componentes o tipos de objetos que aparecen a continuación:

  • Hosts: todos los dispositivos, servidores, base de datos, etc., que pertenecen a tu red y han de ser monitorizados se definen como un host. El índice más importante de un host es la dirección IP. 

  • Servicios: con los servicios se definen las características de los hosts que Nagios tiene que examinar. Entre ellas se encuentran los servicios que se ejecutan en el host (HTTP, FTP, etc.), los atributos internos como el espacio de almacenamiento disponible o los rasgos físicos como la temperatura del hardware.

  • Comandos: con los comandos se puede controlar el desarrollo de la monitorización. Con ellos se puede configurar el modo en que se lleva a cabo el control de los hosts y de los servicios y ante qué tipo de acontecimientos se te debe notificar. 

  • Contactos: por medio de los contactos definidos, Nagios puede conocer a quién se ha de informar cuando tenga lugar un incidente. En este sentido, el software envía, por ejemplo, un correo electrónico, un SMS o un mensaje de voz.  

Aun cuando Nagios no se instala en los diferentes hosts, los plugins, que son los encargados de comprobar los datos internos, se ejecutan directamente en ellos. Un método cuyo uso no está muy extendido es el acceso remoto, aunque supone un esfuerzo importante, en el caso de una conexión segura, y una carga desmesurada en el sistema. La alternativa más sencilla consiste en la instalación de programas especiales en los hosts. Estos solo ejecutan las consultas del sistema predefinidas y transmiten los resultados al servidor Nagios a través de puertos de red. En este caso se utiliza, por defecto, el complemento Nagios Remote Plugin Executor (NRPE), por medio del cual se puede utilizar Nagios en sistemas Windows.

Otra posibilidad con la que Nagios puede acceder a los datos es la realización de chequeos pasivos. En este caso, no es el software de monitorización el que solicita la información, sino otro programa como Nagios Service Check Acceptor (NSCA). Al final del proceso, se le comunica el resultado al servidor de monitorización y este es el que se encarga de procesarlo. Independientemente del tipo de monitorización, el servidor Nagios siempre transmitirá uno de los siguientes cuatro valores de estado:

  • 0 (OK): no se ha detectado ningún problema durante el chequeo.
  • 1 (WARNING): el chequeo ha ocasionado un aviso.
  • 2 (CRITICAL): ha habido un problema grave durante el chequeo.
  • 3 (UNKNOWN): no ha podido determinarse el estado del host o del servicio objeto del chequeo.

De manera adicional, el programa encargado de llevar a cabo la monitorización recibe un sello de fecha y hora, un comando interno y un texto opcional que puede ser emitido por el chequeo.  

Ventajas e inconvenientes de Nagios

La razón de que Nagios esté tan demandado se debe, sobre todo, a su amplia funcionalidad. Gracias a su código fuente libre, desde su publicación ha sido capaz de desarrollarse y de adaptarse a ideas y proyectos propios. Con el paso de los años se han desarrollado más de 1000 plugins y diversas posibilidades de frontend alternativas (gran parte de ellas disponibles de manera gratuita). En combinación con el diseño modular, los administradores que carezcan de experiencia pueden crear un conjunto de funciones que cubra las necesidades de su red sin tener que programar su propia interfaz.

El único gran inconveniente de Nagios es la laboriosa configuración del servidor y de los diferentes tipos de objeto debido, entre otros factores, a la ausencia de instrucciones en español. Por este motivo, se recomienda ocuparse ya con anterioridad a aprender a usar sus herramientas o a estudiar el tutorial de Nagios, que está disponible en la página web oficial del fabricante.

¿Hay alternativas a Nagios?

Si bien es cierto que Nagios se ha convertido en una herramienta habitual para llevar a cabo la monitorización de dispositivos informáticos, en lo que respecta a la monitorización de redes, sin embargo, no es la única alternativa. Hay diversas herramientas similares, pero también otras menos complejas y, por lo tanto, recomendables. En el sector de las herramientas de código abierto, destaca la solución para empresas Zabbix y el programa alemán desarrollado para Windows PRTG Network Monitor. Otras opciones como CA no solo se ocupan de la monitorización, sino también de la gestión completa de las redes, convirtiéndose así, en alternativas interesantes a Nagios para las grandes empresas siempre que se cuente con el presupuesto necesario.