Monitoreo vs. Observabilidad

Por: Artiko
monitoreoobservabilidadsredevopsalertas

Monitoreo vs. Observabilidad

La confusión más común del campo

Si preguntas a diez ingenieros de operaciones qué es observabilidad, probablemente siete te dirán que es “monitoreo avanzado” o “tener muchas métricas”. Esta confusión es comprensible — ambos conceptos comparten herramientas y objetivos superficiales — pero la distinción es profunda y tiene consecuencias prácticas enormes.

Entender la diferencia no es un ejercicio académico. Es lo que separa a un equipo que pasa sus noches apagando incendios de un equipo que entiende sus sistemas y puede prevenirlos.


¿Qué es el monitoreo?

El monitoreo es la práctica de recopilar y visualizar métricas predefinidas sobre el comportamiento de un sistema, y generar alertas cuando esas métricas superan umbrales establecidos.

El monitoreo responde preguntas como:

Es fundamentalmente reactivo a lo conocido. Para que el monitoreo funcione, debes saber de antemano qué quieres monitorear y qué valores son problemáticos. Es un sistema cerrado: defines las preguntas, defines los umbrales, defines las acciones.

sequenceDiagram
    participant S as Sistema
    participant M as Sistema de Monitoreo
    participant A as Alerta
    participant I as Ingeniero

    S->>M: Emite métrica: latencia=600ms
    M->>M: Compara con umbral (500ms)
    M->>A: Dispara alerta
    A->>I: Notificación
    I->>S: ¿Qué está pasando?
    Note over I: Sin herramientas adicionales,<br/>el ingeniero no sabe la causa

¿Qué es la observabilidad en contraste?

La observabilidad es la capacidad de hacer preguntas arbitrarias sobre el comportamiento del sistema en cualquier momento, incluso preguntas que no fueron anticipadas cuando el sistema fue construido.

La observabilidad responde preguntas como:

Es exploratoria e investigativa. No requiere que hayas anticipado el problema. Requiere que hayas instrumentado el sistema con suficiente detalle y contexto para poder responder cualquier pregunta.


El problema de las preguntas conocidas

El monitoreo falla en una premisa fundamental: no puedes predecir todos los modos de fallo de un sistema complejo.

Considera un sistema de e-commerce. Puedes monitorear:

Pero, ¿monitoreaste:

Podrías agregar monitores infinitamente. Y aún así, el próximo incidente probablemente será por algo que no monitoreaste.

graph TD
    subgraph Monitoreo Clásico
        KP[Known problems<br/>Problemas conocidos] --> A[Alertas configuradas]
        A --> R[Respuesta definida]
        UP[Unknown problems<br/>Problemas desconocidos] --> ?[¿¿¿???]
    end

    subgraph Observabilidad
        ANY[Cualquier comportamiento\nanormal] --> I[Investigación con\nherramientas ricas]
        I --> U[Entendimiento profundo]
        U --> FIX[Solución]
    end

Monitoreo clásico: las cuatro señales doradas

Google introdujo en su libro de SRE el concepto de las cuatro señales doradas — las cuatro métricas más importantes para monitorear cualquier servicio:

quadrantChart
    title Las Cuatro Señales Doradas
    x-axis Baja Importancia --> Alta Importancia
    y-axis Baja Urgencia --> Alta Urgencia
    quadrant-1 Crítico
    quadrant-2 Importante
    quadrant-3 Secundario
    quadrant-4 Seguimiento
    Latencia: [0.85, 0.75]
    Tráfico: [0.65, 0.40]
    Errores: [0.90, 0.90]
    Saturación: [0.70, 0.65]
  1. Latencia: El tiempo que tarda el sistema en responder. Importante distinguir entre latencia de requests exitosas vs. fallidas — las fallidas rápidas no son una buena señal.

  2. Tráfico: Cuánta demanda recibe el sistema. Para una API: requests por segundo. Para una base de datos: transacciones por segundo. Para un sistema de streaming: mensajes por segundo.

  3. Errores: La tasa de requests que fallan. Incluye errores explícitos (HTTP 500) y errores implícitos (HTTP 200 con datos incorrectos).

  4. Saturación: Qué tan “lleno” está el sistema. CPU al 95%, memoria al 90%, cola de mensajes creciendo indefinidamente son señales de saturación.

Estas cuatro señales son el punto de partida mínimo del monitoreo. Son necesarias pero insuficientes para la observabilidad.


El modelo RED: otra perspectiva del monitoreo moderno

Complementando las cuatro señales doradas, el modelo RED (propuesto por Tom Wilkie de Grafana) se enfoca en servicios HTTP/RPC:

RED es especialmente útil para microservicios porque es simple y accionable. Tres métricas que dan una imagen rápida de la salud de cualquier servicio.


El modelo USE: para infraestructura

