Búsqueda de sitios web

Una guía para el proceso de limpieza del diario systemd [con ejemplos]


Systemd viene con muchas funciones integradas para administrar los registros del sistema. En esta guía, explicamos cómo puede administrar los diarios y registros del sistema y tomar medidas al respecto, como rotar, archivar y borrar registros. También explicamos el método de limpieza manual del diario del sistema y el uso de cambios en el archivo de configuración. .

Si su distribución de Linux es compatible con systemd, recopila registros de todos los procesos y aplicaciones del sistema cada segundo desde el inicio. Todos estos eventos de registro son administrados por el demonio journald de systemd. El diario recopila todos los registros (información, advertencias, errores, etc.) y los almacena como datos binarios en los archivos del disco.

Como los registros permanecen en el disco y cada segundo que se recopilan, ocupan una gran cantidad de espacio en el disco; especialmente para sistemas y servidores más antiguos. Por ejemplo, en uno de mis sistemas de prueba que estuvo funcionando durante aproximadamente un año, el tamaño del archivo de registro está en GB.

Si administra varios sistemas y servidores, siempre se recomienda administrar adecuadamente los registros diarios para un funcionamiento eficiente. Echemos un vistazo a cómo puede administrar los archivos de registro.

El mantenimiento del diario systemd

Con la utilidad journalctl de systemd, puede consultar estos registros y realizar varias operaciones en ellos. Por ejemplo, ver los archivos de registro de diferentes arranques, verificar las últimas advertencias, errores de un proceso o aplicaciones específicas. Si no los conoce, le sugiero que lea rápidamente este tutorial: “use journalctl para ver y analizar registros de Systemd [con ejemplos]” antes de seguir esta guía.

¿Dónde están los archivos de registro del diario físico?

El demonio journald de systemd recopila registros de cada arranque. Eso significa que clasifica los archivos de registro según el inicio.

Los registros se almacenan como binario en la ruta /var/log/journal con una carpeta como identificación de la máquina.

Por ejemplo:

Captura de pantalla del archivo de diario físico -1

Captura de pantalla de archivos de diario físico -2

Además, recuerde que, según la configuración del sistema, los archivos de diario de tiempo de ejecución se almacenan en /run/log/journal/. Y estos se quitan en cada arranque.

¿Puedo eliminar manualmente los archivos de registro?

Puedes, pero no lo hagas. En su lugar, siga las instrucciones a continuación para borrar los archivos de registro y liberar espacio en el disco utilizando las utilidades journalctl.

¿Cuánto espacio en disco utilizan los archivos de registro de systemd?

Abra una terminal y ejecute el siguiente comando.

journalctl --disk-usage

Esto debería proporcionarle cuánto utilizan realmente los archivos de registro de su sistema.

comando de uso del disco journalctl

Si tiene un entorno de escritorio gráfico, puede abrir el administrador de archivos y buscar la ruta /var/log/journal y verificar las propiedades.

proceso de limpieza del diario systemd

La forma efectiva de borrar los archivos de registro debe realizarse mediante journald.conf un archivo de configuración. Idealmente, no debería eliminar manualmente los archivos de registro incluso si journalctl proporciona la utilidad para hacerlo.

Echemos un vistazo a cómo puedes eliminarlo manualmente, luego te explicaré los cambios de configuración en journald.conf para que no necesites eliminar manualmente los archivos de vez en cuando; En cambio, systemd se encarga de ello automáticamente según su configuración.

Eliminación manual

Primero, debe vaciar y rotar los archivos de registro. Rotar es una forma de marcar los archivos de registro activos actuales como un archivo y crear un archivo de registro nuevo a partir de ese momento. El interruptor de vaciado le pide al demonio de diario que vacíe cualquier dato de registro almacenado en /run/log/journal/ en /var/log/journal/, si el almacenamiento persistente está habilitado.

Luego, después de vaciar y rotar, debe ejecutar journalctl con los modificadores vacuum-size, vacuum-time y vacuum-files para forzar systemd. para borrar los registros.

