thulium_drake.journald
Registro centralizado a través de Journald con Ansible
Este rol proporciona un medio para recolectar registros del sistema en un sistema central a través de systemd-journald.
Todos los registros se guardan en el sistema designado como journald_server en las variables. Cuando el rol se ejecuta en ese host, configurará el colector de registros.
Uso
- Instala el rol (ya sea desde Galaxy o directamente desde GitHub).
- Copia el archivo de valores predeterminados a tu inventario (o donde los almacenes) y completa la información necesaria.
- Agrega el rol a tu libro de jugadas maestro.
- Ejecuta Ansible.
- ???
- ¡Beneficios!
Analizando registros
Buscar o leer los registros recolectados se puede hacer usando la misma herramienta journalctl que usas para leer los diarios locales. Aquí hay algunos ejemplos:
- Muestra los diarios que están llegando
journalctl -f -D /log
- Muestra todos los diarios de un archivo de unidad específico (en cualquier máquina)
journalctl -f -D /log -u my-thing.service
SSL
Al ejecutar este rol con SSL habilitado, asegúrate de tener lo siguiente disponible:
- Certificado CA (autofirmado o de otro tipo) accesible para el usuario systemd-journal-upload.
- Certificado de servidor para el sistema loghost firmado por esa CA, accesible para el usuario systemd-journal-remote.
Un certificado 'solo' autofirmado no funcionará.
Ten en cuenta que si deseas ejecutar este rol en sistemas con una versión de Systemd superior a 234, debes organizar un certificado de cliente para que los clientes se autentiquen contra el servidor journald. Este certificado puede ser compartido entre todos los clientes.
Un script de ejemplo para instalar (proveer el certificado tú mismo) el certificado:
- name: 'Asegurar el grupo del certificado del cliente journald'
group:
name: 'journald-cert'
system: true
state: 'present'
- name: 'Asegurar el directorio del certificado del cliente journald'
file:
path: '/etc/ssl/journald'
state: 'directory'
owner: 'root'
group: 'journald-cert'
mode: 0770
- name: 'Asegurar los archivos del certificado'
copy:
src: "{{ cert.src }}"
dest: "{{ cert.dest }}"
owner: 'root'
group: 'journald-cert'
mode: 0440
loop:
- src: "{{ journald_certificate_source }}"
dest: '/etc/ssl/journald/client.crt'
- src: "{{ journald_key_source }}"
dest: '/etc/ssl/journald/client.key'
loop_control:
loop_var: 'cert'
Este enfoque ha sido probado en CentOS7 y CentOS8 en el mismo entorno.
ERROR: CentOS7 (u otros sistemas con systemd 219)
La versión de systemd-journal-remote en esta versión de systemd contiene un error en el que los diarios se guardan en un archivo nombrado según el extremo receptor de la transacción. En el caso de las fuentes pasivas que configura este rol, esto significa que todos los diarios se recopilan en un solo archivo.
Systemd Journald log forwarding & collection by Ansible
ansible-galaxy install thulium_drake.journald