Logs del sistema
Tanto el sistema como las aplicaciones guardan los logs en el directorio /var/logs/
ahí se encuentran los diferentes archivos de logs, como por ejemplo messages
que hace referencia al sistema.
En ocasiones queremos ver logs en tiempo real y buscaremos el archivo log de la aplicación o sistema y lo visualizaremos directamente.
sudo tail -f /var/log/messages
También existen diferentes comandos para filtrar y gestionar mejor los logs como journalctl o dmesg
journalctl
Es la manera que tiene Systemctl de consultar los logs del sistema
- -S -U: permite especificar desde (since) y/o hasta cuando (until)
- YYYY-MM-DD [ HH:MM:SS], yesterday, today, tomorrow, N day ago, - / + NhMmin (-1h15min)
- -u unit: mensage de una unidad en concreto
- -k : mensajes del kernel
- -p por tipo ( emerg, alert, crit, err, warning, notice, info, debug )
- PARAM=VALUE : parametros como
_PID, _UID, _COMM
( man systemd.journal-fields )
sudo journalctl
# filtrar entre dias, o horas
sudo journalctl -S 2021-02-14 -U 2021-02-16
sudo journalctl -S today
sudo journalctl -S yesterday
sudo journalctl -S '2 day ago'
sudo journalctl -S -1h10min
# filtrar por servicio
sudo journalctl -u networking.service
# logs del kernel
sudo journalctl -k
# filtrar po tipo de alerta
sudo journalctl -p err
sudo journalctl -p warning
sudo journalctl -p emerg
sudo journalctl -p alert
sudo journalctl -p info
# filtrar por parametro
sudo journalctl _COMM=anacron
sudo journalctl _UID=1000
# filtrar los ultimos logs, con una corta esplicación
sudo journalctl -xe
dmesg
Al arrancar el sistema se muestran mensajes según se van cargando controladores o funciones del sistema. para revisarlos se usa dmesg
- -T Muestra las marcas de tiempo mas claramente
- -k solo mensajes del kernel
- -l filtra por niveles de aviso ( warn, err, etc...)
- -H salida para lectura humana, es equivalnte a
dmesg | less
Este comando es equivalente a journalctl -b -k