DOVECOT LOG

参考:https://wiki2.dovecot.org/Logging


dovecot的五个日志等级:详细降序

  • debug: Debug-level message.【调试级别的消息

  • info: Informational messages.  【信息消息

  • warning: Warnings that don't cause an actual error, but are useful to know about.

           【警告不会导致实际的错误,但对于了解有用】     

err: Non-fatal errors. 【非致命错误】crit: Fatal errors that cause the process to die.【导致进程死亡的致命错误】


自定义用户日志文件:


    根据了解,系统上的日志可以由产生软件本身提供的日志,例如nginx,apache这一类,也可以使用第三方的rsync这一类,而rsync提供好几种邮件的模式,例如:

mail,cron,auth,authpriv,daemon,kern,mark,news,securty,user,uucp,local0...local7这个集中格式:

根据dovecot的log设定,编辑/etc/dovecot/10-logging

###软件自带的日志存储位置设置
# Log file to use for error messages. "syslog" logs to syslog,
# /dev/stderr logs to stderr.
log_path = /var/log/dovecot.log
##不定义info_log_path以及debug_log_path或者留空,便只记录在log_path中

# Log file to use for informational messages. Defaults to log_path.
info_log_path = /var/log/dovecot_info.log

# Log file to use for debug messages. Defaults to info_log_path.
debug_log_path = /var/log/dovecot_debug.log
#保留为空,以便将调试级别的消息发送到info_log_path

##警告和错误消息将转到由log_path指定的文件,而信息性消息转到info_log_path,并将调试消息转
到debug_log_path。如果您这样做,请确保您真的在查看错误消息的log_path文件,因为“启动”消息
被写入到info_log_path文件中


###使用rsync的日志存储自定义
# Syslog facility to use if you're logging to syslog. Usually if you don't
# want to use "mail", you'll use local0..local7. Also other standard
# facilities are supported.
syslog_facility = local5
local5.*        -/var/log/dovecot.loglocal5.warning;local5.error;
local5.crit -/var/log/dovecot-errors.log

至于自定义这就可以根据你需要的情况,配合上日志的五个等级来搭配:

local5.* -/var/log/dovecot.log
local5.info -/var/log/dovecot.info
local5.warn -/var/log/dovecot.warn
local5.err -/var/log/dovecot.err
:msg,contains,"stored mail into mailbox" -/var/log/dovecot.lmtp
###将有生成"stored mail into mailbox" 的,存储在/var/log/dovecot.lmtp

由于改用外部日志文件提供的日志记录,所以要自配置日志的循环记录:
在/etc/rsyslog.d/目录下新增文件dovecot:【使用rsynclog】
在/etc/logrotate.d/目录下新增文件dovecot:【使用synclog】
cat dovecot
/var/log/dovecot*.log {   ##日志文件目录
weekly                     ##每周备份一次
rotate 4                      ##每有4个备份就循环覆盖备份
missingok                     ##忽略ok
notifempty                     ##忽略空
compress                          ##压缩格式
elaycompress                      ##轻量压缩
sharedscripts                      ##开始脚本
postrotate                        ##循环
doveadm log reopen                  ##使用doveadm log reopen
endscript}                           ##结束脚本

#注意:doveadm与SELinux无法正常工作(例如,从logrotate上下文中调用doveadm无法读取配置文件)。
#SELinux安全postrotate替代scriplet:
postrotatekill -s 0`cat / var / run / dovecot / master.pid` || \
kill -s USR1`cat / var / run / dovecot / master.pid`endscript


##Note 2: When syslog_facility = local5 is used for logging (example above), 
the line "/var/log/dovecot.log" 
should be added to the /etc/logrotate.d/syslog file to enable rotation 
(no /etc/logrotate.d/dovecot in this case!).




日志详细程度:

有几个设置可以控制日志冗长。默认情况下,它们都是禁用的,但它们可能对调试有用。

  • auth_verbose = yes启用记录所有失败的认证尝试。

  • auth_debug = yes启用所有身份验证调试日志记录(也启用auth_verbose)。密码被记录为<隐藏>

  • auth_debug_passwords = YES做的一切,auth_debug = YES做,但它还会删除密码隐藏(但只有当你不使用PAM,因为PAM错误不被写入达夫科特自己的日志)。

  • mail_debug = yes启用各种邮件相关的调试日志记录,例如显示Dovecot正在查找邮件的位置。

  • verbose_ssl = yes启用记录SSL错误和警告。即使没有这个设置,如果由于SSL错误而导致连接关闭,错误会被记录为断开原因。

  • auth_verbose_passwords = no | plain | sha1如果认证失败,则此设置记录使用的密码。如果你真的不需要知道密码本身是什么,但是更感兴趣的是知道用户是否每次都试图使用错误的密码,或者是暴力***,那么可以将其设置为“sha1 “并只记录密码的SHA1。这足以知道在登录尝试之间密码是相同的还是不同的。