Limitar Tamaño Journal Linux

El «journal» en el contexto de los sistemas Linux, especialmente en aquellos que utilizan systemd, se refiere al journaling de systemd, una parte integral de systemd llamada systemd-journald. Este servicio maneja la recopilación y almacenamiento de logs de diagnóstico, eventos de sistema y mensajes de los programas. Aquí te explico más detalladamente:

Funciones principales del systemd journal

  1. Centralización de Logs: systemd-journald centraliza la gestión de logs, recolectando información de diversos componentes del sistema, incluyendo el núcleo (kernel), programas iniciados durante el arranque y aplicaciones que corren en el sistema.
  2. Estructura Binaria: A diferencia de muchos sistemas tradicionales de logs que utilizan texto plano, el journal de systemd almacena los datos en un formato binario. Esto permite características avanzadas como la indexación rápida, consultas eficientes y la posibilidad de incluir metadatos extensivos junto con cada entrada.
  3. Persistencia y Volatilidad: Por defecto, en muchas distribuciones, los logs se almacenan en memoria y en disco. La configuración de persistencia (guardar logs entre reinicios) se puede ajustar modificando la configuración del servicio systemd-journald.
  4. Seguridad y Accesibilidad: El journal ofrece capacidades para restringir quién puede ver los logs basados en los metadatos de las unidades y los servicios que generaron esos logs. Además, debido a su formato binario, se puede controlar más fácilmente la manipulación de los logs.
  5. Interfaz Unificada para Logs: journalctl es la herramienta utilizada para interactuar con el journal. Permite a los administradores y a las aplicaciones consultar y manipular logs con comandos sencillos y opciones de filtrado potentes.

Para prevenir la acumulación futura, puedes configurar el systemd-journald para que limite el espacio que los archivos de journal pueden ocupar. Edita el archivo de configuración con:

sudo nano /etc/systemd/journald.conf

Y busca o añade las siguientes líneas para establecer un tamaño máximo (por ejemplo, 1 GB):

SystemMaxUse=1G

Otra opción es habilitar la compresión de los logs para ahorrar espacio. Esto se puede configurar también en el archivo journald.conf con la opción:

Compress=yes
sudo systemctl restart systemd-journald
systemctl status systemd-journald

Para asegurarte de que el espacio de log se está gestionando correctamente, puedes monitorizar el uso del espacio en /var/log/journal/ usando el comando du o revisar periódicamente los logs con journalctl. Por ejemplo, para ver el tamaño actual de los logs almacenados, puedes usar:

du -sh /var/log/journal/

Y para verificar los logs más recientes y asegurarte de que el sistema esté purgando los más antiguos correctamente, puedes usar:

journalctl --disk-usage

Estas herramientas te darán una buena idea de cómo systemd-journald está manejando el almacenamiento de logs bajo las nuevas configuraciones.

Publicaciones Similares

  • Instalar Docker CE en Ubuntu 16.04

    Vamos a instalar la última versión estable de Docker desde los repositorios oficiales. Empecezamos actualizando el sistema operativo. $ sudo apt-get update && sudo apt-get upgrade Descargamos la clave GPG $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add – Añadimos el repositorio de docker $ sudo add-apt-repository «deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable» Actualizamos $…

  • |

    Atom Editor + SFTP

    Vamos a modificar un archivo de WordPress directamente en el servidor Web utilizando el editor Atom. Descargamos e instalamos Atom. Accedemos a la configuración pulsando «CTRL + , « Vamos a Install y buscamos «remote-edit» e instalamos . Vamos a packages, remote-edit, add new host(sftp). Rellenamos los campos y save.   5. Pulsamos «Alt+Ctrl+B». Elegimos…

  • |

    IP estática Ubuntu 14.04 consola

    Editamos el archivo «/etc/network/interfaces». $ sudo cp /etc/network/interfaces /etc/network/interfaces.backup $ sudo nano /etc/network/interfaces Añadimos una Ip estática y los DNS de google. auto eth0 iface eth0 inet static address 192.168.1.132 netmask 255.255.255.0 gateway 192.168.1.1 dns-nameservers 8.8.8.8 8.8.4.4 $ sudo ifdown eth0 $ sudo ifup eth0 Verificamos. $ ifconfig -a  

  • |

    Red en Docker

    Mapeo de puertos  en docker  puerto host:puerto docker $ sudo docker run -d –name nginx2 -p 8080:80 nginx $sudo docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES cb10b610eef0 nginx «nginx -g ‘daemon of…» 51 seconds ago Up 50 seconds 0.0.0.0:8080->80/tcp nginx2 Mapea un puerto aleatorio del host $ sudo docker run -d -P…

  • |

    Docker Compose

    Docker compose es un orquestador de contenedores para gestionar diferentes microservicios. Para instalar Docker Compose vamos a la documentación y elegimos linux. En este momento  la  versión es  la 1.21.2  y el comando para instalarlo es : $ sudo curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose % Total % Received % Xferd Average Speed Time Time…