Funcionalidades Tecnología

Monitorización del rendimiento de aplicaciones: análisis del tráfico de aplicaciones multicapa

enero 9, 2018

Monitorización del rendimiento de aplicaciones: análisis del tráfico de aplicaciones multicapa

This post is also available in : Inglés

Monitorizar rendimiento aplicaciones: introducción al análisis de tráfico

Una de nuestras principales preocupaciones como responsables de TI es, sin duda alguna, la monitorización del rendimiento de las aplicaciones de negocio.

Si nos enfrentamos a problemas como bajo rendimiento, fallos recurrentes o incluso salida incorrecta en nuestras aplicaciones, podría ser necesario un análisis profundo sobre el tráfico de la aplicación para obtener la causa raíz del problema. Si usted está interesado en el análisis de causa raíz como método de resolución de problemas, puede leer nuestra publicación haciendo clic aquí.

Profundizar no siempre es fácil; necesitamos elementos básicos como el conocimiento de la secuenciación TCP y UDP y las herramientas adecuadas para recopilar datos de tráfico, correlacionarlos en un formato utilizable y presentarlos de manera amigable.

Además, el reto clave es cómo se diseña e implementa la aplicación. Para una simple aplicación cliente-servidor podría ser más fácil, pero para aplicaciones diseñadas en arquitectura multinivel, este tipo de análisis requiere más esfuerzo.

En este artículo trataremos de esbozar una metodología para hacer un seguimiento del rendimiento de la aplicación basado en el análisis del tráfico, pero primero aclararemos algunos conceptos sobre la arquitectura multinivel.

Muchas veces la arquitectura multinivel y la arquitectura multicapa se confunden. Ambos términos se refieren a una arquitectura en la que las principales funciones de la aplicación son:

  • Presentación
  • Aplicación
  • Procesamiento
  • Administración de datos

Se desarrollan por separado, ofreciendo a los desarrolladores la opción de modificar o añadir una función sin tocar toda la aplicación.

Sin embargo, la diferencia entre uno y otro es que el término multinivel se refiere a una separación física y el término multicapa se refiere a una separación lógica.

De esta manera, la arquitectura típica de 3 niveles para una aplicación web puede ser:

monitorizar rendimiento aplicaciones

Como dijimos, en este artículo trataremos de esbozar una metodología para hacer un seguimiento del rendimiento de la aplicación basado en el análisis del tráfico. Esta metodología trabaja para aplicaciones desarrolladas sobre una arquitectura multinivel.

Establecer la arquitectura de la aplicación

Si tenemos un problema de rendimiento en una aplicación concreta un paso fundamental es entender su arquitectura y, para obtenerla, hay que tener en cuenta lo siguiente:

  • Cada servidor y servicio involucrado.
  • Relación entre servidores.
  • Experiencia del usuario cuando utiliza la aplicación.
  • La plataforma de red que soporta la aplicación.

En entornos complejos este paso podría ser un reto. Por ejemplo, vamos a considerar la necesidad de establecer la arquitectura para una aplicación web:

  • Podemos empezar a trabajar con la arquitectura normal de 3 niveles.
  • Teniendo en cuenta la experiencia del usuario, encontramos que un perfil de usuario se define utilizando una conexión entre el servidor web y un servidor LDAP corporativo.
  • Una vez validado, los usuarios pueden entrar a la aplicación, que reside en un servidor de aplicaciones.
  • Ahora vemos que los datos se dividen en dos servidores, un servidor heredado y un nuevo servidor de base de datos.
  • Finalmente revisamos la plataforma y vemos que el servidor web reside en un servicio cloud, por lo que la arquitectura de nuestra aplicación es esta:

monitorizar rendimiento aplicaciones
Ahora piense por un momento lo difícil que puede ser establecer la arquitectura si consideramos elementos como cluster de servidores, máquinas virtuales, vlans, etc.

Sin embargo, siempre será necesaria una revisión detallada de la estructura aunque, afortunadamente, muchas herramientas de monitorización nos ayudan a descubrir automáticamente la estructura para aplicaciones y mostrarla en una consola consolidada.

Está clara una vez más la importancia de elegir la herramienta de monitorización correcta. Para ello, puede obtener más información sobre la monitorización del rendimiento de las aplicaciones de Pandora FMS y sus beneficios aquí: https://pandorafms.com/application-monitoring/

