rsyslog conf 文件語法多個過濾器
我在 Red Hat 8 系統上設置 rsyslog。我有第一部分工作,即基於源 IP 進行過濾,將日誌放在特定文件中,如下所示:
如果 $fromhost-ip 以 ‘10.1.2.45’ 開頭,那麼 /var/log/test_all.log
&~
我想做的,我無法弄清楚正確的語法,是如果從主機 IP 和 authpriv 設施採購,把它放在一個文件中。我知道在上面列出的那個之前我需要那個聲明,但我無法讓它發揮作用。我還嘗試了 local7(啟動日誌),但也沒有用。接下來的兩個範例是我嘗試過但不起作用的語法:
範例 1:
如果 $ fromhost-ip startswith ‘10.1.2.45’ and $ syslogfacility-text == ’local7’ 然後 /var/log/test_boot.log
& 停止
如果 $ fromhost-ip startswith ‘10.1.2.45’ and $ syslogfacility-text == ’local10’ 然後 /var/log/test_secure.log
& 停止
如果 $fromhost-ip 以 ‘10.1.2.45’ 開頭,那麼 /var/log/test_all.log
& 停止
範例 2:
如果 $ fromhost-ip startswith ‘10.1.2.45’ and $ syslogfacility-text == ‘authpriv.*’ 然後 /var/log/test_secure.log
& 停止
如果 $fromhost-ip 以 ‘10.1.2.45’ 開頭,那麼 /var/log/test_all.log
& 停止
—範例結束—
任何幫助將不勝感激。
在這裡找到的解決方案: rsyslog 配置語法
if $fromhost-ip startswith '10.1.2.45' then { authpriv.* -/var/log/test_secure.log -/var/log/test_all.log & stop }