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

  • |

    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…

  • 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 $…

  • Cómo configurar las claves SSH

    Si nos conectamos por SSH a diferentes  servidores remotos muy frecuentemente es conveniente hacerlo mediante clave publica para no tener que estar recordando las contraseñas de los servidores remotos. Además de  ser mucho mas seguro que  utilizar contraseñas. Las claves de SSH se almacenan en ~/.ssh. Debe verificarse que no existen antes de crearse unas…

  • | |

    Envio de correo con AWS EC2 Ubuntu 14.04 en WordPress

    Una manera sencilla de enviar E-mails  en una instancia AWS EC2  es un cliente ligero de SMTP como es Msmtp. Vamos a configurarlo para una cuenta de correo de Gmail. Descargamos el cliente. $ sudo apt-get install msmtp 1.Configuramos a nivel de usuario local msmtp $ nano ~/.msmtprc Y copiamos. account gmail tls on tls_certcheck…

  • |

    Filezilla Amazon EC2 Ubuntu 14.04

    Configuración de  Filezilla  con SFTP  para conectarse a una instancia Amazon EC2. Importar fichero .pem  proporcionado por Amazon. Edición-> Opciones -> Conexion -> SFTP Pulsar «Añadir archivo de clave» Buscar la clave proporcionada .pem por  Amazon. Convertir la clave  .pem  y guardar. Volver a añadir la clave convertida anteriormente de la misma manera. Crear nuevo…

  • |

    Introducción a Docker y su evolución

    Introducción a Docker y su evolución 🐳 ¿Qué es Docker? Docker es una plataforma de software que permite a los desarrolladores crear, probar y desplegar aplicaciones dentro de contenedores. Estos contenedores son entornos ligeros y autocontenidos, diseñados para ser portables entre sistemas operativos y entornos de infraestructura, independientemente de las diferencias entre estos. ¿Por qué…