00 · Repaso
Repaso exprés de la Sesión 10
Objetivos generales Comprender los fundamentos de la observabilidad, cómo instrumentar aplicaciones Node.js con OpenTelemetry y usar Grafana, Loki y Prometheus para monitorear, depurar y analizar microservicios.
Tool-chain básica
Prometheus: TSDB pull-based para métricas y consultas con PromQL
Grafana: UI unificada para dashboards, alertas y exploración de métricas/logs/trazas
Loki: almacenamiento de logs indexados por etiquetas
Tempo: almacén de trazas distribuido (OTLP nativo)
OpenTelemetry (OTEL): estándar vendor-neutral (API, SDK, spec)
Promtail: agente para enviar logs a Loki
OTEL Collector (opcional): proxy para procesar y reenviar telemetría
Docker Compose: orquestador local del stack
Fundamentos de observabilidad
Distinción entre monitoreo clásico (“sabes qué preguntar”) y observabilidad moderna (“puedes explorar preguntas nuevas sin redeploy”).
Importancia en microservicios: reducción de MTTR, detección de “unknown unknowns”.
Los tres pilares
Logs: eventos discretos y estructurados, niveles (INFO/WARN/ERROR), contexto (IDs de correlación).
Métricas: contadores, histogramas, percentiles (P95/P99), usadas para dashboards y alertas.
Trazas: spans que muestran el flujo de solicitudes, con traceId/spanId, para identificar cuellos de botella.
Práctica
Levantamos el stack completo vía Docker Compose.
Probamos endpoints de Prometheus, Grafana y Loki.
Generamos logs de ejemplo con un script TS y los visualizamos en Grafana.
Instrumentación con OpenTelemetry en Node.js
Instalación de paquetes OTEL (API, SDK, auto-instrumentaciones, exporters).
Configuración de tracing.ts y arranque del SDK (spans y métricas).
Uso de trazas automáticas y manuales en endpoints /fast y /slow.
Métricas de negocio y dashboards
Definición de métricas GOLD (Latency, Errors, Traffic, Saturation) y KPIs del dominio (p. ej. conversiones, órdenes).
Creación de contadores e histogramas custom en el código.
Scraping de métricas OTEL por Prometheus y paneles básicos en Grafana.
Última actualización