
У меня есть сервер syslog (запускающий rsyslog на RHEL 7.4), который объединяет все syslog с моих сетевых устройств. Он прослушивает порт TCP/514.
Я хочу перенаправить журналы каждого устройства в другой файл в выделенном каталоге (на основе их IP-адреса), вместо того, чтобы помещать их все в /var/log/messages
. Как это сделать?
решение1
Кажется, это задокументировано на веб-сайте 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