0x0i.journald
Rol de Ansible :signal_strength: :page_with_curl: Journald
Tabla de Contenidos
- Plataformas Soportadas
- Requisitos
- Variables del Rol
- Dependencias
- Ejemplo de Playbook
- Licencia
- Información del Autor
Rol de Ansible que instala y configura Journald: un servicio del sistema que recopila y almacena datos de registro.
Plataformas Soportadas:
* Debian
* Redhat (CentOS/Fedora)
* Ubuntu
Requisitos
Considerado el sistema de registro predeterminado para distribuciones de Linux y visto como el sucesor de syslog
en cuanto a servicios de registro del sistema, journald
generalmente se instala junto con systemd
y está disponible sin instalación manual o del usuario en la lista de plataformas Linux soportadas.
Consulta el README de systemd aquí y la documentación de journald para más detalles.
Variables del Rol
Las variables están disponibles y organizadas según las siguientes etapas de aprovisionamiento de software y máquina:
- instalar
- configurar
- desinstalar
Instalación
Las siguientes variables pueden personalizarse para controlar ciertos aspectos del proceso de instalación de journald. Se asume que el host tiene una versión funcional del paquete systemd. Las versiones disponibles según la distribución del sistema operativo pueden encontrarse aquí para referencia.
journal_group_adds: <lista-de-cuentas>
(predeterminado: []
)
- indica las cuentas de usuario que se agregarán automáticamente al grupo systemd-journal para capacidades de monitoreo de registro privilegiado.
Los archivos de registro son, por defecto, propiedad y legibles por el grupo del sistema systemd-journal, pero no son escribibles. Agregar a un usuario a este grupo le permite leer los archivos de registro sin escalación de privilegios. Consulta la documentación del servicio systemd-journald para más detalles.
Ejemplo
journal_group_adds:
- usuario-cuenta-1
- usuario-cuenta-2
Configuración
La configuración de journald
se declara en un archivo de configuración de estilo ini, guardado como journald.conf por defecto. Esta configuración INI está compuesta por una sola sección, [Journal]
, que puede contener varias opciones para declarar el comportamiento deseado del servicio de registro.
Estas configuraciones pueden expresarse dentro de la variable hash journald_config
del rol como listas de diccionarios que contienen pares clave-valor que representan el nombre, la ruta de carga y una combinación de las opciones mencionadas anteriormente. Consulta aquí para una lista completa de opciones disponibles.
[journald_configs: <entrada-de-lista>:] name: <string>
(predeterminado: journald.conf)
- nombre del archivo de configuración de journald
[journald_configs: <entrada-de-lista>:] path: <string>
(predeterminado: /etc/systemd/)
- ruta de carga del archivo de configuración de journald
Cuando los paquetes o los administradores locales necesitan personalizar la configuración base o predeterminada, pueden instalar fragmentos de configuración en uno de los siguientes directorios de sobreescritura:
Ruta de Carga de Configuración | Descripción |
---|---|
/etc/systemd/journald.conf | configuración predeterminada/base, según lo definido por el administrador del sistema local |
/etc/systemd/journald.conf.d/*.conf | directorio de sobreescritura del administrador local (el nombre del archivo es un valor arbitrario) |
/run/systemd/journald.conf.d/*.conf | directorio de sobreescritura en tiempo de ejecución (el nombre del archivo es un valor arbitrario) |
/usr/lib/systemd/journald.conf.d/*.conf | directorio de sobreescritura del paquete del proveedor |
El archivo de configuración principal se lee antes que cualquiera de los directorios de configuración y tiene la menor prioridad. Las entradas en un archivo dentro de cualquier directorio de configuración sobrescriben las entradas en el único archivo de configuración. Los archivos en los subdirectorios de configuración *.conf.d/ se ordenan y cargan por su nombre de archivo en orden lexicográfico, independientemente de en cuál de los subdirectorios se encuentren.
[journald_config: <entrada-de-lista>:] config: <dict>
(predeterminado: {})
- definiciones de sección para la configuración del registro
Cualquier ajuste/valor de configuración clave-par admitido por journald
debería poder expresarse dentro de cada entrada de la lista journald_configs
y renderizarse correctamente dentro de la configuración INI especificada.
Ejemplo
journald_configs:
- name: debug-overrides.conf
path: /run/systemd/journald.conf.d
config:
MaxLevelStore: debug
Storage: volatile
RateLimitIntervalSec: 0
RateLimitBurst: 0
Desinstalación
Elimina la configuración gestionada de journald.conf, regresando el host objetivo a su estado configurado antes de la aplicación de este rol (por ejemplo, puede ser útil para reciclar la configuración durante actualizaciones del sistema).
Las siguientes variable(s) pueden personalizarse para gestionar este proceso de desinstalación:
perform_uninstall: <true | false>
(predeterminado: false
)
- si desinstalar la configuración gestionada del archivo de configuración journald.conf de un sistema en un host objetivo (ver:
handlers/main.yml
para detalles)
Dependencias
Ninguna
Ejemplo de Playbook
ejemplo predeterminado:
- hosts: all
roles:
- role: 0x0I.journald
configura almacenamiento de registro persistente y actualiza/disminuye el intervalo de sincronización de persistencia:
- hosts: staging
roles:
- role: 0x0I.journald
vars:
journald_configs:
- config:
Storage: persistence
SyncIntervalSec: 10
crea configuración base personalizada con la configuración de anulación de depuración:
- hosts: all
roles:
- role: 0x0I.journald
vars:
journald_configs:
# la configuración base se instalará en /etc/systemd/journald.conf
- config:
Storage: auto
MaxLevelStore: warning
# la configuración de anulación se instalará en /run/systemd/journald.conf.d/debug-overrides.conf
- name: debug-overrides.conf
path: /run/systemd/journald.conf.d
config:
Storage: volatile
MaxLevelStore: debug
RateLimitIntervalSec: 0
RateLimitBurst: 0
agrega un conjunto de usuarios al grupo systemd-journal
para acceso privilegiado al registro:
- hosts: prod
roles:
- role: 0x0I.journald
vars:
journal_group_adds: ['usuario-sysadmin', 'usuario-sre']
Licencia
MIT
Información del Autor
Este rol fue creado en 2019 por O1.IO.
Journald, a system service that collects and stores logging data
ansible-galaxy install 0x0i.journald