Logs y registro del sistema en Linux¶
Este módulo explica cómo funciona el sistema de logs en Linux, dónde se almacenan los registros, cómo leerlos y cómo utilizarlos para diagnosticar problemas reales.
Saber trabajar con logs es una de las habilidades más importantes de un administrador Linux: cuando algo falla, los logs casi siempre tienen la respuesta.
Introducción¶
Un log es un registro de eventos que ocurren en el sistema:
arranque, errores, accesos, servicios, autenticaciones, fallos de hardware, etc.
Linux registra prácticamente todo, pero no sirve de nada si no sabes dónde mirar ni cómo interpretar la información.
El troubleshooting profesional empieza casi siempre con una frase:
“Vamos a ver los logs”.
¿Dónde se guardan los logs?¶
Tradicionalmente, los logs se almacenan en:
/var/log
Ejemplo:
ls /var/log
Archivos y directorios comunes:
syslog/messagesauth.log/securekern.logdmesgjournal/- Logs de servicios (nginx, apache, mysql, etc.)
⚠️ El contenido exacto depende de la distribución.
Logs clásicos (rsyslog)¶
En sistemas tradicionales, el demonio rsyslog se encarga de escribir logs en archivos de texto.
Logs importantes¶
syslog / messages¶
Logs generales del sistema.
/var/log/syslog
/var/log/messages
auth.log / secure¶
Eventos de autenticación:
- SSH
- sudo
- login
- fallos de contraseña
/var/log/auth.log
kern.log¶
Mensajes del kernel:
/var/log/kern.log
systemd-journald y journalctl¶
En sistemas modernos, systemd introduce un sistema centralizado de logs llamado journal.
journalctl¶
Herramienta para consultar logs:
journalctl
Ver logs recientes¶
journalctl -e
Logs del arranque actual¶
journalctl -b
Arranque anterior:
journalctl -b -1
Logs de un servicio¶
journalctl -u ssh
journalctl -u nginx
Logs en tiempo real¶
journalctl -f
Muy útil para debugging en vivo.
Logs del kernel¶
dmesg¶
Muestra mensajes del kernel (arranque y hardware):
dmesg
Filtrar errores:
dmesg | grep -i error
Ideal para problemas de discos, drivers o hardware.
Leer y analizar logs correctamente¶
Los logs son texto, así que se combinan con herramientas clásicas.
less¶
less /var/log/syslog
grep¶
Buscar patrones:
grep error /var/log/syslog
grep sshd /var/log/auth.log
tail¶
Ver últimas líneas:
tail -n 50 /var/log/syslog
En tiempo real:
tail -f /var/log/syslog
Logs de servicios¶
Muchos servicios escriben sus propios logs.
Ejemplos:
- nginx →
/var/log/nginx/ - apache →
/var/log/apache2/ - mysql →
/var/log/mysql/
Ejemplo:
tail -f /var/log/nginx/error.log
💡 Si un servicio falla, empieza por su log.
Rotación de logs (logrotate)¶
Los logs crecen constantemente.
Para evitar llenar el disco, Linux usa logrotate.
Configuración principal:
/etc/logrotate.conf
/etc/logrotate.d/
Ejemplo típico:
- Rotación diaria
- Mantener X copias
- Comprimir logs antiguos
⚠️ Sin rotación,
/varpuede llenar el sistema.
Flujo mental de troubleshooting con logs¶
Cuando algo falla, piensa:
- ¿Qué servicio?
- ¿Dónde escribe logs?
- ¿Qué hora ocurrió?
- ¿Error repetido o puntual?
- ¿Relación con cambios recientes?
Los logs siempre cuentan una historia.
Errores comunes¶
Errores habituales:
- No mirar logs y “reiniciar a ciegas”
- Buscar en el archivo equivocado
- Ignorar timestamps
- No usar
journalctl - Dejar que los logs llenen el disco
💡 Reiniciar sin leer logs es perder información.
Ejercicios prácticos¶
1. Ver logs del sistema¶
journalctl -e
2. Revisar autenticaciones¶
less /var/log/auth.log
3. Seguir logs en tiempo real¶
journalctl -f
4. Buscar errores recientes¶
grep -i error /var/log/syslog | tail
Mentalidad¶
Un buen sysadmin piensa:
- Los logs son la fuente de verdad
- Todo deja rastro
- Leer logs es una habilidad entrenable
- Menos intuición, más evidencia
- Sin logs, no hay diagnóstico
Dominar logs es dominar el troubleshooting.
Resumen¶
- Linux registra eventos constantemente
- /var/log es el punto clásico de logs
- systemd usa journalctl
- dmesg muestra mensajes del kernel
- grep, less y tail son herramientas clave
- Los logs explican por qué algo falla
Siguiente paso¶
En el siguiente módulo entrarás en:
Automatización en Linux (automatizacion.md)
Donde verás:
- Por qué automatizar tareas
- Scripts básicos y cron
- Mentalidad de sysadmin eficiente