SysAdmin tools (III): Monitoreo de la infraestructura
Hoy presentamos la tercera entrega de SysAdmin tools! En este caso, algunas herramientas interesantes para realizar el monitoreo de nuestra infraestructura y servicios.
En dos entregas anteriores estuvimos hablando sobre procesos y estado del sistema, y sobre herramientas de gestión de red que pueden ser útiles a cualquier sysadmin que administre sistemas GNU/Linux. Pueden encontrar estas entradas en:
- SysAdmin tools (I): procesos y estado del sistema
- SysAdmin tools (II): Herramientas de gestión de red en Linux
Hoy, en esta tercera entrega de la serie, voy a comentar una breve reseña de algunas herramientas interesantes de monitoreo de recursos basadas en software open source y software libre.
Existen muchísimas herramientas que pueden ser utilizadas para este propósito de gestionar redes y servicios… esta es simplemente una lista de las que me vienen a la cabeza, algunas que he usado, y otras que leí por ahí y me dieron buena impresión (ver fuentes)… de modo que la lista puede ser ampliada y completada, así que si conoces alguna otra tool open source que creas que puede agregarse, no tienes mas que comentar el artículo para compartirlo con la comunidad de usuarios y sysadmin’s!
Sysusage
Esta herramienta monitorea el sistema continuamente utilizando comandos del sistema como sar. Permite configurar notificaciones para cuando algún límite se supera en el sistema, por ejemplo, umbral de disco rígido ocupado, de memoria, de procesamiento, etc, utilizando protocolo SMTP. Permite monitorear memoria, entrada/salida, dispositivos, archivos, y varias características más de un servidor.
OpenNMS
OpenNMS es una plataforma diseñada para construir soluciones de monitoreo de red. Es, por supuesto, open source, y dispone de dos distribuciones: Meridian y Horizon. Meridian es apropiada para empresas que buscan estabilidad y soporte extendido, y Horizon es donde tienen lugar las versiones testing y las nuevas características, y es ideal para monitorear nuevas tecnologías y ecosistemas TI. Ambas son completamente liberadas bajo licencias de open source.
Brainypdm
Es una herramienta de administración y monitoreo de datos que tiene la capacidad de obtener datos desde Nagios y otros softwares genéricos para poblar los gráficos de Brainypdm. Es multiplataforma y sus gráficos pueden ser customizados a gusto del sysadmin.
PCP
Tiene la capacidad de recolectar de manera eficiente métricas desde múltiples equipos de red. Tiene un framework de plugins, de modo que se pueden recolectar solamente las métricas que sean importantes al sysadmin. Además, se pueden acceder a los gráficos por medio de la interfaz web, o una GUI, y es apto para monitoreo de grandes redes y sistemas.
Munin
Si bien he incluido a Munin en este artículo, bien podría haber sido parte de SysAdmin tools (I): procesos y estado del sistema, ya que permite también administrar características del servidor o host.
Esta herramienta también permite notificar al sysadmin mediante alertas cuando los parámetros de host o red superan ciertos límites. Utiliza RRDTool para crear los gráficos, y dispone de una interfaz web.
nagios
Nagios es una de las herramientas más conocidas para la gestión de una red o recursos de un servidor. Soporta alertas por email y dispone de infinidad de plugins que pueden ser cargados a la plataforma para monitorear diversos factores.
Estos plugins, como ventaja, pueden ser programados como binarios ejecutables (en lenguaje C por ejemplo), o scripts de varios lenguajes (bash shell, python, perl, etc), por lo que su escalabilidad es inmensa!
icinga
Icinga surgió como fork de Nagios en el año 2009. Es un intento de superar las deficiencias que varios desarrolladores encontraron en el proceso de desarrollo de Nagios, como el agregado de nuevas características, una nueva interfaz de usuario moderna, web 2.0, conectores para bases de datos adicionales, y una genial API REST que le permite a los administradores su integración con gran cantidad de extensiones sin necesidad de modificar el núcleo de Icinga.
Zenoss Core
Zenoos Core es una aplicación libre y de código abierto, y actúa como plataforma de monitoreo de red y servidores. Está basada en el servidor de aplicaciones Zope, y liberada bajo licencia GPLv2.
Zenoos Core provee una interfaz web que permite al sysadmin monitorear la disponibilidad, configuración, rendimiento y eventos de un sistema o una red.
Zenoos Inc., la empresa detrás de Zenoos Core, ofrece tres aplicaciones de monitoreo: la herramienta libre Zenoos Core, mantenida por la comunidad; el software comercial Zenoos Service Dynamics, y el Zenoos as a Service (ZaaS) como su aplicación de SaaS (Software as a service).
Cacti
Cacti es una solución de graficación de red que usa los datos almacenados en colas RRDtool. Permite al usuario establecer políticas de pooling con las que el sysadmin puede solicitar información en forma periódica a un servicio, almacenar la información recibida, y generar reportes y gráficos.
Puede extenderse para monitorear prácticamente cualquier fuente de información mediante el uso de scripts de la shell.
Zabbix
Zabbix es una excelente herramienta open source para monitorear infraestructura de red. Zabbix almacena la información obtenida por pooling en base de datos, y con ella genera gráficos y estadísticas.
Tiene la posibilidad de enviar notificaciones a los sysadmin según la gravedad de los eventos, la hora del día, o el rol del sysadmin.
El núcleo de la aplicación está escrito en lenguaje C y tiene un frontend web programado en PHP. Además, provee un agente que puede instalarse casi en cualquier plataforma, y que le da al servidor Zabbix la información de monitoreo. Igualmente, también permite monitorear agentes SNMP sin la necesidad de ningún tipo de instalación adicional.
nmon
nmon permite monitorear parámetros de un servidor o host, tales como CPU, memoria, discos, recursos, kernel, etc, y enviar dichos datos a una interfaz gráfica por pantalla, o mediante una lista separada por comas. Además, los datos pueden agregarse también a una base de datos RRD para análisis posteriores.
RRDtool
Ya hemos comentado esta herramienta antes… RRDtool es una herramienta desarrollada para administrar bases de datos de tipo round-robin (RRD Round-Robin Database). Es especialmente diseñada para manejar series temporales de datos, como cargas de CPU, temperaturas, usos de memoria, o de disco, etc. Además, permite extraer los datos en forma gráfica.
MRTG (The Multi Router Traffic Grapher)
Si tienes un router, querrás saber qué hace a lo largo del día, ¿no? Si es así, MRTG es para ti, ya que monitorea por medio de SNMP los dispositivos de la red y dibuja gráficos mostrando cómo el tráfico pasa a través de cada uno de ellos.
Si bien esta herramienta está pensada para gestionar routers, puedes utilizarlo para graficar todos los dispositivos de red desde los que pueda obtenerse información.
MRTG está escrito en lenguaje perl y funciona tanto en sistemas Unix/Linux como en sistemas Windows, incluso en Netware. Es una solución basada en software libre, y liberada bajo licencia GNU GPL.
JFFNMS (Just For Fun Network Management System)
Y cómo olvidar a JFFNMS, una gran herramienta que utilicé bastante! Más allá del gracioso nombre, JFFNMS es un genial NMS que puede ayudarte a monitorear tus routers, switches, servidores, y cualquier otra computadora en tu red.
JFFNMS está escrito en PHP para permitir su multiplataforma, por lo que solo necesitas un servidor web con intérprete de PHP, una base de datos Mysql o Postgresql, y lo tendrás andando.
Los dispositivos cargados serán monitoreados continuamente mediante polling, y además JFFNMS puede recibir alertas o traps/eventos desde los dispositivos mediante SNMP. La interfaz web muestra el estado de cada interfaz de cada dispositivo (interfaz es como JFF llama a las variables monitoreadas, tales como memoria, procesamiento, disco, tráfico de red, etc).
Conclusiones: la infraestructura y el monitoreo
Largo tiempo ha pasado desde la última entrada de Sysadmin Tools en el blog… se hizo esperar, pero aquí la tienen! 🙂
Una breve lista de algunas herramientas útiles para monitorear o gestionar redes y servidores, muchas de ellas gráficas basadas en RRDtool, y otras por línea de comandos.
Cabe aclarar que no he utilizado personalmente algunas herramientas de la lista, y otras sí las he usado mucho, como ser Zabbix, Nagios, y algo de Icinga (me parece muy prometedor este proyecto). De Cacti tengo buenas referencias, y de Zenoss Core lo he descubierto hace poco, y también me da buena impresión. (conocía Zenoss como software comercial).
¿Has utilizado otra herramienta para gestión de infraestructura? Si conoces alguna herramienta que esté en la lista te invito a comentar el artículo contando tu experiencia e impresiones! Y por supuesto, existen muchísimas herramientas de este tipo! Así que si conoces alguna que sirva para monitorear servidores y redes, y es open source o software libre, espero tu comentario con tus aportes a la comunidad!
Gracias y será hasta la próxima!! (Sí, habrá una cuarta entrada :D)
Fuente:
https://www.serverdensity.com/monitor/linux/how-to/
y sitios de cada aplicación (links en los títulos).