配置Rsyslog以停止记录某些消息


13

我想停止rsyslog记录这些消息。

[168707.740364] TCP: Peer 192.168.100.1:46199/41503 unexpectedly shrunk window 2027330493:2027331431 (repaired)

我在/etc/rsyslog.conf中尝试了此操作,但消息仍被记录。

if $msg contains 'unexpectedly' then /dev/null

谁能指出我正确的方向?

Answers:


8

如果您使用的是最新版本的rsyslog(例如7),则需要执行

& stop

在您的消息之后。不这样做会给你

warning: ~ action is deprecated, consider using the 'stop' statement instead [try http://www.rsyslog.com/e/2307 ]

6

rsyslog需要一条语句来在匹配后停止记录。在已有的if语句之后立即添加此行。

& ~

您可能还需要将这两个语句在conf文件中上移,以便在将它们记录到消息的其他一些语句之前对其进行解析。我将rsyslog配置更改为如下所示

/etc/rsyslog.conf ($IncludeConfig /etc/rsyslog.d/*.conf)
/etc/rsyslog.d/40-specificdaemon.conf
/etc/rsyslog.d/99-general.conf

这样可以确保我想要的顺序,并便于配置管理推送更新。


3
& ~在较新版本的rsyslog中已弃用:rsyslog.com/doc/v8-stable/compatibility/v7compatibility.html。该~操作也称为“丢弃”操作,如果您搜索该页面,则会看到有关该操作的注释。您应该继续使用& stop
slm

2

命令是“ $ stop”,而不是“ $ stop”。那里有很大的不同。


4
请说清楚。据我所知,它是if ... then stop& stop。从未见过$stop任何地方提到变量。我错过了什么?
mivk
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.