Então, é assim que eu configurei isso em rsyslog.conf
:
# Log remote hosts to separate log file
$template PerHostLog,"/var/log/remote-hosts/%HOSTNAME%.log"
$template RemoteHostFileFormat,"%TIMESTAMP% %HOSTNAME% %syslogfacility-text% %syslogtag%%msg:::sp-if-no-1st-sp%%msg:::space-cc,drop-last-lf%\n"
:inputname, isequal, "imudp" ?PerHostLog;RemoteHostFileFormat
& ~
Isso captura todas as mensagens de log recebidas via UDP ( imudp
) e as coloca em um arquivo cujo nome de arquivo corresponde ao nome de host da origem da mensagem de log.