tl; dr
No CentOS 7, você precisa ativar o armazenamento persistente de mensagens de log:
# mkdir /var/log/journal
# systemd-tmpfiles --create --prefix /var/log/journal
# systemctl restart systemd-journald
Caso contrário, as mensagens de registro de diário não serão retidas entre as inicializações.
Detalhes
Se journald
retém mensagens de log de inicializações anteriores é configurado via /etc/systemd/journald.conf
. A configuração padrão no CentOS 7 é:
[Journal]
Storage=auto
Onde a página man journald.conf explica auto
como:
One of "volatile", "persistent", "auto" and "none". If "volatile", journal log data will be stored only in memory, i.e. below the /run/log/journal hierarchy (which is created if needed). If "persistent", data will be stored preferably on disk, i.e. below the /var/log/journal hierarchy (which is created if needed), with a fallback to /run/log/journal (which is created if needed), during early boot and if the disk is not writable. "auto" is similar to "persistent" but the directory /var/log/journal is not created if needed, so that its existence controls where log data goes.
(enfatize o meu)
A página do manual systemd-journald.service afirma, portanto:
By default, the journal stores log data in /run/log/journal/. Since /run/ is volatile, log data is lost at reboot. To make the data persistent, it is sufficient to create /var/log/journal/ where systemd-journald will then store the data.
Aparentemente, o padrão era alterado no Fedora 19 (para armazenamento persistente) e como o CentOS 7 é derivado de Fedora 18 - ainda não é persistente, por padrão. A persistência é implementada por padrão fora do journald via /var/log/messages
e as versões rotacionadas /var/log/messages-YYYYMMDD
que são gravadas pelo rsyslogd (que é executado por padrão e obtém sua entrada do journald).
Assim, para habilitar o log persistente com journald sob o RHEL / CentOS 7, é necessário
# mkdir /var/log/journal
e, em seguida, corrigir as permissões e reiniciar o journald, por exemplo via
# systemd-tmpfiles --create --prefix /var/log/journal
# systemctl restart systemd-journald