我正在 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
}