tl; dr
Sur CentOS 7, vous devez activer le stockage persistant des messages de journal:
# mkdir /var/log/journal
# systemd-tmpfiles --create --prefix /var/log/journal
# systemctl restart systemd-journald
Sinon, les messages du journal ne sont pas conservés entre les démarrages.
Détails
La journald
conservation des messages de journal des démarrages précédents est configurée via /etc/systemd/journald.conf
. Le paramètre par défaut sous CentOS 7 est:
[Journal]
Storage=auto
Où la page de manuel journald.conf s’explique auto
comme suit :
Un de "volatile", "persistant", "auto" et "aucun". Si "volatile", les données du journal du journal seront uniquement stockées en mémoire, c'est-à-dire en dessous de la hiérarchie / run / log / journal (qui est créée si nécessaire). Si elles sont "persistantes", les données seront stockées de préférence sur le disque, c'est-à-dire sous la hiérarchie / var / log / journal (créée le cas échéant), avec un repli sur / run / log / journal (créé le cas échéant), pendant démarrage anticipé et si le disque n’est pas accessible en écriture. " auto " est similaire à "persistant" mais le répertoire / var / log / journal n'est pas créé si nécessaire, de sorte que son existence contrôle l'emplacement où les données du journal vont .
(souligne le mien)
La page de manuel systemd-journald.service indique ainsi que:
Par défaut, le journal stocke les données de journal dans / run / log / journal /. Depuis / run / est volatile, les données du journal sont perdues au redémarrage. Pour rendre les données persistantes, il suffit de créer / var / log / journal / où systemd-journald stockera ensuite les données.
Apparemment, la valeur par défaut a été modifiée dans Fedora 19 (en stockage persitent) et, étant donné que CentOS 7 est dérivé de Fedora 18, il n'y est toujours pas conservé, par défaut. La persistance est implémentée par défaut en dehors de journald via /var/log/messages
et les versions /var/log/messages-YYYYMMDD
pivotées qui sont écrites par rsyslogd (qui s'exécute par défaut et reçoit son entrée de journald).
Ainsi, pour permettre la journalisation persistante avec journald sous RHEL / CentOS 7, il faut
# mkdir /var/log/journal
puis corrigez les autorisations et redémarrez journald, par exemple via
# systemd-tmpfiles --create --prefix /var/log/journal
# systemctl restart systemd-journald
systemctl restart systemd-journald
devrait le faire. Donc, aucun redémarrage requis.