Ubuntu
Rsyslog 在遠端發送之前丟棄消息 - 過濾器不起作用
在 rsyslog 將它們發送到遠端日誌伺服器之前,我正在努力刪除某些 syslog 消息。
這是我的整個 rsyslog.conf 文件,如下所示:
# /etc/rsyslog.conf configuration file for rsyslog # # For more information install rsyslog-doc and see # /usr/share/doc/rsyslog-doc/html/configuration/index.html # # Default logging rules can be found in /etc/rsyslog.d/50-default.conf ################# #### MODULES #### ################# module(load="imuxsock") # provides support for local system logging #module(load="immark") # provides --MARK-- message capability # provides kernel logging support and enable non-kernel klog messages module(load="imklog" permitnonkernelfacility="on") ########################### #### GLOBAL DIRECTIVES #### ########################### # # Use traditional timestamp format. # To enable high precision timestamps, comment out the following line. # $ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat # Filter duplicated messages $RepeatedMsgReduction on # # Set the default permissions for all log files. # $FileOwner syslog $FileGroup adm $FileCreateMode 0640 $DirCreateMode 0755 $Umask 0022 $PrivDropToUser syslog $PrivDropToGroup syslog # # Where to place spool and state files # $WorkDirectory /var/spool/rsyslog :msg, contains, "sudo: pam_unix(sudo:session):" ~ :msg, contains, "sudo: zabbix : TTY=unknown ; PWD=/ ; USER=root ;" ~ *.* @192.168.3.2:514
重新啟動服務後,我繼續在遠端日誌伺服器上獲取 sudo 消息。
甚至可以在遠端發送消息之前丟棄消息嗎?
我必須在
rsyslog.d
.conf 主文件中使用基於優先級的文件嗎?我在 Ubuntu 20.04.3 上執行 Rsyslog 8.2001。
旁注:我知道 ~ 已棄用,但使用
stop
也沒有丟棄消息。
那是因為
sudo
is:programname
,並且不在:msg
. 因此,您需要編寫一個基於表達式的過濾器。if $programname == 'sudo' and ( $msg contains 'pam_unix(sudo:session)' or $msg contains 'zabbix : TTY=unknown ; PWD=/ ;USER=root' ) then stop *.* @192.168.3.2:514