Sun Java System Messaging Server 6.3 管理指南

20.14.1 标准消息存储监视过程

本节概述了消息存储的标准监视过程。这些过程有助于常规消息存储检查、测试和标准维护。

有关其他信息,请参见27.7 监视消息存储

20.14.1.1 检查硬件空间

消息存储应具有足够的附加磁盘空间和硬件资源。消息存储接近磁盘空间和硬件空间的最大限度时,消息存储内部可能会出现问题。

磁盘空间不足是导致邮件服务器问题和故障的最常见的原因之一。如果没有用于写入到消息存储的空间,邮件服务器将会失败。此外,可用磁盘空间低于特定阈值时,会产生与邮件传送、日志记录等相关的问题。当 stored 进程的清除功能失败并且不从消息存储中擦除已删除的邮件时,磁盘空间会迅速耗尽。

有关监视磁盘空间的信息,请参见20.11.5 监视磁盘空间27.7 监视消息存储

20.14.1.2 检查日志文件

检查日志文件以确保消息存储进程按配置运行。Messaging Server 为其支持的以下每个主要协议(或服务)都创建了一组单独的日志文件:SMTP、IMAP、POP 和 HTTP。您可以在目录 msg-svr-bas/log/ 中查看日志文件。应按例行程序监视日志文件。

请注意日志记录可能会影响服务器性能。在给定的时间内指定的日志记录越详尽日志文件所占用的磁盘空间越多。您应当为服务器定义有效且实际的日志旋转、失效和备份策略。有关为服务器定义日志记录策略的信息,请参见第 25 章,管理日志记录

20.14.1.3 使用自动测量功能检查用户 IMAP/POP/Webmail 会话

Messaging Server 提供了一种称为自动测量的功能,可以将用户的整个 IMAP、POP 或 HTTP 会话捕获到文件中。此功能对调试客户端问题很有用。例如,如果用户抱怨他们的邮件访问客户端未按预期那样工作,则此功能可用于跟踪访问客户端和 Messaging Server 之间的交互作用。

要捕获 POP 会话,请创建以下目录:

msg-svr-base/data/telemetry/ pop_or_imap_or_http/userid

要捕获 POP 会话,请创建以下目录:

msg-svr-base/data/telemetry/pop/ userid

要捕获 IMAP 会话,请创建以下目录:

msg-svr-base/data/telemetry/imap/ userid

要捕获 Webmail 会话,请创建以下目录:

msg-svr-base/data/telemetry/http/ userid

请注意,目录必须由邮件传送服务器 userid 拥有和重写。

Messaging Server 将在此目录中为每个会话创建一个文件。下面显示了输出示例:


LOGIN redb 2003/11/26 13:03:21
>0.017>1 OK User logged in
<0.047<2 XSERVERINFO MANAGEACCOUNTURL MANAGELISTSURL MANAGEFILTERSURL
>0.003>* XSERVERINFO MANAGEACCOUNTURL {67}
http://redb@cuisine.blue.planet.com:800/bin/user/admin/bin/enduser 
MANAGELISTSURL NIL MANAGEFILTERSURL NIL
2 OK Completed
<0.046<3 select "INBOX"
>0.236>* FLAGS (\Answered flagged draft deleted \Seen $MDNSent Junk)
* OK [PERMANENTFLAGS (\Answered flag draft deleted \Seen $MDNSent Junk \*)]
* 1538 EXISTS
* 0 RECENT
* OK [UNSEEN 23]
* OK [UIDVALIDITY 1046219200]
* OK [UIDNEXT 1968]
3 OK [READ-WRITE] Completed
<0.045<4 UID fetch 1:* (FLAGS)
>0.117>* 1 FETCH (FLAGS (\Seen) UID 330)
* 2 FETCH (FLAGS (\Seen) UID 331)
* 3 FETCH (FLAGS (\Seen) UID 332)
* 4 FETCH (FLAGS (\Seen) UID 333)
* 5 FETCH (FLAGS (\Seen) UID 334)
<etc>

要禁用自动测量日志记录,请移动或删除您创建的目录。

20.14.1.4 检查 stored 进程

stored 功能可执行各种重要任务,例如邮件数据库的死锁和事务操作、强制执行生存期策略以及擦除和删除磁盘上存储的邮件。如果 stored 停止运行,Messaging Server 最终会出现问题。如果 start-msg 运行时 stored 未启动,则其他进程也不会启动。

表 20–12 stored 操作

stored 操作 

功能 

stored.ckp

初始化数据库检查点时触及到该文件。大约每 1 分钟标记一次。 

stored.lcu

每次清除数据库日志时触及该文件。大约每 5 分钟标记一次时间戳。 

stored.per

每次产生精读用户数据库写出时触及该文件。每小时标记一次时间戳。 

有关 stored 进程的详细信息,请参见《Sun Java System Messaging Server 6.3 Administration Reference》中的20.11.6 stored 守护进程 一章。

有关监视 stored 功能的其他信息,请参见27.7 监视消息存储

20.14.1.5 检查数据库日志文件

数据库日志文件是指 sleepycat 事务检查点操作日志文件(位于目录 store_root/mboxlist 中)。如果日志文件堆积,则不会出现数据库检查点操作。通常,单个时间段内存在两个或三个数据库日志文件。如果有更多文件,则可能是问题的征兆。

20.14.1.6 检查用户文件夹

如果要检查用户文件夹,可以运行命令 reconstruct -r -n(递归无修复),此命令将查看所有用户文件夹并报告错误。有关 reconstruct 命令的详细信息,请参见20.14.3 修复邮箱和邮箱数据库

20.14.1.7 检查主存文件

仅当进程已经意外终止时才会存在核心转储文件。查阅这些文件很重要,特别是在消息存储中发现问题时。在 Solaris 中,使用 coreadm 配置 core 文件位置。