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