![使用 rsyslogd 进行本地和远程日志记录](https://linux22.com/image/524626/%E4%BD%BF%E7%94%A8%20rsyslogd%20%E8%BF%9B%E8%A1%8C%E6%9C%AC%E5%9C%B0%E5%92%8C%E8%BF%9C%E7%A8%8B%E6%97%A5%E5%BF%97%E8%AE%B0%E5%BD%95.png)
我怎样才能使用 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
这可以轻松扩展,仅将特定设施和级别记录到远程服务器。