Un pequeño acercamiento a la Monitorización Sintética Transaccional

La mayoría de personas que nos movemos en IT entendemos el concepto de monitorización básica. No es que sea un concepto poco importante, por el contrario, es imprescindible para cualquier infraestructura, bien sea de forma manual, leyendo logs y revisando las máquinas y servicios; de forma semi automatizada, utilizando scripts hechos a medida o, la más segura y recomendada, utilizar una herramienta específica como Pandora FMS para centralizar nuestra monitorización.

La monitorización básica nos da visibilidad sobre toda la infraestructura, estado de las máquinas, de la red e incluso del estado de ciertas aplicaciones y servicios. Eso nos da un mapa de salud del entorno a gran escala y podemos identificar problemas con nuestras aplicaciones de forma rápida y precisa.

Hasta aquí parece que lo tenemos todo controlado y que todo va como la seda, pero a quién no le ha pasado que, a pesar de disfrutar de todos nuestros indicadores en verde, tenemos a los usuarios abriendo tickets en soporte, o peor aún, abandonando una transacción porque es lenta, da problemas o simplemente es imposible avanzar. En estos casos no siempre es tan evidente dónde está el problema y cómo afrontarlo, ya que la perspectiva del usuario, lamentablemente, no es siempre un fiel reflejo del estado de nuestra infraestructura, y tener clientes que no puedan terminar sus transacciones, en la mayoría de los casos significa perder dinero. A ninguna empresa le gusta perder dinero, creo que a nadie en general, pero esto es una opinión personal.

Entonces, ¿Qué podemos hacer? ¿Cómo podemos afrontar esta situación? ¿Esperamos a que los usuarios nos den un feedback para mirar y solucionar el problema? ¿Tenemos a alguien comprobando la aplicación constantemente? ¿Qué alternativa tenemos?

Para empezar, esperar al usuario para que nos de “feedback” no suele ser una buena idea, no son entornos controlados por lo que las variables de fallo son muy complejas de obtener objetivamente, eso sin contar que estaríamos trabajando de forma reactiva y no proactiva, por lo que en muchos casos puede que identifiquemos el problema demasiado tarde.

Segunda opción, ¿tenemos a alguien mirando la web cada día a todas horas para ver si algo falla? Podría ser, si tenemos solo una aplicación y un par de casos de uso, podrías plantearte esta alternativa, eso si, no es un trabajo demasiado divertido y escala muy mal cuando comenzamos a tener más aplicaciones o más casos de usos volviéndose cada vez más complejo y más costoso e ineficiente. Eso sin tomar en cuenta los errores humanos, que para algunas cosas somos maravillosos, pero para otras no tanto…

Entonces, ¿qué otra alternativa nos queda? Pues estamos hablando del mundo de IT, la alternativa a tareas repetitivas es siempre la misma, desarrollar automatizaciones. Podemos automatizar estos tests, utilizar script hechos a medida y algún motor de simulación de transacciones de usuario como Selenium, para que se encarguen de realizar estas transacciones por nosotros. Es una gran idea, ahora solo necesitamos que alguien ponga en marcha el desarrollo y designar un recurso para que vea el estado de las transacciones terminadas y avise a la persona o equipo correspondiente… Espera un momento, esta problemática es muy similar a la descrita al comienzo de este artículo con la monitorización básica. En la que llegamos a la conclusión de que usar una herramienta dedicada era la solución más fiable, eficiente y escalable, sería ideal, entonces, tener una solución similar para el caso de transacciones sintéticas de usuario. Pues tengo buenas noticias, no solo es posible, sino que puedes usar exactamente la misma herramienta con la que hacemos la monitorización estándar. Efectivamente, Pandora FMS. Esto permitirá correlar la información obtenida de las transacciones sintéticas con la del resto de la monitorización, pudiendo tener todas las métricas en un único punto central donde identificar posibles problemas de forma eficiente.

Pandora FMS te ofrece, además de la monitorización básica, una serie de módulos avanzados entre los que se encuentran el WUX (Web User Experience) y el UX (User Experience) que nos permitirán monitorizar transacciones sintéticas de diferentes tipos.

Con WUX podemos grabar transacciones sintéticas web con el propio navegador utilizando la extensión de Selenium IDE y exportar la grabación para que sea ejecutada por el servidor WUX de Pandora FMS, permitiendo tener monitorizada, 24/7, cualquier transacción web crítica para negocio. No solo es posible grabar y reproducir transacciones también nos permite seleccionar el navegador web que queramos usar para la ejecución de la transacción, dividir la transacción en fases para identificar diferentes casuísticas o medir el tiempo que toma cada parte de nuestra aplicación por separado, e incluso tomar una captura de pantalla si la transacción llegara a fallar, para saber exactamente lo que vería el usuario en las mismas circunstancias.

No solo esto, sino que al comportarse como módulos estándar de Pandora FMS es posible explotar esta información de la misma manera que lo hacemos con el resto de la monitorización: utilizar el potente sistema de alertas, ver gráficas de tiempo de respuesta, generar informes o incluso tener Dashboards con la visualización del navegador en una pantalla permanente, para ver cómo se ejecutan nuestras transacciones sintéticas.

Selenium IDE

Monitorización-Sintética-Transaccional

Vista Agente WUX.

Monitorización-Sintética-Transaccional

Transacción Fallida con capturas de pantalla WUX.

Monitorización-Sintética-Transaccional

Vista dashboards con los navegadores y gráficas de estado WUX.

Monitorización-Sintética-Transaccional

De forma similar al WUX tenemos la herramienta de Pandora FMS UX que nos permite hacer grabaciones, pero esta vez de transacciones sintéticas en aplicaciones de escritorio Windows, porque, al menos a día de hoy, no todas las aplicaciones son web.

Pandora FMS UX nos permitirá reproducir estas transacciones sintéticas de escritorio y nos facilitará como métricas, si la transacción se ha podido terminar correctamente, el tiempo que ha tardado en ejecutarse y, en caso de fallo, una captura de pantalla de la aplicación en el momento justo del fallo, por supuesto, al igual que con WUX, es posible dividir nuestra transacción sintética en fases para poder segmentar la transacción y obtener resultados independientes para cada fase además de uno global.

Vista Agente UX.

Monitorización-Sintética-Transaccional

Transacción Fallida con capturas de pantalla UX.

Monitorización-Sintética-Transaccional

Si te interesa saber con más detalle como se configuran y se ejecutan las transacciones sintéticas con Pandora FMS no dudes en pasarte por nuestro canal de youtube, donde podrás encontrar tutoriales, workshops y mucho contenido dedicado a este y otros muchos temas relacionados con la monitorización.

Shares