You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2.9 KiB

title date draft image categories tags
Recolección centralizada de logs de sistema, mediante Journald 2023-01-15T23:39:03+01:00 false featured.png
documentación
Administración de Sistemas Operativos
journald
logs
OpenStack

El escenario de OpenStack es el siguiente:

escenario

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

status

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

logs

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

logs

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.