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 / messages
  • auth.log / secure
  • kern.log
  • dmesg
  • journal/
  • 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, /var puede llenar el sistema.


Flujo mental de troubleshooting con logs

Cuando algo falla, piensa:

  1. ¿Qué servicio?
  2. ¿Dónde escribe logs?
  3. ¿Qué hora ocurrió?
  4. ¿Error repetido o puntual?
  5. ¿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