У меня есть сервер системного журнала (запускающий rsyslog на RHEL 7.4), который объединяет все системные журналы с моих сетевых устройств. Он прослушивает порт TCP / 514.
Я хочу перенаправить журналы каждого устройства в другой файл в выделенном каталоге (на основе их IP-адреса) вместо того, чтобы помещать их все в /var/log/messages
. Как я могу это сделать?
Кажется, это задокументировано на веб-сайте rsyslog здесь: https://www.rsyslog.com/storing-and-forwarding-remote-messages
Подвести итоги :
Вы должны определить шаблон для файлов журнала, например:
# log every host in its own directory
$template RemoteHost,"/var/syslog/hosts/%HOSTNAME%/%$YEAR%/%$MONTH%/%$DAY%/syslog.log"
Затем примените этот шаблон к сообщениям, поступающим с удаленных хостов:
# Remote Logging
$RuleSet remote
*.* ?RemoteHost