如何编写 rsyslog 规则以根据设施和来自主机进行条件转发?

如何编写 rsyslog 规则以根据设施和来自主机进行条件转发?

rsyslog规则将转发syslogauth发送至另一台主机:

syslog,auth.*                                  @another-host

以下内容(摘自这里) 根据 fromhost 转发系统日志:

:fromhost-ip, !isequal, 192.178.23.10 @192.178.23.10:514

问题: 怎样才能把两者结合起来呢?我想要一个 rsyslog 规则,其效果是“如果 fromhost 不等于其他日志服务器的 IP,则将所有日志syslog和系统日志转发到”authanother-host

我尝试了以下似乎不起作用的方法:

:fromhost-ip, !isequal, 192.178.23.10 syslog,auth.* @another-host

一般来说,我不确定你应该如何调试 rsyslog 配置设置的有效性;我不知道上面的内容是半有效的还是完全无意义的,但是重新启动 rsyslog 服务并没有产生错误。

答案1

我不确定对于那些有rsyslog配置文件经验的人来说这是否被认为是正确的或优雅的,但这似乎有效:

if $fromhost-ip != '192.178.23.10' and ($syslogfacility-text == 'syslog' or $syslogfacility-text == 'auth') then @another-host

相关内容