Cómo ver y analizar registros en Linux con journalctl

Los mensajes de registro son importantes para auditar y mantener un sistema Linux en buen estado. Cada computadora con Linux almacena mensajes de registro para diferentes servicios o trabajos. Esta guía explorará cómo leer y analizar mensajes de registro usando journalctl , una herramienta de línea de comandos para leer mensajes de registro escritos por journald .

¿Qué es journald?

Journald es un servicio de registro del sistema que agrega mensajes de registro en un diario. Es parte del demonio systemd que es responsable del registro de eventos en Linux. El diario es simplemente un archivo binario que se utiliza para almacenar mensajes de registro generados por journald.

Los mensajes de registro de diario no son persistentes porque se almacenan en la RAM, que es una forma volátil de almacenamiento. De forma predeterminada, los registros registrados en diario se pierden o borran cada vez que su PC se reinicia o pierde energía. Linux asigna una cantidad fija de RAM a los registros registrados en el diario para evitar obstruir la memoria de su sistema.

Cómo utilizar el comando journalctl

Puede usar journalctl para consultar el diario systemd o los registros journald. El sistema indexa todos los registros de diario para mejorar la eficiencia al leer los mensajes de registro del diario.

Nota : Esta guía usa sudo para ejecutar comandos con privilegios elevados porque el comando journalctl no enumerará todos los mensajes de registro cuando lo ejecute como un usuario normal de Linux.

Ver todos los mensajes de registro

Para ver todos los registros de journald, simplemente ejecute el comando journalctl sin ningún argumento:

 sudo journalctl

El comando journalctl enumerará todos los registros de journald en su sistema en orden cronológico. El comando usa menos en segundo plano, lo que le brinda la misma capacidad de navegación que generalmente tendría con el comando less. Por ejemplo, puede navegar por los registros usando las teclas F y B en su teclado.

Si desea cambiar el orden en el que el sistema genera los registros, es decir, mostrar primero el último, puede usar el indicador -r con el comando. La bandera -r significa Reverse .

 sudo journalctl -r

Ver registros de Kernel journald

Los registros del kernel son muy importantes en Linux porque contienen información relacionada con su sistema desde el momento en que se inicia. Para ver solo los registros del kernel, especifique la marca -k con el comando journalctl:

 sudo journalctl -k

La salida también mostrará alguna información del kernel, como la versión del kernel y su nombre.

Relacionado: ¿Qué es un kernel en Linux y cómo verifica su versión?

Filtrar registros registrados por un programa específico

También puede ver los registros relacionados con un programa o servicio específico usando journalctl. Por ejemplo, para ver los registros asociados con el servicio cron , ejecute el siguiente comando:

 sudo journalctl -u cron

Ver mensajes de registro en tiempo real

A veces, es posible que desee ver los registros en tiempo real a medida que se registran. Para eso, emita el siguiente comando:

 sudo journalctl -f

Utilice el método abreviado de teclado Ctrl + C para salir de la vista en tiempo real.

Obtener mensajes de registro por fecha

Puede usar journalctl para filtrar y analizar los registros usando una marca de tiempo. Por ejemplo, para mostrar los registros desde ayer hasta ahora:

 sudo journalctl --since=yesterday

Puede ser más específico utilizando una marca de tiempo detallada "desde" y "hasta", de la siguiente manera:

 sudo journalctl --since="2021-07-17 12:00:00" --until="2021-07-17 15:00:00"

Journalctl solo mostrará los mensajes de registro durante el período especificado.

Ver mensajes de registro por UID o PID

También puede filtrar los registros por diario utilizando el ID de usuario (UID) o el ID de proceso (PID). La sintaxis básica es:

 sudo journalctl _UID=0

… donde 0 es el UID de la cuenta raíz. También puede reemplazar UID en el comando mencionado anteriormente con PID o GID (ID de grupo).

Dar formato a la salida journalctl

Para ver los registros de journalctl usando un formato de salida específico, debe usar el comando journalctl -o seguido de su formato preferido. Por ejemplo, para mostrar los registros en un bonito formato JSON, ejecute el siguiente comando:

 sudo journalctl -o json-pretty

Producción:

Relacionado: Introducción al registro del sistema en Linux

Configuración de journald en Linux

Esta guía le ha mostrado cómo ver y analizar los mensajes de registro journald en Linux usando el comando journalctl. El directorio / var / log / journal almacena todos los registros de journald. Tenga en cuenta que no todas las distribuciones de Linux tienen journald habilitado de forma predeterminada.

Puede utilizar el archivo /etc/systemd/journald.conf para configurar o realizar cambios en la configuración de journald en su PC. Además de un servicio de registro eficaz, existen varias otras herramientas que son imprescindibles si se toma en serio la seguridad de sus servidores Linux.