Messaging Server 提供了 watcher 和 msprobe 两个进程来监视各种系统服务。watcher 监视服务器崩溃并根据需要重新启动服务器。msprobe 监视服务器挂起(不响应)。具体来讲,msprobe 可以监视以下内容:
服务器响应时间。msprobe 可以使用已启用服务器的协议命令连接至这些服务器并测定其响应时间。如果服务器响应时间超出报警阈值,系统将向服务器发送报警邮件(请参见警报邮件);如果该响应时间超出指定的超时时长,将重新启动服务器。服务器响应时间同时记录到计数器数据库和默认日志文件中。可以使用 counterutil 来显示服务器响应时间的统计信息(counterutil)。
以下服务器由 msprobe 监视:imap、pop、 http、cert、job_controller、smtp、lmtp、mmp 和 ens。smtp 或 lmtp 未响应时,系统将重新启动分发程序。ens 无法自动重新启动。
磁盘使用量. msprobe 检查每个邮件存储分区的磁盘可用性和使用量。具体来讲,它可以检查邮件存储 mboxlist 数据库目录和 MTA 队列目录。如果磁盘使用量超出了配置的阈值,则发送警报邮件。磁盘大小和使用量被同时记录到计数器数据库和默认日志文件中。管理员可以使用 counterutil 实用程序(请参见counterutil)显示磁盘使用量的统计信息。
邮件存储 mboxlist 数据库日志文件积累。日志文件积累是 mboxlist 数据库错误的迹象。msprobe 计算活动日志文件的数目,如果活动日志文件的数目大于阈值,msprobe 会将紧急错误消息记录到 default 日志文件中,以通知管理员重新启动服务器。如果启用了 autorestart(local.autorestart 为 yes),将重新启动存储守护进程。
watcher 和 msprobe 由 configutil 选项(如表 23–5 所示)控制。有关详细信息,请参见失败的服务或未响应服务的自动重新启动。
表 23–5 msprobe 和 watcher configutil 选项
选项 |
说明 |
---|---|
启用服务器自动重新启动。自动重新启动失败或挂起服务。默认值:否 |
|
失败重试超时。如果服务器在此指定时间内失败超过两次,则系统将停止尝试重新启动服务器。应当将该值(以秒为单位设置)设置为比 msprobe 间隔 (local.schedule.msprobe) 更长的时间段值。默认值:600 秒 |
|
特定服务器在重新启动之前的超时。service 可以是 imap、pop、http、cert、job_controller、smtp、lmtp、mmp 或 ens。 默认值:使用 service.readtimeout |
|
警告消息被记录到 default 日志文件之前的特定服务器无响应秒数。service 可以是 imap、pop、http、cert、job_controller、smtp、lmtp、mmp 或 ens。 默认值:使用 local.probe.warningthreshold |
|
警告消息被记录到 default 日志文件之前的服务器无响应秒数。 默认值:5 秒 |
|
用于检查队列大小是否超过由 alarm.diskavail.msgalarmthreshold 定义的阈值的 MTA 队列目录。 默认值:无 |
|
重新启动该服务器之前的服务器非响应时段。请参见 local.schedule.msprobe。 默认值:10 秒 |
|
msprobe 运行计划。crontab 样式的时间安排字符串(请参见表 18–10) |
|
启用 watcher,用于监视服务失败。IMAP、POP、HTTP、作业控制器、分发程序、邮件存储 (stored)、imsched 和 MMP。(LMTP/SMTP 服务器由分发程序监视,LMTP/SMTP 客户机由 job_controller 监视。)对于特定失败,会将错误消息记录到默认日志文件中。默认值:启用 |
msprobe 可以通过电子邮件向邮寄主管发出报警(请参见监视 imapd、popd 和 httpd),针对指定的情况发出警告。下面显示了当超出特定阈值时发送的一个电子邮件警报样例:
Subject: ALARM: server response time in seconds of “ldap_siroe.com_389” is 10 Date: Tue, 17 Jul 2001 16:37:08 -0700 (PDT) From: postmaster@siroe.com To: postmaster@siroe.com Server instance: /opt/SUNWmsgsr Alarmid: serverresponse Instance: ldap_siroe_europa.com_389 Description: server response time in seconds Current measured value (17/Jul/2001:16:37:08 -0700): 10 Lowest recorded value: 0 Highest recorded value: 10 Monitoring interval: 600 seconds Alarm condition is when over threshold of 10 Number of times over threshold: 1 |
您可以指定 msprobe 监视磁盘和服务器性能的频率,以及在什么情况下发送警报。可以通过使用 configutil 命令设置报警参数完成此操作。表 23–6 显示了有用的报警参数及其默认设置。请参见《Sun Java System Messaging Server 6 2005Q4 Administration Reference》中的“configutil Parameters”。
表 23–6 有用的报警邮件 configutil 参数
参数 |
说明(括号中为默认设置) |
---|---|
(localhost) 向其发送警告邮件的计算机。 |
|
(25) 发送警报邮件时要连接的 SMTP 端口。 |
|
(Postmaster@localhost) 向其发送警报通知的用户。 |
|
(Postmaster@localhost) 警报发件人的地址。 |
|
(可用邮件分区磁盘空间的百分比。)磁盘可用性警报的说明字段的文本。 |
|
(3600) 磁盘可用性检查之间的时间间隔(秒)。设置为 0 将禁用磁盘使用情况的检查。 |
|
(10) 当磁盘空间的可用性低于此百分比时将发送警报。 |
|
(-1) 指定当磁盘空间的可用性低于阈值 (-1) 或高于阈值 (1) 时是否发出警报。 |
|
(24)后续重复的磁盘可用性警报之间的时间间隔(小时)。 |
|
(以秒为单位的服务器响应时间。)服务器响应警报的说明字段的文本。 |
|
(600) 服务器响应检查之间的时间间隔(秒)。设置为 0 将禁用服务器响应的检查。 |
|
(10) 如果服务器响应时间超过此值(秒),则发出警报。 |
|
(1) 指定当服务器响应时间大于 (1) 或小于 (-1) 阈值时是否发出警报。 |
|
(24) 后续重复的服务器响应警报之间的时间间隔(小时)。 |