by malambra

Categories

  • SysAdmin
  • docs

Tags

  • journalctl
  • linux
  • tips

Algunas notas que me resultan útiles casi a diario, sobre el uso de journalctl…

Por defecto es volátil y por lo tanto no persiste tras un reboot. Tenemos en

/run/log/journal/$ID/system.journal

Los logs de cada arranque disponible, donde $ID es un id que asigna systemd al log.

/run/log/journal/d0c4a268300a404b9cbc7a39f31a47bd/system.journal

Consultar logs disponibles.

journalctl --list-boots 
 0 bf51a6d4b1a749dfb22eb955a2764e84 lun 2017-09-25 20:49:23 CEST

Podremos ver salidas del tipo:

-3 XXXXX3 fecha ….
-2 XXXXX2 fecha ….
-1 XXXXX1 fecha ….
0 XXXXX0 fecha ….

Consultar logs de un boot determinado.

journalctl -b -3
journalctl _BOOT_ID=-3

Consultar logs del kernel.

journalctl -k

Consultar últimas entradas.

journalctl -b -k -n 10 #(Ultimas 10 entradas de logs de kernel y boot)

Logs de un proceso.

journalctl /bin/xxxx #(Full path)
journalctl _PID=XXXX

Logs de un usuario.

journalctl _UID=XXXX

Logs de un servicio.

journalctl -u httpd.service
journalctl _SYSTEMD_UNIT=httpd.service

Logs de varios servicios.

journalctl _SYSTEMD_UNIT=XX.service + _SYSTEMD_UNIT=YY.service

Establecer rangos de fecha.

--since=09:30
--until=16:25
--since='30 min ago'
--until='2 days ago'

Logs por criticidades.

journalctl -p 2
journalctl -p err


0 emergency / 1 alert / 2 crit / 3 err / 4 warn / 5 notice / 6 info / 7 debug

Logs por disco.

journalctl /dev/sda
journalctl /dev/sda1

Check espacio usado de journal.

journalctl --disk-usage
Archived and active journals take up 8.0M on disk.

Permitir journal a usuarios.

El grupo ‘adm‘ tiene acceso a journal.

usermod -a -G adm USUARIO

Configurar persistencia de logs.

mkdir -p /var/log/journal
systemd-tmpfiles --create --prefix /var/log/journal
chown root:systemd-journal /var/log/journal
chmod 2775 /var/log/journal
systemctl restart systemd-journal

Configuración general.

En el fichero:

/etc/systemd/journald.conf

Storage=

volatile –> Es volatil en /run/systemd/journal/
Persistent –> Es persistente en /var/log/journal/
Auto  –> Por defecto persistente, pero si no esta el path NO lo crea y pasa a volatil.
Nohe –> Logs a consola

Compress= –> Por defecto true Seal= –> Se crean claves para asegurar la integridad de los logs. SystemMaxUse= 50M #(Por defecto 10% de filesystem, tamaño al que rota)

Rotado manual.

journalctl --vacuum-size=2G #(Limpiar y retener 2G)
journalctl --vacuum-time=2years #(Limpiar y retener 2 años)