Configuration rsyslog条件重复数据缩减

Configuration rsyslog条件重复数据缩减,configuration,postfix-mta,rsyslog,Configuration,Postfix Mta,Rsyslog,我需要停用Linux服务器上的RepeatedMsgReduce,以允许fail2ban评估每次失败的登录尝试。(请参阅此错误报告:) 由于我不想让我的日志文件泛滥,我希望只在扫描失败的日志文件上使用该功能,尤其是mail.warn 有没有办法在rsyslog.conf中设置一个条件规则/过滤器来设置 $RepeatedMsgReduction = off 如果邮件已绑定到mail.warn?好的,反复阅读手册和文档,现在我找到了解决方案: 阅读告诉你,指令 $RepeatedMsgReduc

我需要停用Linux服务器上的RepeatedMsgReduce,以允许fail2ban评估每次失败的登录尝试。(请参阅此错误报告:)

由于我不想让我的日志文件泛滥,我希望只在扫描失败的日志文件上使用该功能,尤其是mail.warn

有没有办法在rsyslog.conf中设置一个条件规则/过滤器来设置

$RepeatedMsgReduction = off

如果邮件已绑定到mail.warn?

好的,反复阅读手册和文档,现在我找到了解决方案:

阅读告诉你,指令

$RepeatedMsgReduction off
在指定下一个指令之前保持有效

这意味着,如果希望所有邮件都是mail.warn,但希望所有其他邮件(mail.info和mail.err)中的邮件都减少,请将配置更改为如下所示(假设邮件减少已全局打开):


这样,mail.warn将包含所有记录的邮件,而其他日志级别(和文件)将包含著名的“last message repeated n times”行。这允许例如fail2ban检查mail.warn是否存在恶意活动,而其他日志文件保持“干净”。

我感谢提供的研究,该研究展示了如何有选择地禁用rsyslog消息缩减功能。然而,我认为重要的是要认识到,有人支持完全禁用还原功能

背景:

Syslog的标记功能旨在通过定期将条目记录为以下内容来提供Syslog(以及推断服务器本身)正在运行的证据:

Sep 5 11:41:28 servername rsyslogd:--标记--

我之所以提出这个问题,是因为通过聚合我的标记消息,消息缩减违背了标记的目的:

Sep 5 12:33:46 servername rsyslogd:消息重复48次:[--标记--]

即,记录上述消息代替48条定期消息,使其作为跟踪信息的实用程序无效

分析:

因此,最初我计划仅对标记消息禁用缩减。然而,读完后,我倾向于完全关闭RepeatedMsgReduction:

  • 虽然启用此功能可以在日志中节省一些空间,但大多数日志分析工具需要查看重复的消息,它们无法处理 “上次消息重复”格式

  • 这是几十年前的一个功能,当时日志很小,需要人工查看,但在用户处理的大容量日志上,它严重失败 工具

结论:

我建议只禁用还原。为什么?现在磁盘空间很便宜,而且我们越来越依赖自动化工具,例如,减少磁盘空间的好处被配置复杂性和信息丢失的成本所抵消

mail.info                       -/var/log/mail.info
$RepeatedMsgReduction off
mail.warn                       -/var/log/mail.warn
$RepeatedMsgReduction on
mail.err                        /var/log/mail.err