Hoy vamos a ver una herramienta muy interesante para poder hacer un chequeo de la salud de nuestro sistema Linux, y es valernos del análisis de los logs, que todo sysadmin debe conocer, y para lograr hacer esto de forma simple te muestro el comando journalctl con varios ejemplos, seguro alguno te llevas y también podes compartir los que vos usas.
Ejemplo 1: Saber la versión
journalctl --version
[root@rhel8 ~]# journalctl --version systemd 239 (239-41.el8_3.1) +PAM +AUDIT +SELINUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD +IDN2 -IDN +PCRE2 default-hierarchy=legacy [root@rhel8 ~]#
Ejemplo 2: Ver logs en tiempo real
Si lanzamos el comando directamente en la terminal nos dará una lista grande, pero vamos a aplicarle filtros y parámetros. Para ver lo que pasa en tiempo real hacemos el comando -f
journalctl -f
Ejemplo 3: Ver logs del kernel
journalctl -k
Ejemplo 4: Ver logs del boot actual
journalctl -b
Ejemplo 5: Ver logs más recientes
journalctl -r
Ejemplo 6: Ver logs de un servicio determinado con «-u Servicio»
journalctl -u sshd.service
También podemos combinar, veamos el log del servicio sshd en tiempo real
journalctl -f -u sshd.service
Ejemplo 7: Ver una cantidad n de registros, si hacemos -n nos muestra los últimos 10
journalctl -n
Pero también podemos especificar que muestre por ejemplo 30 registros
journalctl -n 30
Ejemplo 8: Ver el log de un PID específico
journalctl _PID=3475
Ejemplo 9: Ver el log de un usuario específico (UID)
journalctl _UID=1000
Ejemplo 10: Ver el log de un programa en particular, ejemplo vmtoolsd
journalctl _COMM=vmtoolsd
O combinar el comando con grep
journalctl | grep vmtoolsd
Ejemplo 11: Ver logs por fecha y hora
Ver los logs desde el día de ayer hasta hoy a las 10:00 horas.
journalctl --since 'yesterday' --until '10:00'
Ver logs de los últimos 30 minutos:
journalctl --since '30 min ago'
Ver registros desde hoy
journalctl --since today
Ver registros desde ayer a hoy
journalctl --since yesterday --until now
En un rango de fechas específico
journalctl --since='2021-04-01 00:01' --until='2021-04-07 00:01'
Podemos ver los logs de un servicio en particular entre fechas
journalctl -u sshd.service --since='2021-04-01 00:01' --until='2021-04-07 00:01'
Ejemplo 12: Ver logs por prioridad que le asigna el sistema.
Los mensajes se clasifican en función de la prioridad y tienen 7 niveles diferentes: «emerg» (0),»alert» (1), «crit» (2), «err» (3), «warning» (4), «notice» (5),»info» (6), y «debug» (7)
journalctl -p 1
Ejemplo 13: Ver log de los discos rígidos
journalctl /dev/sda
Ver el espacio que están ocupando los diferentes logs
journalctl --disk-usage
En el caso de que ese valor fuera muy grande lo podemos limitar en el archivo /etc/systemd/journald.conf.
Ejemplo 14: Enviar resultado a un archivo
journalctl -f -u sshd.service > resultado.txt
Ejemplo 15: Ver los registros de inicio con identificadores numéricos
journalctl --list-boots










