我需要在我的 Linux 服务器上停用 RepeatedMsgReduction 以允许 fail2ban 评估每次失败的登录尝试。 (请参阅此错误报告: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=440037 )
因为我不想泛滥日志文件,所以我希望仅在那些fail2ban扫描的日志文件上具有此功能,尤其是mail.warn。
有没有办法在 rsyslog.conf 中设置条件规则/过滤器
$RepeatedMsgReduction = off
如果消息绑定(bind)到 mail.warn?
最佳答案
好的,一遍又一遍地阅读手册和文档现在让我找到了解决方案:
阅读 http://www.rsyslog.com/doc/rsconf1_repeatedmsgreduction.html 告诉你,指令
$RepeatedMsgReduction off
在指定下一个指令之前一直有效。
这意味着,如果您想要 mail.warn 的所有消息,但想要减少所有其他消息(mail.info 和 mail.err),请将配置更改为如下所示(假设该消息减少已全局打开):
mail.info -/var/log/mail.info
$RepeatedMsgReduction off
mail.warn -/var/log/mail.warn
$RepeatedMsgReduction on
mail.err /var/log/mail.err
这样,mail.warn 将包含所有记录的消息,而其他日志级别(和文件)将包含著名的“最后一条消息重复 n 次”行。这允许例如fail2ban 检查 mail.warn 是否存在恶意事件,而其他日志文件保持“干净”。
关于configuration - rsyslog 条件 RepeatedMsgReduction,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20542758/