Informática e IAInfraestructura y redes
Monitorización: herramientas para supervisar nuestras infraestructuras y aplicaciones
· Michel Aguilera

Las infraestructuras y los entornos de aplicaciones son cada vez más complejos. Esto exige poder vigilar el conjunto y asegurarse de poder automatizar fácilmente las reacciones en caso de fallo. En este artículo intentaremos abordar algunas soluciones que permiten aportar esta visión global sobre todos nuestros elementos, ya sean físicos o en la nube. Repaso de los productos de moda.
Un ojo…. ¡en todo!
La monitorización o supervisión de infraestructuras consiste en poder controlar el buen funcionamiento de las soluciones informáticas de un entorno empresarial o de explotación. Para llevar a cabo este tipo de vigilancia, existen estándares en el mundo informático (tanto en los protocolos de red como en los sistemas operativos). Estos estándares nos van a permitir recopilar datos de uso en tiempo real y poder notificar a los administradores el estado general. A continuación, estableceremos reglas automáticas para resolver problemas conocidos o recurrentes, con el fin de facilitar el trabajo de gestión centralizada.

En primer lugar, hay que entender cómo se definen las acciones de supervisión sobre los elementos de origen (es decir, sobre máquinas o aplicaciones). Cada elemento que se quiere controlar dispone de un acceso a través de un protocolo (por ejemplo SNMP o WMI) y con una gestión de identidad, con derechos de administración (también llamada perfil de administración). Por ejemplo, SNMP permite, mediante una definición de intercambio, bien leer un estado, bien interactuar con el objeto que se supervisa.

Hay que ver en estos protocolos de red dedicados a la monitorización medios de acceso a la información sobre el estado de funcionamiento. Por ejemplo, si una máquina ya no está presente en la red (o se considera apagada), intentaremos comprobar su presencia (PING y respuesta ICMP) y, según el resultado, notificaremos la situación al administrador del entorno. También se puede consultar a Windows, a través de WMI, y pedirle, con el usuario correcto y los derechos necesarios, que nos diga si tal aplicación o tal servicio funciona o está detenido. Todas estas situaciones pueden aplicarse y comprobarse por diferentes medios (protocolos) o con la instalación de agentes (pequeños programas de control específico), que transmitirán la información bien en tiempo real, bien en momentos programados.
Las herramientas existentes en este ámbito son numerosas. Hay diversos sitios que las recopilan, como por ejemplo: https://www.monitoring-fr.org Empecemos por una serie de herramientas. La primera es PRTG. La empresa Paessler, que ofrece esta solución, ha desarrollado una plataforma de supervisión que funciona en Windows. A través de los protocolos de administración estándar, permite gestionar tanto componentes físicos como aplicaciones de todo tipo.

En la misma línea, en servidor Windows, también está la solución ManageEngine OpManager. El producto se ofrece en varias versiones (gratuita para el módulo básico y versiones de pago para un soporte ampliado, con funciones adicionales).

También muy populares, las soluciones de SolarWinds ofrecen una gestión de la supervisión muy avanzada, con interfaces ricas en indicadores.

Vídeo de introducción (en inglés):
El principal inconveniente de estas soluciones reside en que hay que dedicar un servidor Windows a la tarea de supervisión (lo que puede considerarse una solución pesada, según los entornos). Esto nos lleva a utilizar o plantearnos productos que puedan funcionar en sistemas de contenedores.

Pasemos a una solución que puede funcionar en Linux: aquí está Zabbix, una administración en modo web, capaz de realizar análisis de red para descubrir los elementos que hay que supervisar, con la posibilidad también de conectarse a API para analizar el funcionamiento de las aplicaciones (on premise o en SaaS). Este es un vídeo sobre su puesta en marcha en un LXC:
Como puedes comprobar, la puesta en marcha inicial puede realizarse muy rápidamente y permite una gestión centralizada de las soluciones.
Existe un gran número de posibilidades en el mundo del Open Source. Por citar algunas: Nagios, NetData (estas dos están basadas en Linux y pueden funcionar en contenedor, como Zabbix). También está ZenOss, o incluso Centreon, que se ofrece con planes comerciales.

El trabajo de configuración es mayor según la complejidad de la infraestructura que se quiere supervisar o las reglas de gestión que deseas implantar. Se recomienda planificar y establecer los criterios de gestión antes de elegir la herramienta adecuada y lanzarse a su puesta en marcha.
También puede ocurrir que, en algunos casos, sea necesario utilizar varias herramientas de supervisión para gestionar todos los casos operativos. Y eso puede provocar a veces una pérdida de control del conjunto. En ese momento hay que apoyarse en lo que se denominan agregadores de información para la supervisión.
Esa es la misión de una solución como Grafana.

Grafana, que permite gestionar diversas fuentes de datos simultáneamente, analizarlas y crear paneles de control (Dashboards) enriquecidos, también permite automatizar los procesos de resolución de averías o realizar notificaciones avanzadas para los administradores. Este es el vídeo de su conferencia de 2019, que muestra el uso de la consola y la creación de Dashboards en Grafana:
En resumen… ¿está todo bajo control?
Como has podido comprobar, el número de productos existentes es bastante considerable. La dificultad para orientarse en la jungla de ofertas de soluciones es tener una idea muy precisa de lo que hay que supervisar, del tiempo que se le puede dedicar y de cómo queremos automatizar los procesos de recuperación en caso de fallo de nuestros sistemas. Esto se llama plan de recuperación ante desastres o DRP (Disaster Recovery Plan). Es importante apoyarse en las herramientas de supervisión para ganar en capacidad de reacción y permitir una identificación rápida de los problemas. El análisis de las necesidades requiere contar con profesionales del sector, que sabrán comprender y analizar tu situación y proponer las alternativas adecuadas.