Відповіді:
Рішення полягає у використанні користувацьких шаблонів rsyslog. Спочатку створюється шаблон журналу.
Наступний шаблон нагадує формат syslog за замовчуванням, але має значення %fromhost-ip%
Додано можна додати інші змінні таким же чином
$template tplremote,"%timegenerated% %HOSTNAME% %fromhost-ip% %syslogtag%%msg:::drop-last-lf%\n"
Потім ми створюємо шаблон назви файлу:
$template RemoteHost,"/var/log/remote/%HOSTNAME%.log"
І, нарешті, ми повідомляємо rsyslog використовувати створені шаблони:
if ($hostname != 'localhost') then ?RemoteHost;tplremote
& ~
Зауважте, що останні рядки повинні бути додані безпосередньо перед рядком, що містить.
*.info;mail.none;authpriv.none;cron.none
Також зверніть увагу, що це було перевірено і працювало у свіжому rsyslog з epel repo на redhat ( rsyslog-7.6.7-1.el6.x86_64
). Поведінка може бути різною в інших дистрибутивах.