Назад | Перейти на главную страницу

Создайте отдельный файл системного журнала для каждого хоста с помощью rsyslog

У меня есть сервер системного журнала (запускающий 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