在 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
. 因此,您需要编写一个基于表达式的过滤器。