Finalmente, tenemos que decir que todos los esfuerzos dedicados en este paso serán valiosos, porque definir y establecer una arquitectura detallada de nuestra aplicación nos permitirá hacer cosas importantes como:

  • Definir los puntos clave de recolección de datos, pensar qué elementos son críticos y cuáles no lo son. Incluso considerando lo críticos que son.
  • Establecer una estrategia para el monitorización regular del rendimiento de la aplicación mediante el establecimiento de un grupo de umbrales y alarmas de métricas de rendimiento.
  • Establecer un plan de análisis de tráfico ante un error o problema de degradación en la aplicación.

Análisis de cada dos niveles

En entornos complejos, intentar hacer un análisis de tráfico extremo a extremo es prácticamente imposible, por lo que tomamos la estrategia recomendada por Tribelab en su guía para el análisis de trazas de red:
https://community.tribelab.com/mod/book/view.php?id=141&chapterid=79

Consideremos esta aplicación genérica:

monitorizar rendimiento aplicaciones

La idea principal es dividir el análisis por cada par de niveles. Comience con el tráfico entre el Nivel 1 y el Nivel 2, considerando los resultados aquí y, si es necesario, continúe analizando el Nivel 2 y el Nivel 3 y siga adelante hasta encontrar la causa raíz del problema o haciendo análisis para el Nivel n-1 y el Nivel n.

Comenzar el análisis con el tráfico entre Nivel 1 y Nivel 2 aporta el beneficio adicional de que estamos más cerca de los usuarios finales; de esta manera es más fácil correlacionar la experiencia del usuario con las secuencias de tráfico. Esa relación se hace más complicada de visualizar cuando nos movemos a la derecha en la arquitectura.

Debemos recordar que, aunque el objetivo es analizar el tráfico, no debemos descuidar los factores asociados al rendimiento de la aplicación.

Por lo tanto, si estamos haciendo análisis de tráfico Nivel 1 y Nivel 2, es importante considerar datos sobre el comportamiento de los servidores (utilización de CPU y memoria, revisión de archivos de registro, etc.) y la información sobre el rendimiento de los enlaces de comunicación (latencia, tiempo de respuesta, etc.).

Avanzar por el camino del problema

Nuestra recomendación en este punto es definir una trayectoria de problema y concentrar los esfuerzos de análisis en aquellos elementos que la conforman.

Cuando terminamos de analizar el tráfico entre Nivel 1 y Nivel 2, tenemos que considerar los resultados para definir la ruta del problema y el siguiente paso.

Considerando el gráfico de la sección anterior y asumiendo que nos enfrentamos a un problema de rendimiento de 20 segundos de tiempo de respuesta.

Analizamos el tráfico entre Nivel 1 y Nivel 2 y concluimos que el tráfico entre Cliente y Servidor B contribuye en 19 segundos mientras que el tráfico entre Cliente y Servidor A contribuye sólo con 1 segundo.

Con estos resultados tenemos que tomar el análisis de tráfico Nivel 2 y Nivel 3 como nuestro siguiente paso, pero concentramos nuestros esfuerzos en analizar el tráfico entre Servidor B y Servidor C y Servidor D.

Con los resultados del análisis de Nivel 2 y Nivel 3 definiremos el siguiente paso de nuestro camino de problemas y así sucesivamente.

Así que, en el siguiente gráfico, marcamos en rojo la trayectoria del problema:

monitorizar rendimiento aplicaciones

De esta manera, podemos encontrar la causa raíz en menos tiempo y con el menor esfuerzo posible.

Por lo tanto, aquí tenemos un primer acercamiento a una metodología de análisis de tráfico; pero antes de terminar, solo una nota final para decir que cuanto mayor sea nuestro entendimiento de nuestras aplicaciones, mejor podremos configurar nuestras herramientas de monitorización y más ventajas obtendremos.

Para finalizar, recuerda que Pandora FMS es un software de monitorización flexible, capaz de monitorizar dispositivos, infraestructuras, aplicaciones, servicios y procesos de negocio.

¿Quieres conocer mejor qué es lo que Pandora FMS puede ofrecerte? Descúbrelo entrando aquí: https://pandorafms.com/es

Si cuentas con más de 100 dispositivos para monitorizar puedes contactar con nosotros a través del siguiente formulario: https://pandorafms.com/es/contactar/

Además, recuerda que si tus necesidades de monitorización son más limitadas tienes a tu disposición la versión OpenSource de Pandora FMS. Encuentra más información aquí: https://pandorafms.org/es/

No dudes en enviar tus consultas. ¡El equipo de Pandora FMS estará encantado de atenderte!


Written by:



Leave a comment

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.