
Un log (bitácora o historial) es un registro de eventos que suceden durante un rango de tiempo en particular. Las aplicaciones o dispositivos lo utilizan para registrar datos o información sobre quién, qué, cuándo, dónde y por qué ocurre un evento.
Almacenamiento de logs
La mayor parte de los logs del sistema se almacenan en la carpeta /var/log. En su interior podemos encontrar una serie de ficheros que almacenarán los logs de diferentes aplicaciones o dispositivos del sistema. A continuación vamos a enumerar los más importantes y lo que almacenan.
/var/log/dmesg = Mensajes de dispositivos.
/var/log/auth.log = Login de usuarios y autenticaciones.
/var/log/daemon.log = Demonios y servicios ejecutados en el sistema.
/var/log/debug = Mensajes para depuración de errores.
/var/log/kern.log = Mensajes del kernel.
/var/log/mail.* = Servidor de correo.
/var/log/messages = Mensajes generales en Red Hat/CentOS.
/var/log/syslog = Mensajes generales en Debian/Ubuntu.
/var/log/Xorg.0.log = Interfaz gráfica X.
/var/log/apt/history.log = Historial de Apt.
/var/log/apt/term.log = Ejecuciones de Apt.
En el mismo directorio podemos encontrar estos mismos ficheros con la extensión .gz y un número. Se trata de ficheros de log antiguos comprimidos y almacenados por el sistema durante un tiempo establecido para su consulta.
Visualización de logs
Los ficheros de logs podemos visualizarlos con cualquier comando que lea ficheros de texto.
cat /var/log/syslog
tail /var/log/syslog
Los que están comprimidos, que es el caso de los ficheros más antiguos, también se pueden visualizar sin descomprimir.
zcat /var/log/syslog.1
Con el comando journalctl, podemos visualizar de manera conjunta todos los archivos de logs ordenados por fecha.
journalctl
Visualizarlos en tiempo real.
journalctl -f
Filtrar por un servicio específico.
journalctl -u nginx.service
Filtrar los últimos.
journalctl -n 100
Configuración de logs
/etc/logrotate.conf
Hemos comentado que el sistema almacena los logs antiguos, pero no indefinidamente. La configuración general del servicio la podemos establecer en este fichero, para indicar cada cuánto tiempo creamos un fichero de log y cuánto tiempo lo dejamos sin eliminar en el sistema. Esto se ejecuta mediante una tarea programada en el sistema. Algunos de los parámetros a utilizar son:
daily | weekly | monthly | yearly = Cada cuánto se crea un fichero de log nuevo.
rotate 4 = Cuántos ficheros de log se mantienen máximo.
compress = Comprimir los ficheros de log rotados.
/etc/logrotate.d/
En este directorio encontraremos la configuración del log de los distintos servicios que se ejecutan en el sistema, y así configurar de manera independiente cada uno de ellos. Si alguno no tuviera aquí su configuración tomaría la del fichero anterior.
Enlaces transversales de Book para Syslog: Registro de eventos
Syslog: Registro de eventos escrito por Rafa Morales está protegido por una licencia Creative Commons Atribución-NoComercial-SinDerivadas 4.0 Internacional