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 journald
conservan 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 auto
como:
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/messages
y las versiones rotadas /var/log/messages-YYYYMMDD
que 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-journald
deberí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.USR1
señal en lugar de reiniciar, no pierdes el contenido actual del diario.killall -USR1 systemd-journald
Puede 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/journal
despuésmkdir /var/log/journal
Ver también :
systemd-journal
no podían leer algunos archivos de diariofuente
chmod 4755 /var/log/journal; chown root:systemd-journal !:2
funciona bien. pero tmpfiles: use magia ACL en directorios de revistas