Aprende a usar journalctl
Anuncio:
En esta ocasión quiero mostrarte cómo usar journalctl. Todos los registros de sistema de Stystemd se guardan como registros en Jorunal.
Si ejecutamos:
journalctl
Nos mostrará todos los registros que se han producido por systemd. Podemos utilizar la opción -f
journalctl -f
Podemos filtrar por el nombre del servicio. Por ejemplo, para ver los logs del servicio CRON podemos hacerlo de la siguiente forma:
journalctl -f _COMM=crond
También podriamos hacerlo de la siguiente manera:
journalctl -u mariadb
Para ir viendo los logs conformen se van produciendo como cuando hacemos un tail -f hasta que lo paremos con Ctrl+c. Con la opción -r veremos lo mismo pero ordenado justo al reves, veremos primero los logs más recientes:
journalctl -r
Con la opción -p podemos filtrar por diferentes categorías. Podemos filtrar por err alert emgr warning crit y notice. Por ejemplo si quisieramos ver solo los logs de errores lo haríamos con:
journalctl -p err
Lo mismo podríamos hacer por ejemplo con los warnings:
journalctl -p warning
También podemos filtrar por período de tiempo con la opción –since indicando una fecha o con la opción today para ver los del día actual.
journalctl --since "2020-08-07 08:00:00"
Con esto nos mostrará los logs desde el día 7 de Agosto de 2020 a las 8 de la mañana. O como comentaba anteriormente podemos usar today:
journalctl --since today
Si queremos ver un rango de fechas podemos hacerlo combinando since con until de la siguiente forma:
journalctl --since "2020-08-07 08:00:00" --until "2020-08-07 17:00:00"
De este modo podemos ver los logs del día entre las 8 y las 5 de la tarde.
Al inicio decíamos que los logs de Journal se vacían cada vez que reiniciamos el sistema. Lo podemos configurar para que se guarden permanentemente. Esto es tan sencillo como crear el directorio /var/log/journal. De este modo nunca se eliminarán los registros. Ten encuenta dos cosas. La primera que a futuro esto te puede provocar un problema de espacio en disco. Y el segundo que este directorio debe tener los permisos correctos así que de necesitarse debería crearse de la siguiente forma (como root):
mkdir /var/log/jorunal
Una vez creado, debemos darle el propietario correcto que sería root y el grupo systemd-journal de la siguiente forma:
chown root:systemd-journal /var/log/journal
Ahora le daremos los permisos:
chmod 2775 /var/log/journal
Aquí fíjate que tenemos 4 dígitos cuando normalmente usamos 3. Tomemos primero los 3 últimos, 775 indica todos los permisos para el propietario y el grupo, y solo lectura para otros. El primer 2 indica que se le dan permisos de escritura a otros servicios que no sean root.
Ahora solo debemos reiniciar el servicio de journal con:
systemtcl restart systemd-journald
Ya sabes cómo usar journalctl. Puedes aprender más en nuestra sección de Servidores.
Espero que te haya sido de utilidad!