Para recursos de infraestructura (servidores, bases de datos, redes), Brendan Gregg propuso el modelo USE:

flowchart LR
    subgraph "Servicio (RED)"
        R[Rate\nreq/seg]
        E[Errors\nerr/seg]
        D[Duration\np50/p99]
    end

    subgraph "Infraestructura (USE)"
        U[Utilization\n% uso]
        S[Saturation\nqueue depth]
        ER[Errors\nerr count]
    end

    subgraph "Sistema (4 Señales Doradas)"
        LAT[Latencia]
        TRA[Tráfico]
        ERR[Errores]
        SAT[Saturación]
    end

La evolución: del monitoreo a la observabilidad

La transición de monitoreo a observabilidad no es un salto brusco. Es una evolución gradual que la mayoría de los equipos recorre a medida que sus sistemas crecen en complejidad.

timeline
    title Evolución hacia la Observabilidad
    2000s : Monitoreo de infraestructura
           : Nagios, Zabbix
           : Ping checks, CPU, memoria
    2010s : Monitoreo de aplicaciones (APM)
           : New Relic, AppDynamics
           : Métricas de aplicación, transacciones
    2015 : Era de microservicios
         : Proliferación de servicios
         : Necesidad de trazas distribuidas
    2018 : Observabilidad moderna
         : Logs estructurados, trazas, métricas
         : OpenTracing, luego OpenTelemetry
    2020s : Observabilidad como estándar
          : OpenTelemetry adoption masiva
          : High-cardinality analysis

Señales de que tu equipo necesita ir más allá del monitoreo


Diferencias prácticas en el workflow de un incidente

Esta diferencia se hace muy concreta durante un incidente:

Workflow con monitoreo clásico

flowchart TD
    A[Alerta: Latencia > 500ms] --> B[Revisar dashboard de métricas]
    B --> C{¿La causa es obvia?}
    C -->|Sí| D[Fix rápido]
    C -->|No| E[SSH a servidores\ngrep logs manualmente]
    E --> F[Revisar métricas de infraestructura]
    F --> G{¿Encontraste algo?}
    G -->|Sí| D
    G -->|No| H[Reunión de ingenieros\n¿alguien sabe qué pasó?]
    H --> I[Hipótesis + prueba manual]
    I --> G

Workflow con observabilidad

flowchart TD
    A[Alerta: SLO de latencia en riesgo] --> B[Abrir explorador de trazas]
    B --> C[Filtrar requests lentas\npor tiempo y atributos]
    C --> D[Identificar servicio o componente\ncon mayor contribución]
    D --> E[Ver logs correlacionados\nen el mismo contexto]
    E --> F[Identificar causa raíz\nen minutos]
    F --> G[Fix o rollback]

La diferencia no es solo de velocidad — es de mentalidad. Con observabilidad, el ingeniero on-call tiene confianza. Con monitoreo puro, tiene ansiedad.


¿Hay que elegir entre monitoreo y observabilidad?

No. Son complementarios. El monitoreo sigue siendo necesario para:

La observabilidad es lo que usas para entender por qué la alerta se disparó.

La arquitectura ideal combina ambos:

graph LR
    T[Telemetría del Sistema\nLogs + Métricas + Trazas] --> MON[Sistema de Monitoreo\nAlertas y Dashboards]
    T --> OBS[Plataforma de Observabilidad\nExploración y Diagnóstico]

    MON --> |Alerta: algo está mal| ING[Ingeniero On-Call]
    ING --> |Investiga con| OBS
    OBS --> |Responde: por qué y cómo| ING

El test de Charity Majors: ¿eres observable?

Charity Majors, co-fundadora de Honeycomb y figura clave en el movimiento de observabilidad, propone una prueba simple:

“Si puedes hacerte una pregunta arbitraria sobre el comportamiento de tu sistema en producción y obtener una respuesta sin necesitar desplegar código nuevo, eres observable.”

Prueba estas preguntas sobre tu sistema actual:

  1. ¿Cuál es el percentil 99 de latencia para usuarios con más de 100 transacciones previas?
  2. ¿Cuánto tiempo tarda específicamente la validación de correo electrónico en el registro?
  3. ¿Qué versión del SDK móvil tienen los usuarios con más errores en los últimos 7 días?

Si no puedes responder estas preguntas hoy, tu sistema no es suficientemente observable.


Resumen

CaracterísticaMonitoreoObservabilidad
Tipo de preguntasConocidas de antemanoCualquier pregunta
Modo de operaciónReactivoExploratorio
Principales herramientasMétricas + alertasLogs estructurados + trazas + métricas de alta cardinalidad
Cuándo fallaEn modos de fallo no anticipadosCuando el sistema no está instrumentado
ObjetivoDetectar problemasEntender problemas

En los próximos capítulos profundizamos en cada uno de los tres pilares que hacen posible la observabilidad real.


Referencias