Par défaut les logs système sont stockés dams /run/log
et sont supprimés après un redémarrage mais il est possible d’y remédier en configurant le service systemd-journald
via le fichier /etc/systemd/journald.conf
.
Fichier /etc/systemd/journald.conf
Le paramètre Storage
du fichier /etc/systemd/journald.conf
définit si les logs système doivent être volatils ou persistants :
persistent
: stocke les logs dans le répertoire persistant/var/log/journal
volatile
: stocke les logs dans le répertoire volatil/run/log/journal
auto
:- si
/var/log/journal
existe = stockage persistant - si
/var/log/journal
existe pas = stockage volatil (action par défaut)
- si
none
: n’utilise aucun stockage, les logs sont upprimés mais possibilité de les transférer
Fichier /etc/systemd/journald.conf
:
# cat /etc/systemd/journald.conf |
# This file is part of systemd. |
Même avec des logs persistants, les données ne sont pas éternellement conservées, cela est dû au logrotate
: les logs ne dépassent pas les 10 % de taille système ou moins de 15 % de libre.
Ces paramètres peuvent être modifiés (etrait du MAN journald.conf
) :
- Espace disque que
systemd-journald
peut utiliser au maximum :SystemMaxUse
RuntimeMaxUse
- Espace disque que
systemd-journald
doit laisser libre, la plus petite des deux valeurs est prioritaire :SystemKeepFree
RuntimeKeepFree
Fichier /etc/systemd/journald.conf
complet :
# cat /etc/systemd/journald.conf |
[Journal] |
Pour voir les limites actuelles de taille des logs :
# journalctl | grep -E 'Runtime log|System log' |
Configurer des logs persistants
Pour que les logs soient persistants en cas de rédémarrage système, il faut suivre cette procédure :
Créer un répertoire /var/log/journal
:
# mkdir /var/log/journal |
Modifier le paramètre Storage
sur la valeur persistent
dans /etc/systemd/journald.conf
# This file is part of systemd. |
Redémarrer le service systemd-journald
:
# systemctl restart systemd-journald |
Pour vérifier :
# ls /var/log/journal/45ab8515fgfafacb64h59874bc654654 |
Afficher et filtrer les logs de redémarrage
Afficher les logs à partir du 1er démarrage du système :
# journalctl -b 1 |
Afficher les logs à partir du 2ème démarrage du système :
# journalctl -b 2 |
Afficher tous les logs liées à un démarrage du système :
# journalctl --list-boots |
Afficher les logs à partir du démarrage actuel du système :
# journalctl -b |
Afficher les logs à partir du démarrage précédent du système :
# journalctl -b -1 |
/!\ Résumé des commandes
Commandes :
# journalctl // Affiche les logs perdus |
Configurer des logs persistants :
# mkdir /var/log/journal |
# vim /etc/systemd/journald.conf |
# systemctl restart systemd-journald |
# ls /var/log/journal/ |
Fichiers :
/run/log // répertoire de logs volatil |
Cas pratique
Pour conserver les journaux après un redémarrage, création du répertoire /var/log/journal
:
[aline@SERVER01 ~]$ sudo mkdir /var/log/journal |
Configurer le fichier /etc/systemd/journald.conf
et modifier le paramètre Storage
sur persistent
:
[...] |
Redémarrage de systemd-journald
pour appliquer la configuration :
[aline@SERVER01 ~]$ sudo systemctl restart systemd-journald.service |
Après un Redémarrez, les logs sont maintenant conservés :
[aline@SERVER01 ~]$ sudo systemctl reboot |
[aline@SERVER01 ~]$ sudo ls -l /var/log/journal/ |
Documentation
MAN systemd-journald.conf(5)
MAN systemd-journald(8)
https://www.freedesktop.org/software/systemd/man/latest/journald.conf.html