La observabilidad no es nice-to-have. Es la forma de saber qué está pasando cuando todo está roto. Logs, métricas y traces son los tres pilares.
Logs: qué registrar y cómo
Los logs deben ser informativos sin ser ruido. Registra decisiones importantes: qué endpoint se ejecutó, qué validación falló, qué error ocurrió. No registres cada micro-movimiento.
Estructura también importa: logs como JSON permiten búsqueda y análisis. Logs como texto libre son más caóticos.
- Usa structured logging (JSON).
- Registra nivel apropiado (info, warn, error).
- Incluye contexto: request ID, usuario, timestamp.
Métricas: mide qué importa
Métricas son números: latencia promedio, errores por segundo, memory usage. Son simples pero poderosas. Con métricas, ves tendencias.
La diferencia entre logs y métricas: logs responden "qué pasó", métricas responden "cómo se comporta el sistema".
- Latencia: tiempo de request.
- Errores: qué % fallan.
- Recursos: CPU, memory, disk.
Distributed Tracing: sigue un request a través de tu sistema
Un request toca múltiples servicios: frontend hace petición a API, API consulta BD, BD responde. Distributed tracing sigue ese viaje completo.
Cuando todo es lento, tracing te muestra dónde está el cuello de botella: ¿es la red? ¿la BD? ¿el código?
- Propaga trace ID a través de servicios.
- Registra tiempo de cada span.
- Visualiza waterfall de ejecución.
Alertas: reacciona cuando algo se quiebra
Observabilidad sin alertas es pasivo: ves el problema después. Alertas son activas: alguien lo arregla antes de que usuarios sufran.
Las mejores alertas son claras en qué está mal y sugieren acción.
Una métrica sin alerta es como un detector de humo sin alarma. Viste el problema después de que todo se quemó.
Herramientas: Prometheus, ELK, Jaeger, Datadog
Hay muchas opciones. La mejor es la que tu equipo puede mantener y entender. Open source (Prometheus, Grafana, Jaeger) es bueno para startups. SaaS (Datadog, NewRelic) es mejor si tienes presupuesto.
La elección de herramienta es menos importante que tener observabilidad. Incluso logs básicos son mejor que nada.