SDB:Systemd journal

Saltar a: navegación, buscar

Systemd tiene un sistema de registros (log) propio llamado journal. Ya no es necesario el demonio syslog. Para leer el registro se utiliza el comando:

  celebi:~ # journalctl

Por defecto (cuando el valor de Storage es auto en /etc/systemd/journald.conf), journal escribe en /var/log/journal/. Si el directorio /var/log/journal/ no existe (como en la configuración por defecto de openSUSE), systemd no lo crea de forma automática, sino que escribe los registros en /run/systemd/journal. Asi que los registros se perderán al reiniciar.

Filtrar la salida

journalctl permite filtrar los resultados por campos específicos. Ejemplo: Mostrar todos los mensajes del arranque:

  celebi:~ # journalctl -b

Sin embargo, a veces a uno le interesan no los mensajes actuales, sino los mensajes desde el arranque anterior. Para solucionar este problema, de momento, se puede utilizar este argumento:

  celebi:~ # journalctl --since=today | tac | sed -n '/-- Reboot --/{n;:r;/-- Reboot --/q;p;n;b r}' | tac

entendiéndose que el arranque anterior se cuenta a partir de hoy. Mostrar los mensajes nuevos en tiempo real:

  celebi:~ # journalctl -f

Mostrar todos los mensajes de un ejecutable específico:

  celebi:~ # journalctl /usr/lib/systemd/systemd

Mostrar todos los mensajes de un proceso específico:

  celebi:~ # journalctl _PID=1

Mostrar todos los mensajes de unidad específica:

  celebi:~ # journalctl -u netcfg

Límite del tamaño de journal

Si journal se ha configurado como permanente (no volátil), el límite de su tamaño máximo debe configurarse en la variable SystemMaxUse del archivo /etc/systemd/journald.conf, por lo que, para limitarlo, por ejemplo, a 100 MB, hay que descomentar y modificar la línea correspondiente a: SystemMaxUse=100M

Usar journal sin syslog

Por defecto, openSUSE usa journal y rsyslog, para pasar a utilizar unicamente journal se debe instalar el paquete systemd-logger

celebi:~ # zypper in systemd-logger
Retrieving repository 'packman' metadata ....................................................................................................................................................................................................[done]
Building repository 'packman' cache ..............................................................................................................................................................................................................[done]
Loading repository data...
Reading installed packages...
Resolving package dependencies...

Problem: systemd-logger-195-13.29.1.x86_64 conflicts with namespace:otherproviders(syslog) provided by rsyslog-7.2.7-2.5.1.x86_64
 Solution 1: deinstallation of rsyslog-7.2.7-2.5.1.x86_64
 Solution 2: do not install systemd-logger-195-13.29.1.x86_64

Choose from above solutions by number or cancel [1/2/c] (c): 1
Resolving dependencies...
Resolving package dependencies...

The following NEW package is going to be installed:
  systemd-logger 

The following package is going to be REMOVED:
  rsyslog 

1 new package to install, 1 to remove.
Overall download size: 92.2 KiB. After the operation, 1.8 MiB will be freed.
Continue? [y/n/?] (y): y
Retrieving package systemd-logger-195-13.29.1.x86_64                                                                                                                                                          (1/1),  92.2 KiB (  1.6 KiB unpacked)
Retrieving: systemd-logger-195-13.29.1.x86_64.rpm .........................................................................................................................................................................................[done (31.3 KiB/s)]
(1/2) Removing rsyslog-7.2.7-2.5.1 .........................................................................................................................................................................................................................................[done]
(2/2) Installing: systemd-logger-195-13.29.1 ..........................................................................................................................................................................................................................[done]
There are some running programs that use files deleted by recent upgrade. You may wish to restart some of them. Run 'zypper ps' to list these programs.
celebi:~ #