Redhat

rsyslog conf 文件語法多個過濾器

  • January 13, 2021

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

引用自:https://serverfault.com/questions/1049591