如何设置rsyslog将所有日志发送到多个远程服务器?

我试图让rsyslog发送所有日志到2个远程服务器,但似乎rsyslog只发送到辅助服务器,如果第一个失败。

*.* @@server1 *.* @@server2 

如果我把上面的代码放在/etc/rsyslog.conf中,只要server1启动,server2就不会收到任何日志。 如何告诉rsyslog无论发送到两台服务器?

此外,作为额外的奖励,我想使用2个不同的本地“缓冲区”文件进行本地存储,如果远程服务器宕机。

从转发到多个服务器 ;

然而,重要的是,全套指令构成一个行动。 因此,您不能简单地添加(仅)第二个转发规则,但也需要复制规则configuration。 要小心,为第二个操作使用不同的队列文件名称,否则你会搞砸你的系统。

所以,实际上,你必须使用2个不同的本地队列。

configuration一个工作目录。

 $WorkDirectory /var/spool/rsyslog 

configuration您的转发规则。

 $ActionQueueType LinkedList $ActionQueueFileName Forward1 $ActionResumeRetryCount -1 $ActionQueueSaveOnShutdown on *.* @@server1 $ActionQueueType LinkedList $ActionQueueFileName Forward2 $ActionResumeRetryCount -1 $ActionQueueSaveOnShutdown on *.* @@server2