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.