Notas sobre journal / journalctl

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)

 

Esta entrada fue publicada en journalctl, Linux. Guarda el enlace permanente.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *