这几天由于工作需要,在弄有关Qmail的东东,在此转载一些有关Qmail log文件格式的文章,以备后用:
一 读qmail日志
一旦消息被记录,就应该监控记录以发现问题。下面看一个qmail的mail日志文件:
-------------------------------------------------------------------------------------
1、 Apr 11 02:02:18 mail qmail : 955436538.813320 new msg 18995
2、 Apr 11 02:02:18 mail qmail : 955436538.815787 info msg 18995: byte 603 from < root@mail.96633.net > qp 26920 uid 0
3、 Apr 11 02:02:18 mail qmail : 955436538.892499 starting delivery 103: msg 18995 to local root@96633.net
4、 Apr 11 02:02:18 mail qmail : 955436538.895936 status: local 1/10 remote 0/20
5、 Apr 11 02:02:19 mail qmail : 955436539.075785 delivery 103: success:did_0+1+0/qp-26976/
6、 Apr 11 02:02:19 mail qmail : 955436539.098222 status: local 0/10 remote 0/20
7、 Apr 11 02:02:19 mail qmail : 955436539.100838 end msg 18995
-----------------------------------------------------------------------------------
第一行给出了接收这条新消息的qmail日志。
第二行使用发送者以及消息的大小标识消息。
第三行表示qmail正在初始化发送。
第四行给出了qmail的状态。显示出邮件队列中只有一条消息在等待发送。
第五行表明成功将消息发送给本地用户。
正如以上看到,qmail项可能看起来令人疑惑,他有6种类型的qmail日志消息:
1、 状态
2、 致命问题
3、 严重问题
4、 消息
5、 发送项
6、 警告
下面我们将逐一介绍qmail的日志类型。
二 状态消息
状态消息记录了服务器上的操作。一条状态消息的格式如下:
status:local n/L remote r/R
其中n/L为队列中的本地消息数量(n) 以及本地邮件队列的大小(L)。r/R是队列中的远程消息的数量(r)以及远程邮件队列的大小。如(表15)中的第四行。如果你注意到队列频繁的被消息填满,你就有可能要改变邮件队列的大小了。可以通过更改qmail的控制文件,来实现。
6.2.4 致命问题
致命问题是那些导致qmail异常终止和停止运行的问题,应该马上处理你的mail server。
Qmail致命问题日志消息
----------------------------------------------------------------------------------
消息 描述
-----------------------------------------------------------------------------------
alert:can not start qmail-send不能初始化来进行启动。通常这是一个配置文件问题的征兆
alert:oh no! lost 一个支持后台的程序,例如:qmail-lspawn or qmail-rspawn已经死掉,因此qmail-send将关闭。
---------------------------------------------------------------------------------
三 严重问题
有严重问题的纪录,就是qmail不能处理一个特定的事件但会重试。严重问题不会qmail
停止运行,但如果持续出现,可能会导致一个致命问题出现,使qmail关闭。如下:
qmail严重问题日志
-------------------------------------------------------------------------------------
消息 描述
------------------------------------------------------------------------------------
alert: unable to append bounce message qmail-send不能处理一个永久的发送失败,通
常是没有硬盘空间了。
alert: out of memory qmail-send 试图分配内存,但是失败了
alert: unable to opendir qmail-send不能从硬盘打开一个文件列表,因
为权限不够,或描述符表已满。
alert: unable to switch back qmail-send收到一个sighup信号,但不能读队列目录。
alert: unable to reread qmail-send收到一个sighup信号,但不能读控制目录。
------------------------------------------------------------------------------
四 qmail消息
qmail为进入和退出qmail系统的每一条消息创建了一个日志纪录。这些日志记录是基每
一条消息指定一个标号。下面是一些可能出现的消息日志项
-----------------------------------------------------------------------------
消息 描述
-------------------------------------------------------------------------------
new msg m qmail-send正在处理邮件队列中的消息号为m
info msg m: bytes b from <s> qp q uid u 消息m包含了b个字节,来自发送者s,被用户ID u排队,队列标识符为q。
bounce msg m qp q 消息m发送失败。返回消息的队列标识符为q。
triple bounce: discarding m 消息m被标识成不能发送的两次返回消息,
将被删除。
end msg m 消息m正被从队列中除去。
-----------------------------------------------------------------------------------
五 发送项
当qmail-send试图发送一条消息,必须将一条状态消息纪录到日志中。下面给出了可能的
发送项日志消息。Qmail发送日志项
-------------------------------------------------------------------------------------
消息 描述
------------------------------------------------------------------------------------
starting delivery d: msg m to qmail-send正在处理一个发送消息m,发送ID为d。
delivery d: success 发送项d被成功的发送给接收方。
delivery d: deferral 发送项d遇到一个暂时的发送失败,将重试。
delivery d: failure 发送项d遇到一个永久失败,消息将返回。
delivery d: report mangled will defer 发送项d在qmail-rspawn 或qmail-lspawn中遇到问题,将重试。
-------------------------------------------------------------------------------------
六 警告
当在处理邮件中遇到错误,qmail将做为警告记录到日志中。警告表示了qmail能解决的
暂时性问题。但是,警告可能是一个在问题的前兆。下面是一些qmail的警告消息
----------------------------------------------------------------------------------
消息 描述
-----------------------------------------------------------------------------------
internal error: delivery report out of range qmail-lspawn或qmail-rspawn为一个不存在的发送项ID返回了一个发送报告。
qmail-clean unable to clean up qmail-clean不能删除一个文件。
trouble fsyncing qmail-send不能重写磁盘。
trouble in select 一个可能的操作系统错误。
trouble injecting bounce message qmail-send不能排队一个返回消息。
trouble marking qmail-send不能记录一次发送不成功的结果。
trouble opening qmail-send不能打开本地和远程接收者的列表。
trouble reading qmail-send不能读收者的列表。
trouble writing to qmail-send不能处理一条列表中的消息。
trouble to create qmail-send不能处理一条列表中的消息。
unable to open qmail-send不能读一条排队消息中的信件头。
unable to start qmail-queue qmail-queue qmail-send不能排队一条返回消息。
unable to stat qmail-send不能得到有关一个文件的消息。
unable to unlink qmail-send不能删除一个文件。
unable to utime qmail-send不能纪录下一次调度发送时间。
unknown record type in qmail-send或qmail-queue中的一个严重的错误。
----------------------------------------------------------------------------------
补充:
Qmail日志中的时间转换(如:@400000003f1f409e2256080c 转换成2003-07-24 10:12:36.576063500 ):
tai64nlocal < current
可将日志中的时间戳转化为标准格式,而其他信息不变