在通过我的邮件服务器发送的每封电子邮件之后,postfix/anvil
附加如下内容:
Nov 9 15:09:11 keutenberg postfix/anvil[30006]: statistics: max connection rate 1/60s for (smtp:103.28.42.75) at Nov 9 15:02:42
Nov 9 15:09:11 keutenberg postfix/anvil[30006]: statistics: max connection count 1 for (smtp:103.28.42.75) at Nov 9 15:02:42
Nov 9 15:09:11 keutenberg postfix/anvil[30006]: statistics: max message rate 1/60s for (smtp:103.28.42.75) at Nov 9 15:02:43
Nov 9 15:09:11 keutenberg postfix/anvil[30006]: statistics: max cache size 1 at Nov 9 15:02:42
我理解为什么要记录这些消息(我设置了限制),但我找不到任何方法来更改anvil
的日志级别(即从 中抑制这些信息性消息mail.log
)。是否有我可以使用的设置main.cf
来禁用这些统计消息?我宁愿从源头阻止它们,也不愿通过系统日志设置来抑制它们。
如果您想更改日志的频率,您可以
anvil_status_update_time
在main.cf
. 默认值为 600 秒。http://www.postfix.org/postconf.5.html#anvil_status_update_time两个小时对我来说比使用默认的 10 分钟更好,但显然会因环境而异。
此外,为了解决我在记录传入邮件时遇到的长时间延迟问题,我必须配置以下设置。如果您发现收到的邮件日志没有在应该更新的时候更新,请尝试以下操作:
*如果您的服务器每 600 秒收到少于 1 封电子邮件
默认情况下,anvil 守护程序在退出时会记录统计信息。由于默认空闲时间为 600秒,如果没有收到电子邮件,您将继续每 10 分钟收到一次砧日志。
这可以通过添加
-o max_idle
来更改为更长的时间跨度master.cf
请注意,此设置将覆盖您限制客户端连接的能力。
有一个参数
main.cf
来抑制砧过程。此参数称为 smtpd_client_event_limit_exceptions。此参数的目的是从 smtpd_client_*_count/rate_limit 限制中排除某些客户端。在您的情况下,您应该在main.cf
这将使所有 IP 地址列为被排除在 smtpd_client_*_count/rate_limit 限制之外的客户端。因此,此设置将抑制铁砧日志,因为没有要记录的内容。
来源:postfix mailing list 中的类似问题。
我正在使用rsyslogd(8)将特定消息放在不同的日志文件中。
例如,
/etc/rsyslog.d/maillog-stats.conf
使用以下内容创建一个新文件:目录中的文件在
/etc/rsyslog.d
之前被读取,/etc/rsyslog.conf
因此这些过滤器在主配置文件之前发生。第一个基于属性的过滤器将包含“statistics: max”的消息写入其中
/var/log/maillog-stats
,第二个过滤器丢弃该消息以通过操作进行进一步处理stop
。中的规则像以前一样处理剩余的消息
/etc/rsyslog.conf
,您还可能希望设置一些轮换规则,例如通过创建文件
/etc/logrotate.d/maillog
::