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


10

我正在尝试使rsyslog将所有日志发送到2个远程服务器,但是似乎rsyslog仅在第一个失败时才发送到辅助服务器。

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

如果将以上内容放在/etc/rsyslog.conf中,则只要server1启动,server2就不会收到任何日志。无论如何,如何告诉rsyslog发送到两个服务器?

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

Answers:


16

转发到多个服务器 ;

然而,重要的是要知道,全套指令构成了一个动作。因此,您不能简单地添加(仅)第二条转发规则,而还需要复制规则配置。请注意,对于第二个操作,请使用不同的队列文件名,否则将使系统混乱。

因此,实际上,您必须使用2个不同的本地队列。

配置工作目录。

$WorkDirectory /var/spool/rsyslog

配置您的转发规则。

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

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

这实际上就是我使用的配置,包括不同的队列文件。但这仍然行不通。如果我关闭“ server1”,我只会看到日志显示为“ server2”
Daniele Testa 2013年

对不起这是我的错。我有一些错误的防火墙规则:)解决了防火墙问题后,我的原始配置仍在工作。
Daniele Testa 2013年

防火墙每次都会做。.我应该问这个!:)不管您现有的配置如何运作,为我的努力投票该如何?当投票系统鼓励参与时,此站点最有效。如果有机会,请参阅游览页面。
亚伦·科普利2013年

1
抱歉,我需要15+信誉才能投票
Daniele Testa
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.