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:
| Aspecto | Monitoring | Observability |
|---|---|---|
| Enfoque | Basado en métricas y umbrales predefinidos | Inferir el estado interno mediante las salidas del sistema |
| Tipo de pregunta | «¿Qué salió mal?» (Qué) | «¿Por qué salió mal?» (Por qué) |
| Alcance de los datos | Detección de problemas conocidos | Exploración de problemas desconocidos |
| Flexibilidad | Dashboards predefinidos | Consultas y exploración dinámicas |
| Complejidad | Adecuado para sistemas simples | Esencial 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:
{
"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:
# 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ón | Open Source | AWS nativo | Comercial |
|---|---|---|---|
| Métricas | Prometheus, VictoriaMetrics | CloudWatch, AMP | Datadog, New Relic |
| Logs | Loki, Elasticsearch | CloudWatch Logs | Splunk, Datadog |
| Traces | Tempo, Jaeger | X-Ray | Datadog APM, Dynatrace |
| Visualización | Grafana | CloudWatch Dashboards | Datadog, 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
| Nivel | Características | Herramientas de ejemplo |
|---|---|---|
| Nivel 1 | Recopilación básica de logs/métricas | kubectl logs, CloudWatch |
| Nivel 2 | Observability centralizada | Loki, Prometheus, Grafana |
| Nivel 3 | Correlación de los tres pilares | Tempo, Exemplars, TraceID |
| Nivel 4 | AIOps, detección automática de anomalías | Datadog 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:
- Configure la recopilación de métricas: Despliegue Prometheus o VictoriaMetrics
- Configure la recopilación de logs: Despliegue Loki y Fluent Bit
- Configure el tracing: Despliegue Tempo o X-Ray
- Visualización: Conecte todas las fuentes de datos en Grafana
- Correlación: Configure la vinculación basada en TraceID