2.8 KiB
title | date | draft |
---|---|---|
Recolección centralizada de logs de sistema, mediante Journald | 2023-01-15T23:39:03+01:00 | false |
El escenario de OpenStack es el siguiente:
Enunciado
Implementa en tu escenario de trabajo de Openstack, un sistema de recolección de log mediante journald. Para ello debes, implementar un sistema de recolección de log mediante el paquete systemd-journal-remote, o similares.
Preparación
En cada instancia, voy a instalar el paquete systemd-journal-remote
; en alfa, charlie y delta ejecuto el siguiente comando:
apt install systemd-journal-remote
en bravo, ejecuto el siguiente comando:
sudo dnf install systemd-journal-remote
Configuración
He elegido el servidor alfa como servidor de logs, por lo que en él, voy a configurar el servicio. No voy a usar https ni autenticación, por lo que en el fichero /lib/systemd/system/systemd-journal-remote.service
voy a modificar la siguientes línea:
ExecStart=/lib/systemd/systemd-journal-remote --listen-http=-3 --output=/var/log/journal/remote/
Ahora inicio el servicio y lo habilito para que se inicie en el arranque:
sudo systemctl enable --now systemd-journal-remote.socket
sudo systemctl enable --now systemd-journal-remote.service
sudo systemctl status systemd-journal-remote.socket
sudo systemctl status systemd-journal-remote.service
Configuración de los clientes
Para ello, en cada uno crearé un usuario llamado systemd-journal-upload
configurado de la siguiente manera:
en charlie y delta
sudo adduser --system --home /run/systemd --no-create-home --disabled-login --group systemd-journal-upload
en bravo
sudo adduser --system --home-dir /run/systemd --no-create-home --user-group systemd-journal-upload
Ahora modifico en el fichero /etc/systemd/journal-upload.conf
la siguiente línea:
URL=http://alfa.roberto.gonzalonazareno.org:19532
Ahora reinicio el servicio en todas las máquinas:
sudo systemctl restart systemd-journal-upload.service
Comprobación
En el servidor alfa, voy a comprobar que se están recibiendo los logs de los clientes
Para ver los logs de los clientes, en el servidor alfa, ejecuto el siguiente comando (en este caso, el de delta):
sudo journalctl --file /var/log/journal/remote/remote-192.168.0.3.journal
En un ejemplo anterior: Ejemplo completo: Desplegando y accediendo a la aplicación Temperaturas habíamos desplegado una aplicación formada por dos microservicios que nos permitía visualizar las temperaturas de municipios.