Saltar al contenido principal

Trabajo básico con journald

· 2 min de lectura
Customer Care Engineer

read-journald-logs-and-learn-how-to-clear-it

Journald es un sistema de registro utilizado en los sistemas operativos modernos basados en Linux para registrar eventos del sistema. Recopila información sobre el funcionamiento de diversos servicios, aplicaciones y procesos del sistema para ayudar a los administradores a supervisar el estado del sistema y diagnosticar errores.

A diferencia de los registros de texto estándar, journald almacena los datos en formato binario. Esto permite que los registros se almacenen de forma más compacta y se gestionen de manera más eficiente, pero al mismo tiempo, no puedes abrir estos registros directamente en un editor de texto. Se requieren herramientas especiales para verlos y analizarlos.

En este artículo, veremos cómo ver los registros mantenidos por journald y cómo limpiarlos para ahorrar espacio en disco.


Cómo ver registros de journal​

Para leer registros, usa el comando journalctl:

  • Todos los registros:
sudo journalctl
  • Registros desde el último reinicio:
sudo journalctl -b
  • Registros de un servicio específico:
sudo journalctl -u nginx
  • Registros de un día específico:
sudo journalctl --since "2024-11-01" --until "2024-11-02"
  • Ver las últimas n entradas (por ejemplo, las últimas 100):
sudo journalctl -n 100
  • Filtrar por nivel de prioridad (por ejemplo, para errores):
sudo journalctl -p err
  • Ver las entradas del journal en orden inverso, comenzando por las más recientes (útil cuando necesitas ver las entradas de registro más recientes rápidamente):
sudo journalctl -r
  • Ver las entradas del journal en tiempo real (similar a tail -f):
sudo journalctl -f

Puedes combinar estas opciones. Por ejemplo, para mostrar todos los errores del servicio nginx el 10 de noviembre de 2024, mostrando solo las últimas 10 entradas:

sudo journalctl -u nginx --since "2024-11-10" --until "2024-11-10 23:59:59" -n 10

Cómo limpiar el Journal​

Si los registros ocupan demasiado espacio, puedes usar los siguientes comandos para limpiarlos:

  • Limpiar registros antiguos (por ejemplo, más antiguos de 7 días):
sudo journalctl --vacuum-time=7d
  • Limpiar registros que excedan un tamaño especificado (por ejemplo, 1 GB):
sudo journalctl --vacuum-size=1G
  • Limpiar completamente todos los registros:
sudo journalctl --vacuum-files=0

Cómo reducir el tamaño del Journal​

Por defecto, journald puede ocupar mucho espacio en disco si los registros no están limitados. Para establecer un tamaño máximo para los registros, abre el archivo de configuración journald.conf:

sudo nano /etc/systemd/journald.conf

En este archivo, puedes configurar los siguientes parámetros:

  • SystemMaxUse — el tamaño máximo para todos los journals:
SystemMaxUse=1G
  • RuntimeMaxUse — el tamaño máximo para los journals temporales:
RuntimeMaxUse=500M
  • MaxRetentionSec — el tiempo máximo para retener los registros:
MaxRetentionSec=1month

Establece valores adecuados para tu sistema y necesidades, luego guarda el archivo usando Ctrl + O y sal del editor usando Ctrl + X.

Para aplicar los cambios, reinicia el servicio journald:

sudo systemctl restart systemd-journald

También puedes habilitar el registro en RAM o incluso deshabilitarlo por completo. Ninguna de estas opciones se recomienda en un entorno de producción, ya que el journal contiene información de diagnóstico importante. Su precisión y relevancia son cruciales para el diagnóstico adecuado de los procesos en tu servidor.

Si aún deseas activar el almacenamiento del journal en RAM, establece el siguiente valor en /etc/systemd/journald.conf:

Storage=volatile

Para deshabilitar completamente el registro, especifica:

Storage=none