tl; dr
En CentOS 7, debe habilitar el almacenamiento persistente de mensajes de registro:
# mkdir /var/log/journal
# systemd-tmpfiles --create --prefix /var/log/journal
# systemctl restart systemd-journald
De lo contrario, los mensajes de registro de diario no se retienen entre las botas.
Detalles
Si se journaldconservan los mensajes de registro de las botas anteriores se configura a través de /etc/systemd/journald.conf. La configuración predeterminada en CentOS 7 es:
[Journal]
Storage=auto
Donde la página del manual journald.conf explica autocomo:
Uno de "volátil", "persistente", "automático" y "ninguno". Si es "volátil", los datos del registro del diario se almacenarán solo en la memoria, es decir, debajo de la jerarquía / run / log / journal (que se crea si es necesario). Si es "persistente", los datos se almacenarán preferiblemente en el disco, es decir, debajo de la jerarquía / var / log / journal (que se crea si es necesario), con un respaldo a / run / log / journal (que se crea si es necesario), durante arranque temprano y si el disco no es grabable. " auto " es similar a "persistente" pero el directorio / var / log / journal no se crea si es necesario, de modo que su existencia controla dónde van los datos de registro .
(enfatizar el mío)
La página del comando man systemd-journald.service indica que:
Por defecto, el diario almacena datos de registro en / run / log / journal /. Como / run / es volátil, los datos de registro se pierden al reiniciar. Para que los datos sean persistentes, es suficiente crear / var / log / journal / donde systemd-journald almacenará los datos.
Aparentemente, el valor predeterminado se cambió en Fedora 19 (para almacenamiento persistente) y dado que CentOS 7 se deriva de Fedora 18, todavía no es persistente allí, de manera predeterminada. La persistencia se implementa por defecto fuera de journald vía /var/log/messagesy las versiones rotadas /var/log/messages-YYYYMMDDque están escritas por rsyslogd (que se ejecuta por defecto y obtiene su entrada de journald).
Por lo tanto, para habilitar el registro persistente con journald bajo RHEL / CentOS 7, uno tiene que
# mkdir /var/log/journal
y luego corrige los permisos y reinicia el diario, por ejemplo
# systemd-tmpfiles --create --prefix /var/log/journal
# systemctl restart systemd-journald
systemctl restart systemd-journalddebería hacerlo. Por lo tanto, no se requiere reiniciar./usr/share/doc/systemd/README.Debian:install -d -g systemd-journal /var/log/journal.drwxr-sr-x. 3 root systemd-journal- quizás journald corrige los permisos / propiedad durante la inicialización.USR1señal en lugar de reiniciar, no pierdes el contenido actual del diario.killall -USR1 systemd-journaldPuede perder sus registros: consulte https://github.com/systemd/systemd/issues/2236
Hay un cambio en
v208:Entonces, deberías ejecutar algo como
systemd-tmpfiles --create --prefix /var/log/journaldespuésmkdir /var/log/journalVer también :
systemd-journalno podían leer algunos archivos de diariofuente
chmod 4755 /var/log/journal; chown root:systemd-journal !:2funciona bien. pero tmpfiles: use magia ACL en directorios de revistas