Ejemplo 1:

sudo journalctl --flush --rotate
sudo journalctl --vacuum-time=1s

El conjunto de comandos anterior elimina todos los archivos de registro de diario archivados hasta el último segundo. Esto efectivamente borra todo. Por lo tanto, tenga cuidado al ejecutar el comando.

limpieza del diario – ejemplo

Después de la limpieza:

Después de la limpieza: uso del espacio del diario

También puede proporcionar los siguientes sufijos según sus necesidades después del número.

  • s: segundos
  • m: minutos
  • horas: horas
  • días
  • meses
  • semanas
  • años

Ejemplo 2:

sudo journalctl --flush --rotate
sudo journalctl --vacuum-size=400M

Esto borra todos los archivos de registro de diario archivados y conserva los últimos archivos de 400 MB. Recuerde que este cambio se aplica únicamente a los archivos de registro archivados, no a los archivos de diario activos. También puede utilizar sufijos como se muestra a continuación.

  • K: KB
  • M:MB
  • G:GB

Ejemplo 3:

sudo journalctl --flush --rotate
sudo journalctl --vacuum-files=2

El interruptor de archivos vacíos borra todos los archivos de diario debajo del número especificado. Entonces, en el ejemplo anterior, solo se conservan los 2 últimos archivos de diario y se elimina todo lo demás. Nuevamente, esto sólo funciona con los archivos archivados.

Puedes combinar los interruptores si quieres, pero recomendaría no hacerlo. Sin embargo, asegúrese de ejecutar primero con el interruptor --rotate.

Eliminación automática mediante archivos de configuración

Si bien los métodos anteriores son buenos y fáciles de usar, se recomienda que controle el proceso de limpieza del archivo de registro de diario utilizando los archivos de configuración de diario que se encuentran en /etc/systemd/journald.conf.

Systemd proporciona muchos parámetros para que pueda administrar eficazmente los archivos de registro. Al combinar estos parámetros, puede limitar eficazmente el espacio en disco utilizado por los archivos de diario. Vamos a ver.

journald.conf parameterDescriptionExample
SystemMaxUseSpecifies the maximum disk space that can be used by the journal in persistent storageSystemMaxUse=500M
SystemKeepFreeSpecifies the amount of space that the journal should leave free when adding journal entries to persistent storage.SystemKeepFree=100M
SystemMaxFileSizeControls how large individual journal files can grow to in persistent storage before being rotated.SystemMaxFileSize=100M
RuntimeMaxUseSpecifies the maximum disk space that can be used in volatile storage (within the /run filesystem).RuntimeMaxUse=100M
RuntimeKeepFreeSpecifies the amount of space to be set aside for other uses when writing data to volatile storage (within the /run filesystem).RuntimeMaxUse=100M
RuntimeMaxFileSizeSpecifies the amount of space that an individual journal file can take up in volatile storage (within the /run filesystem) before being rotated.RuntimeMaxFileSize=200M

Si agrega estos valores en un sistema en ejecución en el archivo /etc/systemd/journald.conf, deberá reiniciar el diario después de actualizar el archivo. Para reiniciar utilice el siguiente comando.

sudo systemctl restart systemd-journald

Verificación de archivos de registro

Es más prudente comprobar la integridad de los archivos de registro después de limpiarlos. Para hacer eso, ejecute el siguiente comando. El comando muestra PASA, FALLA en el archivo de diario.

journalctl --verify

verificar archivos de registro

Notas finales

Espero que esta guía le ayude a comprender los conceptos básicos del proceso de gestión de diarios de systemd. Con estos, puede administrar el espacio en disco utilizado por los archivos de registro en su sistema o servidores limitando el espacio y borrando los archivos de registro antiguos. Estos son solo los comandos guía; puede combinarlos de múltiples maneras para satisfacer las demandas de su sistema.

  • manual de diarioctl
  • manual de diario.conf

Artículos relacionados