Saltar al contenido principal

Monitorización App

Herramienta de monitorización de aplicaciones que unifica métricas, logs y trazas; alertas en tiempo real, dashboards para producto/ingeniería y reducción sustancial de MTTR.

Desarrollado con Flask y React, utilizando Splunk como base de datos y ML Toolkit y Docker para despliegue.

Desarrollo Full-StackBusiness IntelligenceSeries TemporalesBig Data
Crash detection <1 min70% menos incidencias99.9% uptime100M+ eventos/día80% acierto en predicciones
FlaskReactSplunkDocker

Duración

Introducción

Desarrollé una plataforma de monitorización para un banco español que detecta fallos en <1 min, analiza uso en tiempo real y predice horas pico sobre 100M+ eventos diarios. Usar Splunk como datastore de series temporales y plataforma de ML simplificó el stack y permitió investigaciones en sub-segundo.

El Desafío

La app móvil del banco servía a millones de usuarios pero carecía de visibilidad sobre crashes y patrones de comportamiento. Los equipos de soporte eran reactivos y se enteraban de los problemas tras las quejas. Necesitábamos rastrear interacciones, detectar crashes de inmediato, predecir horas pico y ofrecer insights accionables, todo dentro de la infraestructura de Splunk existente.

Solución y Enfoque

Construí una solución de monitoreo end-to-end integrándose con el stack del banco:

Arquitectura Backend (Flask)

  • API RESTful ingiriendo eventos de app móvil y reportes de crashes
  • Pipeline de procesamiento normalizando logs de apps iOS y Android
  • Capa de integración conectando a Splunk para almacenamiento y recuperación de datos
  • Microservicios dockerizados asegurando despliegue consistente en todos los entornos

Dashboard Frontend (React)

  • Visualización en tiempo real de usuarios activos, tasas de crash y rendimiento
  • Gráficos interactivos mostrando patrones de comportamiento por tiempo y ubicación
  • Interfaz de análisis de crashes agrupando problemas similares para debugging eficiente
  • Diseño responsivo móvil para acceso por equipos de soporte en movimiento

Analítica con Splunk

  • Splunk como base de datos principal almacenando eventos y métricas
  • Predicción de series temporales con ML Toolkit de Splunk para estimar uso
  • Búsquedas automatizadas detectando picos de crashes y patrones inusuales
  • Dashboards personalizados para diferentes equipos (soporte, desarrollo, gestión)

Monitoreo y Automatización

  • Alertas en tiempo real para umbrales de tasa de crash vía email y Slack
  • Reportes diarios automatizados sobre comportamiento de usuarios y salud de app
  • Docker Compose orquestando todos los servicios con health checks
  • Pipeline CI/CD para despliegues sin tiempo de inactividad

Resultados e Impacto

Los equipos pasaron de reactivos a proactivos: el tiempo de detección bajó de horas a <1 min, las incidencias reportadas por usuarios cayeron ~70% y el MTTR mejoró ~3x gracias a contexto más rico y alertas por rol. Consultas en sub-segundo sobre 100M+ eventos y ~80% de acierto en predicciones optimizaron la planificación de capacidad.

Impacto Operacional

  • Tiempo de detección de crashes reducido de horas a segundos
  • 70% menos incidencias reportadas por usuarios (detectadas proactivamente)
  • Resolución 3x más rápida con datos detallados para soporte
  • Predicción precisa de horas pico para planificación de capacidad

Logros Técnicos

  • Procesamiento de 10 M+ eventos diarios a través de backend Flask
  • Consultas sub-segundo en Splunk a pesar del volumen de datos
  • 99.9% de uptime mediante containerización con Docker
  • Predicción con ML de usuarios activos diarios con 80% de precisión

El proyecto demostró cómo tecnologías web modernas, combinadas con herramientas empresariales como Splunk, pueden ofrecer un monitoreo potente. El banco continuó expandiendo la herramienta para cubrir toda su suite de productos digitales.