tl; dr
Su CentOS 7, devi abilitare l'archiviazione permanente dei messaggi di registro:
# mkdir /var/log/journal
# systemd-tmpfiles --create --prefix /var/log/journal
# systemctl restart systemd-journald
In caso contrario, i messaggi di registro del journal non vengono conservati tra gli stivali.
Dettagli
Se si journald
mantengono i messaggi di registro degli stivali precedenti è configurato tramite /etc/systemd/journald.conf
. L'impostazione predefinita in CentOS 7 è:
[Journal]
Storage=auto
Dove la pagina man journald.conf spiega auto
come:
Uno di "volatile", "persistente", "auto" e "nessuno". Se "volatile", i dati del registro journal verranno archiviati solo in memoria, ovvero sotto la gerarchia / run / log / journal (che viene creata se necessario). Se "persistente", i dati verranno archiviati preferibilmente su disco, ovvero al di sotto della gerarchia / var / log / journal (che viene creata se necessario), con un fallback a / run / log / journal (che viene creato se necessario), durante avvio anticipato e se il disco non è scrivibile. " auto " è simile a "persistente" ma la directory / var / log / journal non viene creata se necessario, quindi la sua esistenza controlla dove vanno i dati di registro .
(sottolinea il mio)
La pagina man systemd-journald.service afferma quindi che:
Per impostazione predefinita, il journal memorizza i dati di log in / run / log / journal /. Poiché / run / è volatile, i dati di registro vengono persi al riavvio. Per rendere persistenti i dati, è sufficiente creare / var / log / journal / dove systemd-journald memorizzerà i dati.
Apparentemente, il valore predefinito è stato modificato in Fedora 19 (in memoria persistente) e poiché CentOS 7 è derivato da Fedora 18 - è ancora non persistente lì, per impostazione predefinita. La persistenza è implementata di default al di fuori di journald via /var/log/messages
e delle versioni ruotate /var/log/messages-YYYYMMDD
che sono scritte da rsyslogd (che gira di default e ottiene il suo input da journald).
Pertanto, per abilitare la registrazione persistente con journald in RHEL / CentOS 7 è necessario
# mkdir /var/log/journal
e quindi correggere le autorizzazioni e riavviare journald, ad esempio tramite
# systemd-tmpfiles --create --prefix /var/log/journal
# systemctl restart systemd-journald
systemctl restart systemd-journald
dovrebbe farlo. Quindi non è necessario il riavvio.