Monitoreo de aplicaciones

Application state monitoring

El monitoreo, o seguimiento de métricas de una aplicación, ayuda a obtener una imagen clara y completa de lo que ocurre: desde la estabilidad del sistema hasta el comportamiento de los usuarios.

Del lado de la aplicación, esta observabilidad se consigue recopilando métricas.

Métricas de aplicación

Una métrica es una medida cuantitativa de algún aspecto del comportamiento de una aplicación que cambia con el tiempo. Como ejemplo, veamos algunas métricas comunes de una aplicación Java que usa Spring Boot Actuator y Micrometer.

Nombre de la métrica Descripción
http_server_requests_seconds_count Número de solicitudes recibidas por el servidor
process_uptime_seconds Número de segundos desde que se inició la aplicación
logback_events_total Número de eventos registrados

Las métricas se exponen en un punto de conexión, por ejemplo /actuator/prometheus, desde donde se pueden recopilar para su procesamiento posterior. Ante una solicitud HTTP con el método GET, la aplicación devuelve sus métricas en el siguiente formato:

http_server_requests_seconds_count{error="none",method="GET",outcome="SUCCESS",status="200",uri="/monitoring",} 2.0
http_server_requests_seconds_count{error="none",method="POST",outcome="SUCCESS",status="200",uri="/login",} 10.0
process_uptime_seconds 109122.326
logback_events_total{level="warn",} 0.0
logback_events_total{level="debug",} 0.0
logback_events_total{level="error",} 0.0
logback_events_total{level="trace",} 0.0
logback_events_total{level="info",} 150.0

Recopilación de métricas con Prometheus

Una herramienta muy usada para recopilar métricas de aplicaciones Java es Prometheus. Además de recopilar métricas, Prometheus se puede configurar para generar alertas sobre eventos importantes, por ejemplo mediante el envío de un correo electrónico a un administrador.

Visualización de métricas en Grafana

Después, las métricas pueden enviarse a una herramienta de visualización de datos como Grafana, donde se pueden crear gráficos y diagramas basados en esas métricas, creando paneles que presentan métricas de forma compacta y clara. Además, al igual que Prometheus, Grafana también admite alertas.

Grafana dashboard example
Ejemplo de panel creado en Grafana
Tarea

A partir de las métricas, puedes sacar conclusiones sobre el estado de una aplicación, ejecutar pruebas de rendimiento e incluso detectar defectos.

Imagina que observas la métrica de uso de memoria de la aplicación y notas que sigue aumentando de forma constante, independientemente de factores objetivos como un mayor número de usuarios activos.

Este comportamiento puede indicar una fuga de memoria : errores en la forma en que la aplicación administra, consume y libera la memoria que tiene asignada.

Grafana memory leak
¡Tarea disponible para usuarios premium!

Desbloquea el acceso para aprender sin límites.

Acceso completo a todas las tareas prácticas
Verificación de respuestas
Intentos ilimitados
Sidebar arrow

INTRODUCCIÓN

CONCEPTOS BÁSICOS

NIVELES DE PRUEBAS

PRUEBAS DE UI

DISEÑO DE PRUEBAS

DOCUMENTACIÓN DE PRUEBAS

AUTENTICACIÓN Y AUTORIZACIÓN

POSTMAN

BASES DE DATOS

PRUEBAS DE RELEASE

ANÁLISIS DE LA APLICACIÓN

PREPARACIÓN PARA ENTREVISTAS

Cómo escribir un CV Preguntas frecuentes de entrevista Test Entrevista simulada