¿Como monitorear servidores y equipo de comunicaciones?

En un post anterior vimos algunas herramientas para monitorear el ancho de banda de un enlace, sin embargo, en ocasiones tenemos la necesidad de conocer si un servidor, un switch o algún servicio de web o de DNS están activos, sin necesidad de conectarnos al equipo  y de una manera rápida. Para esto podemos instalar nuestra propia herramienta de monitoreo, con la cual podemos verificar no solo la actividad, sino prever algunas fallas como saturación de un enlace, espacio en disco insuficiente o problemas en la conectividad.

En esta ocasión toca el turno de la herramienta llamada Nagios. Es una herramienta open-source que permite monitorear equipos y servicios, enviando alertas ante los problemas y avisos cuando las cosas se solucionan. Entre los servicios que se pueden monitorear tenemos SMTP, POP3, HTTP, etc.  En cuanto a los equipos, se puede monitorear el espacio en disco de un servidor, la carga del procesador, el uso de memoria o la disponibilidad del mismo. Por su parte, en los equipos de comunicaciones se puede verificar la disponibilidad del equipo o si una interfaz está habilitada. Finalmente, se pueden verificar servicios avanzados, como el estado de la replicación del Directorio Activo de Windows, o las bases de datos de Exchange.

La recomendación es instalarlo en una máquina corriendo Linux (sabor de nuestra preferencia).  El programa se descarga de http://nagios.org/download. Se deben descargar dos archivos, el primero es el núcleo del programa (Nagios Core) y el segundo son los plugins (Nagios Plugins) que nos permiten llevar a cabo el monitoreo de los equipos y servicios. La documentación  original es bastante completa y la pueden encontrar aquí: http://nagios.sourceforge.net/docs/3_0/toc.html

Para principiantes les recomiendo iniciar leyendo la guía rápida de instalación, la cual se encuentra en la documentación y para pronta referencia aquí: http://nagios.sourceforge.net/docs/3_0/quickstart.html

Una vez instalado, sólo tenemos que definir los equipos y servicios que queremos monitorear. Para esto es conveniente conocer la forma en que nagios funciona.  En resumen, nagios utiliza los plugins para monitorear los servicios y equipos. Los plugins pueden utilizar varios métodos para llevarlo a cabo, como ejecutar un simple ping, hacer una consulta via SNMP o comunicarse con un cliente instalado en el equipo a monitorear. Lo quedebemos hacer es definir las propiedades del equipo o servicio a monitorear en los archivos de configuración (directivas “define host” y “define service”).  En estas directivas es donde mandamos llamar a los plugins dependiendo de lo que queremos hacer. A partir de aquí, podemos comenzar a explotar todas las herramientas de nagios, como definir contactos para enviar alertas, definir las veces que se monitorea un servicios, escalamiento de las alertas, etc.

Un ejemplo de cómo funciona nagios para monitorear un ruteador o un switch se ve en la siguiente imagen:

Nagios ejecuta el comando check_snmp, al cual se le pasan los parámetros definidos en la directiva “define host”. El comando a su vez lanza una petición SNMP para obtener los valores que nos interesan. El ruteador/switch envía la información de vuelta para que nagios la procese y actúe conforme se tiene definido. En este mismo ejemplo, no sólo se hace la consulta al switch, sino que además se consulta al MRTG (vean el post herramientas para monitorear el ancho de banda) para procesar los datos históricos del ancho de banda de las interfaces.

Como cualquier cosa nueva, les dejo las recomendaciones que aparecen en la página de la documentación:

  1. Relájense, les llevará un poco de tiempo entender la forma de funcionamiento de nagios
  2. Usen la guía rápida, si funciona.
  3. Lean la documentación, en verdad les evitará dolores de cabeza tratando de hacer que algo funcione.
  4. Busquen ayuda con alguien que ya lo hizo antes.