Skip to main content

Recolección centralizada de logs del sistema

En esta ocasión, se va a realizar un sistema de recogida de logs de sistema, para ello se va a utilizar el servicio de journald, que se encarga de recoger los logs de los servicios del sistema, y de los servicios que se ejecutan en el mismo. En mi caso, voy a usar el escenario montado en OpenStack compuesto por alfa, bravo, charlie y delta. Para esto, se van a seguir los siguientes pasos:

  • Instalamos en todas las máquinas el paquete sytemd-journal-remote, que es el que nos permite enviar los logs a un servidor remoto:
sudo apt install systemd-journal-remote
sudo sudo dnf install systemd-journal-remote #para bravo
  • En el servidor, que en mi caso es alfa, se va a configurar el servicio editando el fichero /lib/systemd/system/systemd-journal-remote.service modificando la línea ExecStart para que quede de la siguiente forma:
ExecStart=/lib/systemd/systemd-journal-remote --listen-http=-3 --output=/var/log/journal/remote/
  • Iniciamos y habilitamos el servicio:
sudo systemctl enable --now systemd-journal-remote.socket
sudo systemctl enable --now systemd-journal-remote.service
  • Configuramos journal para que en la funcionalidad de registro remoto no se apliquen medidas de seguridad adicionales a los registros y que se dividan en función del servidor:
nano /etc/systemd/journald-remote.conf

[Remote]
SplitMode=host
Seal=false
  • Reiniciamos el servicio:
sudo systemctl restart systemd-journal-remote.service
  • En los clientes, charlie, delta y bravo, modificamos el fichero /etc/systemd/journal-upload.conf para que quede de la siguiente forma:
URL=http://alfa.nazareth.gonzalonazareno.org:19532

*Nota: Se puede usar la IP en vez del nombre del servidor.

  • Reiniciamos el servicio:
sudo systemctl restart systemd-journal-upload.service
  • Para ver los logs en el servidor de los clientes, se ejecuta el siguiente comando:
sudo journalctl --file /var/log/journal/remote/remote-[IP].journal
  • Bravo:

  • Charlie:

  • Delta:

  • Para ver todos los ficheros de log:
sudo ls -la /var/log/journal/remote/