Instalamos rsyslog si no está instalado ya.
apt install rsyslog
Se edita el archivo /etc/systemd/journald.conf descomentando la siguiente línea:
storage=persistent ForwardToSyslog=yes
Se reinicia systemd-journald
systemctl daemon-reload systemctl restart systemd-journald
Ahora existirá entre otros el archivo /var/log/syslog en el que se verán eventos de systemd-journald.
Una forma de ver el contenido del archivo system.journal en plano:
journalctl --file /var/log/journal/$(cat /etc/machine-id)/system.journal --no-pager
Ver por ejemplo los usuarios cuando han abierto sesión a lo largo del día actual:
journalctl --file /var/log/journal/$(cat /etc/machine-id)/system.journal --no-pager | grep pam_unix | grep -v "closed" | awk '{print $2,$1,$3,$8,$11}' | grep opened | sort -u | grep "$(date +'%d %b')"
Se puede hacer una prueba con logger que se verá en /var/log/syslog:
logger "esto es una prueba" logger "esto es una prueba" -p local3.warn -t "prueba"
Poner a la escucha por UDP en un server descomentando en /etc/rsyslog.conf
module(load="imudp") input(type="imudp" port="514")
Luego se puede mandar con logger a ese server una prueba:
logger -n 10.0.2.15 -t myapp -p user.notice "prueba hola mundo" logger -d -n 127.0.0.1 -P 10514 -t "script:" -p user.notice "hostname 192.168.1.100 prueba hola mundo"
Para que una máquina mande remotamente todo el syslog se añade esto en /etc/rsyslog.conf
*.* @192.168.1.100:514
Siendo esas IPs que se ven de ejemplo.