Cómo usar Journalctl para leer los registros del sistema Linux

Durante muchos años, los registros del sistema y del kernel fueron manejados por una utilidad llamada syslogd. La mayoría de los sistemas operativos basados en Linux han migrado a systemd, que viene con un demonio de registro diferente, journald. Para interactuar con estos registros, utilizas la utilidad journalctl.
Dar permiso al usuario para leer los registros del sistema
Sólo los usuarios que pertenecen a los grupos “adm” o “systemd-journal” pueden leer los registros de systemd. Distribuciones como Ubuntu ya te añaden como usuario al grupo adm.
Abre un emulador de terminal y escribe el siguiente comando:
groups
Si ves “adm” o “systemd-journal” en la salida, puedes saltarte el resto de los pasos de esta sección. Si no, añádete al grupo “adm”.
sudo adduser $USER admTendrás que reiniciar tu sesión de inicio para que este cambio tenga efecto (cierra sesión y vuelve a iniciar). Si no puedes hacerlo por diversas razones, utiliza este comando para iniciar sesión en el nuevo grupo sin reiniciar la sesión gráfica.
newgrp admNo cierres la ventana del terminal. Ahora eres parte del grupo adm – en la sesión del terminal, pero no en tu sesión gráfica. Si abres un nuevo terminal en este momento, tu usuario no estará iniciado en el grupo adm.
Verificar si el diario es persistente
Los registros de systemd pueden ser persistentes o volátiles. En Ubuntu y otras distribuciones, son persistentes por defecto. En Debian 9, son volátiles, lo que significa que se mantienen solo en la memoria (no en el disco) y desaparecen al apagar o reiniciar. Ingresa el siguiente comando.
journalctl --list-boots
Si hay múltiples entradas aquí, no tienes que hacer nada más. Significa que los diarios se mantienen en el disco (persistente). Si solo obtienes una entrada, entonces el diario es volátil. Cambia a persistente.
sudosed-i'/Storage/ c\Storage=persistent'/etc/systemd/journald.confSeleccionar qué entrada de arranque del diario ver
Por lo general, querrás ver el registro del arranque actual. En raras ocasiones querrás ver el arranque anterior, cuando algo salió mal, por ejemplo, después de un fallo del sistema.
Para ver el registro del arranque actual:
journalctl -b0
Para el arranque anterior, usa “-1” en lugar de “0”, y para hace dos arranques, “-2” y así sucesivamente.
journalctl -b-1Navegar y buscar a través del diario del sistema
Después de que abras el registro con journalctl, puedes navegar por el texto con las teclas de flecha y las teclas PAGE UP o PAGE DOWN. Otras teclas útiles son:
para ir al final de la salida.
- < para ir al principio de la salida.
- / para buscar una cadena de texto. Después de presionar la tecla de barra, ingresa la cadena que deseas encontrar, seguida de Enter. La cadena es sensible a mayúsculas, por lo que “network” no encontrará cadenas “Network”. La búsqueda comienza desde tu posición de vista actual, hacia abajo. Para buscar hacia arriba, usa ?.
- n para encontrar la siguiente coincidencia en una búsqueda actual. N encuentra la anterior.
- q para salir de la utilidad journalctl.

Filtrar entradas de registro por prioridad
A veces, solo deseas buscar errores, ignorando notificaciones y mensajes de estado. Cada entrada en un registro tiene una prioridad: emergencia, alerta, crítica, error, advertencia, notificación, info. Estos se listan en orden de importancia, siendo emergencia reservada para los peores escenarios (sistema inutilizable). Los mensajes de info son solo texto informativo, reportando el estado de programas que funcionan normalmente.
Para mostrar solo mensajes de error del arranque actual, ingresa:
journalctl -b0-p err
Si quieres ver errores de todos los arranques, simplemente elimina el parámetro “-b”:
journalctl -p errEstos son los códigos que puedes pasar al parámetro “-p”:
- alert
- crit
- debug
- emerg
- err
- info
- notice
- warning
Filtrar entradas de registro por ruta al archivo ejecutable del proceso o unidad systemd
Algunos procesos son iniciados y gestionados por las llamadas unidades de systemd. Para ver todos los registros relacionados con la unidad del servicio cron, ingresa:
journalctl -u cron.servicePuedes ver qué unidades tienes disponibles con:
systemctl list-dependencies
Puedes navegar la lista con las teclas de flecha arriba y abajo. Presiona q para salir.
Si prefieres usar la ruta al archivo ejecutable del programa (binario), simplemente pasa su ruta completa como argumento.
journalctl /usr/sbin/cronNo olvides que también puedes filtrar por la entrada de arranque actual para deshacerte de mensajes innecesarios.
journalctl -b0/usr/sbin/cronConclusión
Journalctl tiene como objetivo facilitar la búsqueda de lo que estás buscando. Si deseas aprender sobre más parámetros avanzados que puedes utilizar, consulta la página del manual del comando journalctl.