Howto systemd-journald
systemd-journald
journald est le composant de systemd qui
collecte et stocke les logs. Il remplace les solutions de gestion de
logs traditionnelles comme syslog.
Les logs sont stockés sous forme binaire dans le dossier
/var/log/journal/. Si ce dossier n’existe pas,
journald ne gardera des logs qu’en mémoire de manière
temporaire, ils ne seront plus écrits sur le disque.
Configuration
Par défaut, nous gardons que 7 jours de logs dans
systemd-journald :
# install --mode 644 -D <(cat <<EOF
[Journal]
MaxRetentionSec=7day
EOF
) /etc/systemd/journald.conf.d/00-evolinux-default.conf
# systemctl restart systemd-journald
Appliquer un changement de configuration
Pour recharger la configuration de systemd-journald il
faut redémarrer le service. Attention ! Il ne faut pas
arrêter puis démarrer le service. C’est expliqué dans
systemd-journald.service(8).
# systemctl restart systemd-journald
journalctl
journalctl est l’utilitaire permettant d’interagir avec
les logs collectés par journald. Il sert affiché,
rechercher, filtrer et d’analyser les logs systèmes ; ce qui avec
syslog était fait avec grep,
sort, awk, etc.
Commandes de base
Voici quelques commandes de base que l’on pourra combiner :
journalctl -u <unité>: logs d’une unitéjournalctl -b: logs depuis le dernier bootjournalctl -b-1: logs depuis l’avant-dernier boot, etc.journalctl --since "2024-02-29 13:37:00": logs depuis une certaine datejournalctl --until "2024-02-29 14:37:00": logs jusqu’à une certaine datejournalctl -f: sortie dynamique des derniers logs similaire àtail -f
