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 parameter | Description | Example |
SystemMaxUse | Specifies the maximum disk space that can be used by the journal in persistent storage | SystemMaxUse=500M |
SystemKeepFree | Specifies the amount of space that the journal should leave free when adding journal entries to persistent storage. | SystemKeepFree=100M |
SystemMaxFileSize | Controls how large individual journal files can grow to in persistent storage before being rotated. | SystemMaxFileSize=100M |
RuntimeMaxUse | Specifies the maximum disk space that can be used in volatile storage (within the /run filesystem). | RuntimeMaxUse=100M |
RuntimeKeepFree | Specifies the amount of space to be set aside for other uses when writing data to volatile storage (within the /run filesystem). | RuntimeMaxUse=100M |
RuntimeMaxFileSize | Specifies 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