Как сделать так, чтобы файл журнала хранился как удаленно, так и локально с помощью rsyslog?
Похоже, это так просто, как две строчки в конфигурационном файле:
*.* @loghost
*.* /var/log/messages
В Конфигурации примеров rsyslog есть несколько таких случаев. Ключевой:
kern.* /var/adm/kernel
kern.crit @finlandia;RFC3164fmt
kern.crit /dev/console
kern.info;kern.!err /var/adm/kernel-info
The second statement directs all kernel messages of the priority crit and
higher to the remote host finlandia.
[...]
The third rule directs these messages to the actual console, so the person
who works on the machine will get them, too.
У Воутера де Би был хороший ответ, но он показал UDP-метод отправки журналов. Чтобы отправить их через более надежный (хотя и не 100%) TCP, используйте что-то вроде:
\*.* @@remote.server.ip
Поместите следующую строку в свой /etc/rsyslog.d/remote.conf:
*.* @remote.server.ip
Это можно легко расширить для регистрации только определенных объектов и уровней на удаленном сервере.