rsyslog conf 文件语法多个过滤器

rsyslog conf 文件语法多个过滤器

我正在 Red Hat 8 系统上设置 rsyslog。我已让第一部分运行,即根据源 IP 进行过滤,并将日志写入特定文件,如下所示:

if $fromhost-ip startswith '10.1.2.45' then /var/log/test_all.log
& ~ 

我想做的是检查主机 IP权限设施并将其写入文件。

我知道,我需要在上面列出的语句之前添加该语句,但我无法让它工作。我也尝试过local7(启动日志),但也没有用。接下来的两个示例是我尝试过的语法,但没有用:

示例 1:

if $fromhost-ip startswith '10.1.2.45' and $syslogfacility-text == 'local7' then /var/log/test_boot.log
& stop

if $fromhost-ip startswith '10.1.2.45' and $syslogfacility-text == 'local10' then /var/log/test_secure.log
& stop

if $fromhost-ip startswith '10.1.2.45' then /var/log/test_all.log
& stop 

示例 2:

if $fromhost-ip startswith '10.1.2.45' and $syslogfacility-text == 'authpriv.*' then /var/log/test_secure.log
& stop

if $fromhost-ip startswith '10.1.2.45' then /var/log/test_all.log
& stop 

答案1

解决方案在这里找到: rsyslog 配置语法

if $fromhost-ip startswith '10.1.2.45' then { 

    authpriv.*  -/var/log/test_secure.log
                -/var/log/test_all.log
    & stop
}

相关内容