我正在尝试使rsyslog将所有日志发送到2个远程服务器,但是似乎rsyslog仅在第一个失败时才发送到辅助服务器。
*.* @@server1
*.* @@server2
如果将以上内容放在/etc/rsyslog.conf中,则只要server1启动,server2就不会收到任何日志。无论如何,如何告诉rsyslog发送到两个服务器?
另外,作为一个额外的奖励,如果远程服务器出现故障,我想使用2个不同的本地“缓冲区”文件进行本地存储。
我正在尝试使rsyslog将所有日志发送到2个远程服务器,但是似乎rsyslog仅在第一个失败时才发送到辅助服务器。
*.* @@server1
*.* @@server2
如果将以上内容放在/etc/rsyslog.conf中,则只要server1启动,server2就不会收到任何日志。无论如何,如何告诉rsyslog发送到两个服务器?
另外,作为一个额外的奖励,如果远程服务器出现故障,我想使用2个不同的本地“缓冲区”文件进行本地存储。
Answers:
从 转发到多个服务器 ;
然而,重要的是要知道,全套指令构成了一个动作。因此,您不能简单地添加(仅)第二条转发规则,而还需要复制规则配置。请注意,对于第二个操作,请使用不同的队列文件名,否则将使系统混乱。
因此,实际上,您必须使用2个不同的本地队列。
配置工作目录。
$WorkDirectory /var/spool/rsyslog
配置您的转发规则。
$ActionQueueType LinkedList
$ActionQueueFileName Forward1
$ActionResumeRetryCount -1
$ActionQueueSaveOnShutdown on
*.* @@server1
$ActionQueueType LinkedList
$ActionQueueFileName Forward2
$ActionResumeRetryCount -1
$ActionQueueSaveOnShutdown on
*.* @@server2