我怎样才能使用 rsyslog 使日志文件既存储在远程又存储在本地?
答案1
它看起来就像配置文件中的两行一样简单:
*.* @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.
答案2
Wouter de Bie 给出了一个很好的答案,但他展示了发送日志的 UDP 方法。为了通过更可靠(但不是 100%)的 TCP 发送日志,请使用以下方法:
\*.* @@remote.server.ip
答案3
将以下行放入您的 /etc/rsyslog.d/remote.conf 中:
*.* @remote.server.ip
这可以轻松扩展,仅将特定设施和级别记录到远程服务器。