La red ha sido, tradicionalmente, uno de los grandes puntos ciegos entre los sistemas de una empresa. Diagnosticar un problema reportado en la red es un ejercicio en interpretación de mensajes de log y revisión de contadores de sistema en múltiples dispositivos de red. Por otro lado, la adopción cada vez más extendida de servicios SaaS, como Microsoft365 y Salesforce, hace que sea más complicado diferenciar si se trata de un fallo en nuestra propia red, en el transporte o en el servicio cuando recibimos notificaciones de bajo rendimiento en estas plataformas.
Los sistemas de monitorización más comúnmente utilizados emplean métodos de polling mediante SNMP o, más recientemente, Streaming Telemetry para monitorizar la red. Aunque estos sistemas nos ofrecen una gran cantidad de información sobre nuestros switches, routers y firewalls, no ofrecen una visión end-to-end del tráfico que atraviesa la red y por tanto, no ofrecen ningún dato sobre la experiencia de usuario.
Cisco ThousandEyes y Observabilidad de red
ThousandEyes es la plataforma cloud para observabilidad de red de Cisco. Cuando hablamos de observabilidad de red, nos referimos a la capacidad de responder a cualquier pregunta que tengamos sobre nuestra red, desde “¿Hay algún problema en la red?” hasta “¿Cuál es la latencia y la perdida de paquetes entre Datacenter A y Datacenter B?”. La observabilidad de red no solo nos ayuda a detectar problemas más rápido, sino que ofrece una visión global del estado de nuestra red y de los servicios que se transportan sobre ella, ya sean servicios On-premises o servicios cloud.
ThousandEyes nos ayuda a monitorizar la experiencia de usuario y de cliente mediante diferentes tipos de agentes y tests. En el apartado de agentes, encontramos tres tipos diferentes:
- Cloud Agent: como su propio nombre indica, estos agentes son parte de la cloud de ThousandEyes, y generalmente se utilizan para monitorizar otros servicios cloud y servicios publicados en nuestra infraestructura, además de ayudarnos en la detección de problemas WAN.
- Enterprise Agent: Estos agentes son máquinas virtuales o físicas que se instalan en nuestra propia infraestructura a fin de monitorizar servicios internos. También pueden ser instalados en routers y switches Cisco con sistema operativo IOS-XE o NXOS.
- Endpoint Agent: El Endpoint Agent se instala en los equipos de los usuarios finales, y nos otorga visibilidad sobre el rendimiento LAN, ya sea Wi-Fi o cableada, y VPN en el caso de usuarios remotos.
La función de estos agentes es ejecutar los diferentes tests disponibles en la plataforma ThousandEyes. Generalmente, utilizaremos un agente como origen y otro como destino, aunque no todos los test lo requieren.
Monitorización de LAN
ThousandEyes nos permite monitorizar el estado de la LAN mediante pruebas de red. Estas pruebas se pueden ejecutar tanto en Endpoint Agents como en Enterprise Agents. Esto nos permite monitorizar el estado de la red entre dos puntos cualesquiera mediante el envío de flujos TCP o UDP.
El resultado del test nos permite visualizar la latencia, la perdida de paquetes y los diferentes caminos existentes entre ambos puntos, tal y como se muestra en la imagen.
ThousandEyes también puede comprobar el estado de sistemas de VoIP mediante test de SIP, RTP y simulación de llamadas entre dos agentes, desvelando posibles problemas en el registro de terminales VoIP y de calidad de audio.
Monitorización de Internet y WAN
En lo que respecta a monitorización de Internet y WAN, ThousandEyes pone a nuestra disposición test de DNS, BGP y HTTP. Estos test están pensados para ejecutarse contra infraestructura pública, como servidores DNS de Internet, servidores de rutas de BGP o servicios web que tengamos alojados en plataformas cloud y On-premises.
Mientras que los test de DNS nos permiten monitorizar el estado de la infraestructura publica de DNS, ya sea a través de vistas de servidor, DNSSEC o trazas de DNS, las pruebas de BGP ofrecen información sobre la disponibilidad de redes públicas, o cambios en las rutas para llegar a dichas redes.
Monitorización Web
Gran parte de los servicios que consumimos en la actualidad son servicios HTTP construidos sobre una arquitectura basada en microservicios. Como consecuencia, es posible que determinados servicios hayan dejado de funcionar a pesar de que el frontend web siga dando servicio, siendo este fallo indetectable por sistemas de monitorización de uso general.
Los test de HTTP nos permiten validar el estado de nuestros servicios web mas allá de verificar los codigos de respuesta de HTTP, como 200 Ok, 404 Not Found o 500 Internal Server Error; ThousandEyes nos otorga información de tiempos de respuesta, tiempos de carga de página y de negociación TLS, además de darnos la posibilidad de ejecutar tests de transacción.
Utilizando estos test de transacción, podemos simular las acciones de un usuario, como pinchar en un enlace o rellenar un formulario. Estas pruebas utilizan la misma sintaxis que el framework Selenium, asi que podremos reutilizar cualquier prueba creada por el area de QA durante el desarrollo de nuestras aplicaciones web. También podemos generar estos scripts de Selenium mediante ThousandEyes Recorder, que nos permitira grabar acciones que ejecutemos en un navegador y traducirlas a comandos de Selenium.
Conclusión
ThousandEyes ofrece una visión 360 de múltiples aspectos de nuestra infraestructura que no están disponibles en otras plataformas de monitorización, y nos permite identificar y resolver de manera ágil cualquier problema que pueda estar presente en nuestros sistemas.