Define el budget desde el riesgo del negocio
Retail, clínica, logística, estudio contable o SaaS regional puede operar con pocas VMs, bases gestionadas, functions, APIs, ERP, hojas y cron. Las fallas costosas suelen ser silenciosas: factura sin sincronizar, webhook rechazado, stock stale, backup roto o reporte con datos antiguos.
Lista journeys, tiempo máximo de detección y recuperación, owner y canal. Instrumenta el conjunto mínimo que prueba éxito o identifica la frontera fallida.
CriticidadIngresos, pagos, atención, compliance, nómina, logística, reportes y recuperación.
VolumenRequests, bytes de log, series, spans, eventos, entornos, regiones y retención.
Capacidad humanaOwner, horario, escalamiento, idioma, runbook, soporte y límites fuera de horario.
Vida de evidenciaVentana hot, historia operacional, auditoría, incident hold, backup y borrado.
Usa un stack mínimo con contratos abiertos
OpenTelemetry ofrece APIs, SDKs, convenciones y Collector neutrales. Prometheus cubre métricas y alertas. Loki u otro store indexa labels de baja cardinalidad y conserva contexto dinámico en campos. Tempo o equivalente almacena traces muestreados.
El primer deployment puede ser gestionado, single-node o híbrido. Mantén OTLP, Prometheus/OpenMetrics, W3C Trace Context, logs JSON y schemas documentados para cambiar storage sin reescribir aplicaciones.
Diseña el recorrido de las señales
Stack mínimo de observabilidad01 InstrumentarEmite señales acotadasLogs, métricas, trace context, eventos de job, deploy markers y health.
02 ColectarUsa un gatewayCollector recibe, enriquece, redacta, agrupa, muestrea, reintenta y enruta.
03 ControlarAplica policy de costoElimina ruido, limita atributos, normaliza rutas, samplea y asigna retención.
04 GuardarElige backends adecuadosTSDB, logs comprimidos, traces, eventos de estado y archivo barato.
05 DetectarCombina visión interna y externaGolden signals, freshness, dependencias, certificados y journeys sintéticas.
06 AlertarEnruta condiciones accionablesOwner, impacto, evidencia, dashboard, runbook, silencio, escalamiento y recovery.
07 InvestigarCorrelaciona antes de guardar todoServicio, entorno, deploy, trace, job, integración y clave saneada.
08 RevisarMide valor y gastoIncidentes, falsas alertas, tiempo, costo, cardinalidad, dashboards y retención.
Las métricas responden preguntas estables
Comienza con tráfico, error, latencia y saturación. Añade pedidos, pagos, fallas de integración, edad de cola, registros sincronizados, edad de backup y frescura del reporte. Las métricas representan agregados, no IDs.
Cada combinación de labels crea una serie. No uses usuario, email, pedido, trace, query o exception message. Prefiere servicio, entorno, operación, ruta normalizada, resultado, dependencia, cola y región acotada.
Los logs necesitan estructura y privacidad
Usa JSON con timestamp, severidad, servicio, entorno, versión, operación, outcome, duración, trace/span, request, job, integración y error code seguro. Los IDs dinámicos quedan como campos, no labels.
No registres tokens, passwords, tarjetas, documentos, salud ni payloads completos. Redacta en origen y Collector. Retención larga solo cuando exista propósito operacional, legal o de auditoría.
Los jobs programados necesitan monitoreo propio
El scheduler ejecutado no prueba resultado. Emite started, heartbeat, completed, failed, skipped, timed out y partial. Guarda schedule esperado, inicio, duración, procesados, rechazados, watermark, output y próxima corrida.
Usa dead-man check para sync ERP, nómina, backup, certificados, facturación y reportes.
Los checks sintéticos prueban la vista externa
Las métricas pueden verse verdes mientras fallan DNS, TLS, CDN, ruta, auth o tercero. Ejecuta probes externos de status, latencia, certificado, schema y flujo read-only.
En rutas críticas usa transacción controlada con datos dedicados y compensación, sin contaminar finanzas, stock o analytics.
Muestrea traces por valor diagnóstico
Retén errores, traces lentos y pequeña muestra normal. Tail sampling decide al final pero consume memoria; head sampling es barato pero puede perder fallas raras.
Propaga contexto aunque el trace no se guarde. Protege atributos y limita span events.
Las alertas necesitan owner y acción
Interrumpe a una persona solo cuando puede actuar. Otros eventos van a ticket, digest o dashboard. Prefiere síntomas: checkout, confirmación de pago, job stale, error-budget burn o edad de cola.
Cada alerta contiene servicio, owner, severidad, journey, inicio, valor, razón, cambio reciente, dashboard, runbook y recovery. Prueba el canal de notificación.
La retención sigue la vida diagnóstica
La telemetría detallada reciente vale más durante debug. Mantén ventana hot corta, agrega métricas, archiva logs seleccionados y elimina lo que no tiene finalidad.
La retención es configuración versionada con owner y revisión. Guardar todo aumenta costo y riesgo.
Usa una matriz de señal y costo
| Señal | Mínimo útil | Driver de costo | Control | Retener más cuando |
|---|
| Métricas de servicio | Tráfico, error, histograma, saturación y versión. | Series, intervalo, buckets y retención. | Labels bajos, recording rules e intervalos por riesgo. | Capacidad, SLO y estacionalidad requieren historia. |
| Métricas de negocio | Pedidos, pagos, sync, cola y freshness. | Dimensiones y labels por entidad. | Agrega por operación/resultado; IDs en logs. | Existe necesidad operativa o de auditoría. |
| Logs | Warnings/errors estructurados e infos muestreados. | Bytes, índice, queries y retención. | Niveles, límites, dedupe, redaction, labels bajos y archive. | Incidente, seguridad o compliance lo justifican. |
| Traces | Errores, lentos y pequeña muestra normal. | Spans, atributos, eventos e índice. | Sampling, límites y normalización. | Se investiga latencia distribuida o dependencia. |
| Eventos de job | Inicio, fin, outcome, duración, watermark y deadline. | Bajo; historia y alertas. | Un resumen por intento y errores limitados. | Finanzas, backup o regulación exigen evidencia. |
| Checks sintéticos | DNS/TLS/HTTP y una journey segura. | Frecuencia, ubicaciones y browser minutes. | Frecuencia por riesgo y browser solo donde hace falta. | La conducta regional o de terceros debe compararse. |
Comienza con tres dashboards
Servicio: golden signals, alertas, deploys, dependencias y errores. Negocio: pedidos, pagos, integraciones, freshness, backlog y excepciones. Costo: ingest, series, logs, sampling, retención, queries y cardinalidad.
Dashboard sin owner ni uso recurrente se elimina.
Considera restricciones regionales
Usa idioma local en alertas y runbooks, con campos técnicos estables. Considera equipos pequeños, on-call limitado, conectividad de sucursal, distancia cloud, tipo de cambio y dependencia de ERP, fiscal, pagos y mensajería regionales.
Las sucursales bufferizan telemetría acotada y priorizan health, seguridad y evidencia transaccional. Monitorea Collector, exporters, colas y storage.
Qué construiría
Empezaría con logs estructurados, métricas Prometheus, checks externos uptime/TLS, heartbeats de jobs, alert router y tres dashboards. Después añadiría Collector para enrichment, redaction, batching, sampling y routing.
Tracing comenzaría en journeys críticas e integraciones. Mensualmente revisaría falsos positivos, datos sin uso, cardinalidad, retención, cobertura y costo por servicio.
El principio de diseño
Observabilidad barata no significa ver menos. Significa ver con disciplina: capturar lo que cambia decisiones, conservar contexto suficiente, alertar al owner correcto y dejar de pagar por ruido.