viernes, 24 de febrero de 2017

Uso básico de Journalctl

Configurar Journalctl persistente luego del reinicio

De manera default los logs que analiza Journalctl se almacenan en /run (memoria) así que son volátiles, con el siguiente cambio se espera hacerlos persistentes

mkdir /var/log/journald
chown root:systemd-journal /var/log/journald
chmod 2755 /var/log/journald
killall -USR1 systemd-journald -> reiniciar el servicio sin perder los logs en /run
Requiere instalar psmisc para disponer de killall (yum install psmisc)
Adicionalmente editar 
/etc/systemd/journald.conf
Cambiar a
Storage=persistent

Crear el directorio
systemd-tmpfiles --create --prefix /var/log/journal
Reiniciar el servicio
systemctl restart systemd-journald 


Usos básicos:
Lista reinicios:
[root@CR ~]#  journalctl --list-boots
-1 5e899c6537694b6a9f0b812774440ba1 Fri 2016-05-06 14:02:18 CST<80><94>Fri 2016-05-06 14:02:50 CST
 0 2742b6ac0d074b88b92bbad2912909bc Fri 2016-05-06 14:02:58 CST<80><94>Mon 2016-05-09 14:57:20 CST


Listar mensajes desde el último boot

journalctl -b


Listar por usuario
journalctl -u icinga2

Se puede combinar
journalctl -u icinga2 -u httpd

Se puede utilizar con el UID del usuario en el sistema
journalctl _UID=108


Listar por rango de tiempo
journalctl --since "1 hour ago"
journalctl --since "2 days ago"
journalctl --since "2015-06-26 23:15:00" --until "2015-06-26 23:20:00"

Vista en vivo
journalctl -f

Se puede combinar
journalctl -u mysql.service -f

Limitar cantidad de líneas
journalctl -n 50 --since "1 hour ago"


Imprimir resultados por prioridad
journalctl -p "crit"
journalctl -b -1  -p "crit"

Existe los siguientes Facilidades de Log 
journalctl -p 
alert    crit     debug    emerg    err      info     notice   warning

Borrar logs viejos
journalctl --vacuum-size=1G

journalctl --vacuum-time=1years
 
Reiniciar systemd
systemctl restart systemd-journald