Systemd: rendre persistant journalctl

De Linux Server Wiki
Aller à la navigation Aller à la recherche

La commande journalctl de systemd permet d'afficher les logs complet du dernier boot. Cependant, en cas de crash/freeze du serveur, il peut être intéressant d'avoir accès aux logs (en particulier ceux du kernel) juste avant et lors du plantage. Pour cela, il faut rendre journalctl persistant.

Éditez /etc/systemd/journald.conf et modifiez la ligne Storage comme suit :

[Journal]
Storage=persistent

Puis :

mkdir /var/log/journal
systemd-tmpfiles --create --prefix /var/log/journal
systemctl restart systemd-journald

Pour afficher les logs du boot précédent :

journalctl --boot=-1

0 correspondant au boot actuel, -1 au boot précédent

Vous pouvez aussi afficher les logs d'un boot spécifique, dont vous pouvez récupérer l'id avec la commande suivante :

journalctl --list-boots

Vous pouvez réduire la période de temps affiché avec les commandes --since et --until :

journalctl --since "2019-01-10" --until "2019-01-15 03:00"
journalctl --since yesterday
journalctl --since "1 hour ago"

Pour afficher uniquement les logs kernel :

journalctl -k

Pour voir les logs les plus récents (10 par défaut) :

journalctl -n
journalctl -n 50

Pour suivre les logs en temps réel :

journalctl -f