Skip to content

Descripción general de Observability

Última actualización: February 20, 2026

Introducción

En los sistemas distribuidos modernos, especialmente en las arquitecturas de microservicios basadas en Kubernetes, la capacidad de observar y comprender el estado interno de los sistemas a partir de salidas externas es esencial. Esto se denomina Observability.

Observability frente a Monitoring

Observability y monitoring se utilizan a menudo de forma indistinta, pero existen diferencias fundamentales:

AspectoMonitoringObservability
EnfoqueBasado en métricas y umbrales predefinidosInferir el estado interno mediante las salidas del sistema
Tipo de pregunta«¿Qué salió mal?» (Qué)«¿Por qué salió mal?» (Por qué)
Alcance de los datosDetección de problemas conocidosExploración de problemas desconocidos
FlexibilidadDashboards predefinidosConsultas y exploración dinámicas
ComplejidadAdecuado para sistemas simplesEsencial para sistemas distribuidos complejos

Los tres pilares de Observability

Observability consta de tres tipos de datos fundamentales:

1. Logs

Los logs son registros de eventos individuales que ocurren en un sistema.

Características:

  • Registros de eventos discretos e inmutables
  • Incluyen marcas de tiempo e información de contexto
  • Formato estructurado (JSON) o no estructurado
  • Esenciales para la depuración y la auditoría

Casos de uso:

  • Seguimiento de errores y excepciones
  • Auditoría de seguridad
  • Cumplimiento normativo
  • Depuración detallada

Herramientas: Loki, Elasticsearch, CloudWatch Logs, Fluent Bit

2. Metrics

Las métricas son mediciones numéricas a lo largo del tiempo.

Características:

  • Se almacenan como datos de series temporales
  • Admiten agregación y operaciones matemáticas
  • Alta eficiencia de almacenamiento
  • Adecuadas para el análisis de tendencias

Tipos de métricas principales:

  • Counter: Valores acumulativos crecientes (p. ej., recuento de solicitudes)
  • Gauge: Valores del estado actual (p. ej., uso de CPU)
  • Histogram: Mediciones de distribución (p. ej., tiempo de respuesta)
  • Summary: Cálculos de cuantiles

Herramientas: Prometheus, VictoriaMetrics, CloudWatch Metrics, Datadog

3. Traces

Los traces realizan el seguimiento de la ruta completa de las solicitudes a través de sistemas distribuidos.

Características:

  • Visualizan el flujo de solicitudes entre Services
  • Miden la latencia en cada paso
  • Identifican cuellos de botella
  • Análisis de dependencias

Componentes:

  • Trace: El recorrido completo de una sola solicitud
  • Span: Una sola unidad de trabajo
  • SpanContext: Contexto propagado entre Services

Herramientas: Tempo, Jaeger, X-Ray, Zipkin, Datadog APM

Correlación entre los tres pilares

Los tres pilares no son independientes, sino que están interconectados y proporcionan potentes capacidades de análisis:

Correlación de Trace a log

Incluya el TraceID en los logs para realizar el seguimiento de todos los logs relacionados con una solicitud específica:

json
{
  "timestamp": "2025-02-15T10:30:00Z",
  "level": "ERROR",
  "message": "Payment processing failed",
  "traceId": "abc123def456",
  "spanId": "789xyz",
  "service": "payment-service"
}

Correlación de métrica a Trace (Exemplars)

Vincule el TraceID a las métricas para rastrear solicitudes cuando se produzcan anomalías:

yaml
# Prometheus Exemplar
http_request_duration_seconds_bucket{le="0.5"} 1000 # {traceID="abc123"}

OpenTelemetry y estandarización

OpenTelemetry (OTel) es el estándar del sector para la recopilación de datos de observabilidad:

Beneficios de OpenTelemetry:

  • Estándar independiente del proveedor
  • Compatibilidad con SDK para varios lenguajes
  • Capacidades de auto-instrumentación
  • Compatibilidad con múltiples backends
  • Comunidad activa

Estrategia de Observability para entornos EKS

Estrategias para implementar una observabilidad eficaz en Amazon EKS:

1. Observability por capas

2. Stack de herramientas recomendado

FunciónOpen SourceAWS nativoComercial
MétricasPrometheus, VictoriaMetricsCloudWatch, AMPDatadog, New Relic
LogsLoki, ElasticsearchCloudWatch LogsSplunk, Datadog
TracesTempo, JaegerX-RayDatadog APM, Dynatrace
VisualizaciónGrafanaCloudWatch DashboardsDatadog, Dynatrace

3. Estrategias de optimización de costos

  • Sampling: Reduzca los costos mediante el muestreo de datos de trace
  • Políticas de retención: Optimice los períodos de retención de datos
  • Almacenamiento por niveles: Mueva los datos más antiguos a almacenamiento más económico
  • Agregación: Almacene datos agregados en lugar de datos detallados

Modelo de madurez de Observability

NivelCaracterísticasHerramientas de ejemplo
Nivel 1Recopilación básica de logs/métricaskubectl logs, CloudWatch
Nivel 2Observability centralizadaLoki, Prometheus, Grafana
Nivel 3Correlación de los tres pilaresTempo, Exemplars, TraceID
Nivel 4AIOps, detección automática de anomalíasDatadog Watchdog, Dynatrace Davis

Guía de secciones

Esta sección de observabilidad está organizada de la siguiente manera:

Logging

Herramientas y estrategias para la recopilación, el almacenamiento y el análisis de logs:

  • Loki: Sistema ligero de agregación de logs
  • Fluent Bit: Recopilador de logs de alto rendimiento
  • CloudWatch Logs: Logging nativo de AWS

Metrics

Recopilación y análisis de métricas de series temporales:

  • Prometheus: Sistema de métricas estándar del sector
  • VictoriaMetrics: Alternativa a Prometheus de alto rendimiento
  • CloudWatch Metrics: Métricas nativas de AWS

Tracing

Tracing distribuido y análisis del flujo de solicitudes:

  • Tempo: Backend de tracing distribuido de Grafana
  • X-Ray: Tracing distribuido nativo de AWS
  • OpenTelemetry: Instrumentación estandarizada
  • Dynatrace: APM con tecnología de IA

Grafana (Dashboards)

Visualización y dashboards unificados:

  • Integración de fuentes de datos
  • Patrones de diseño de dashboards
  • Configuración de alertas

Primeros pasos

Para comenzar a implementar observabilidad, se recomienda el siguiente orden:

  1. Configure la recopilación de métricas: Despliegue Prometheus o VictoriaMetrics
  2. Configure la recopilación de logs: Despliegue Loki y Fluent Bit
  3. Configure el tracing: Despliegue Tempo o X-Ray
  4. Visualización: Conecte todas las fuentes de datos en Grafana
  5. Correlación: Configure la vinculación basada en TraceID

Referencias