Systemd logging en CentOS 7: activando almacenamiento persistente y limitando su espacio en disco

Como muchos sabrán, Systemd cuenta con su propio sistema de logging llamado journal lo que permite que no tengamos corriendo un demonio syslog para nuestro sistema de logging.

Sucede que en CentOS 7, el almacenamiento persistente del registro de mensajes en Systemd no esta activado, por lo que para llevar a cabo esta acción deberemos ejecutar lo siguiente:

Crearemos el directorio con los archivos temporales para el sistema de logging en systemd:

# mkdir /var/log/journal
# systemd-tmpfiles --create --prefix /var/log/journal

Luego editamos el archivo en la ruta /etc/systemd/journal.conf y agregamos lo siguiente:

[Journal]
Storage=auto

Por ultimo, en necesario reiniciar el servicio para Systemd:

# systemctl restart systemd-journald

Realizado lo anterior, deberiamos limitar el espacio en disco del sistema de logging para Systemd, por lo que nuevamente editamos el archivo en la ruta /etc/systemd/journal.conf y agregamos el siguiente parámetro:

SystemMaxUse=100M

Editado el archivo de configuración forzamos la rotación de los log con el siguiente comando:

systemctl kill --kill-who=main --signal=SIGUSR2 systemd-journald

O bien podemos reiniciar el servicio de logging para Systemd:

systemctl restart systemd-journald

Para comprobar los cambios y comprobar cuanto tenemos ocupado de espacio en disco, ejecutamos lo siguiente:

# journalctl --disk-usage
Archived and active journals take up 56.0M on disk.

Ya con esto podemos ejecutar los comandos mas utilizados para el sistema de logging de Systemd como por ejemplo:

Filtrar la salida por servicios de Systemd: systemctl list-units -t service --all

Filtrar la salida de los mensajes en el boot del sistema: journalctl --list-boots

​Filtrar la salida de los mensajes del kernel: journalctl -k

Si conoces otra forma, o una mejor, comentalo en la caja de comentarios.