我试图丢弃来自 /var/log/messages Rsyslog 版本:8.1911.0-6.el8 的任何“kernel: nfs: Deprecated parameter 'intr'”消息
在我的 /etc/rsyslog.conf 文件中,我有以下内容:
module(load="imuxsock" # provides support for local system logging (e.g. via logger command)
SysSock.Use="off") # Turn off message reception via local log socket;
# local messages are retrieved through imjournal now.
module(load="imjournal" # provides access to the systemd journal
StateFile="imjournal.state") # File to store the position in the journal
global(workDirectory="/var/lib/rsyslog")
module(load="builtin:omfile" Template="RSYSLOG_TraditionalFileFormat")
include(file="/etc/rsyslog.d/*.conf" mode="optional")
:msg, contains, "nfs: Deprecated parameter" stop
*.info;mail.none;authpriv.none;cron.none /var/log/messages
authpriv.* /var/log/secure
mail.* -/var/log/maillog
cron.* /var/log/cron
*.emerg :omusrmsg:*
uucp,news.crit /var/log/spooler
local7.* /var/log/boot.log
应丢弃消息的行是:
:msg, contains, "nfs: Deprecated parameter" stop
我仍然看到消息被记录。有任何想法吗? PS.,如果重要的话,我在 /etc/rsyslog.d/ 中有额外的conf文件。
答案1
丢弃具体的消息与基于属性的过滤器。
基于属性的过滤器是 rsyslod 所独有的。它们允许过滤任何属性,例如 HOSTNAME、syslogtag 和 msg。
要丢弃消息,请使用波形符“~”。
*.info;mail.none;authpriv.none;cron.none /var/log/messages
:msg, contains, "nfs: Deprecated parameter" ~
*.info;mail.none;authpriv.none;cron.none /var/log/kern.log
指定的消息被写入消息。然后,所有包含字符串“nfs: deprecated”的日志都将被丢弃。这意味着“丢弃行”下方的配置文件行将不会应用于此消息。然后,所有剩余的行也将被写入该文件克恩。
在您的情况下,消息可能仍然会被记录(由于额外的.conf文件在/etc/rsyslog.d/。因此,如果您想 100% 确定包含“nfs:不推荐使用的参数”的消息不会被记录,您还必须检查并(也许)编辑它们。
聚苯乙烯你可能想寻找所有规则包含*。信息