Logs y Trazabilidad para SREs y DevOps: De la consola al conocimiento


Introducción
En un entorno distribuido y dinámico, los logs no son solo texto en un archivo: son el hilo conductor que te guía a través del caos.
Este artículo está diseñado para SREs y DevOps juniors y middles que desean entender cómo utilizar los logs y la trazabilidad como herramientas reales de diagnóstico, auditoría y control operativo.
Tipos de logs que verás en producción
Tipo | Descripción | Ejemplo |
Aplicación | Generados por tu código | app.log , stderr.log |
Sistema operativo | Kernel, procesos, sistema | /var/log/syslog , journalctl |
Red y firewall | Conectividad y reglas | ufw.log , iptables.log |
Acceso | Autenticaciones y sesiones | auth.log , secure |
Servicios | Logs de nginx, mysql, redis, etc. | /var/log/nginx/error.log |
¿Dónde mirar cuando hay un incidente?
journalctl -xe
para ver logs del sistema con contexto.docker logs -f
para contenedores en ejecución./var/log/*
para servicios legacy.grep
,awk
,sed
para extraer información específica.Herramientas como
multitail
olnav
para seguir múltiples archivos a la vez.
Comandos útiles
# Ver últimos 100 errores de nginx
grep -i "error" /var/log/nginx/error.log | tail -n 100
# Ver logs del sistema desde hace 30 minutos
journalctl --since "30 min ago"
# Ver logs de un pod en Kubernetes
kubectl logs -f pod-name
# Seguir logs con formato y colores
lnav /var/log/syslog
Introducción al tracing: más allá del log
¿Qué pasa cuando tienes cientos de servicios y los logs no son suficientes? Aquí entra el tracing distribuido.
Cada petición lleva un ID (trace ID).
Puedes seguir una petición a través de múltiples microservicios.
Herramientas comunes:
Jaeger
Zipkin
OpenTelemetry
Datadog / Grafana Tempo
# Ejemplo de cabecera HTTP con trace ID
curl -H "traceparent: 00-abcd1234..." https://api.servicio.com/
Buenas prácticas con logs
Usa formato estructurado (JSON si es posible).
Incluye niveles (
INFO
,ERROR
,WARN
,DEBUG
).No loguees contraseñas, tokens o secretos.
Usa una librería consistente de logging.
Implementa rotación y compresión (
logrotate
,journald
).Centraliza logs (ELK, Loki, Datadog, etc).
Errores comunes
Escribir logs a
stdout
sin límites en contenedores.Falta de timestamps o niveles.
No correlacionar eventos entre servicios.
Logs silenciados en producción.
No almacenar logs por suficiente tiempo.
Logs ≠ observabilidad completa
Logs son una parte esencial de la observabilidad, pero no son todo.
Una estrategia completa incluye:
Logs (qué pasó)
Métricas (cuánto pasó)
Traces (dónde pasó)
Dominar los logs es aprender a leer la voz de tus sistemas. Es una herramienta de diagnóstico, auditoría, y confianza. Pero si aprendes también a trazar, verás el mapa completo.
Y así, un paso más en The Rabbit Hole.
Subscribe to my newsletter
Read articles from Dan directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
