Rsyslog - хранить логи в отдельных файлах для каждого сервера

Можно создать каталог для хранения логов, где будут храниться логи отдельно для каждого сервера отправителя, для этого достаточно создать каталог, например:

mkdir /var/log/syslog-hosts

Создать темплейт формата хранения, добавить в /etc/rsyslog.conf:

$template FILENAME,"/var/log/syslog-hosts/%HOSTNAME%/syslog.log"

Включить логи согласно темплейту используя директиву:

*.* ?FILENAME

Перезапустить и проверить статус rsyslog

systemctl restart rsyslog && systemctl status rsyslog

Смотрим содержимое каталога:

ls /var/log/syslog-hosts/
server-nide1  server-node2  server1  server2  server3

Ротация

Можно создать свои правила ротации для логов, например:

# syslogs
/var/log/syslog-hosts/*/*.log {
    weekly
    rotate 1
    compress
}

Проверить конфиг можно так:

logrotate -d /etc/logrotate.conf

Доп инфо