监控方式

作者:mailstore,更新时间:2020-07-16 15:31:02

MailStore仅提供有限的通知或监视功能,但是可以使用外部组件监视存档过程的状态。

使用外部监控软件

MailStore Nagios / Icinga-Plugin

Scripts脚本压缩包包括check_mailstore.py插件。插件会检查给定时间段内运行的配置文件数或已归档的电子邮件数。至少需要MailStore Server 8。除非另有说明,否则脚本是根据MIT许可条件发布的。

安装

Python API包必须安装。根据您的发行版,您可能必须安装python-argparse软件包。 该插件将连接到MailStore Server管理API。因此,必须在MailStore服务器服务配置中启用它。

用法

可以在Nagios / Icinga中定义监视配置文件成功执行的检查,如下所示:

define command {
 command_name check_mailstore
 command_line /usr/local/lib/nagios/plugins/check_mailstore.py --host $ARG1$ --username $ARG2$ --password $ARG3$ -s since:$ARG4$ --status $ARG5$ -c $ARG6$ -w $ARG7$ --search $ARG8$
 }

适当的服务定义可能如下所示:

define service {
 host_name mailstoreserver
 service_description MailStore Succeeded Profiles
 check_command check_mailstore!mailstoreserver!admin!sUp3rs3CcR6ET3!1H!succeeded!8!10!profiles
 use generic-service
 }

此测试检查在最后一个小时(-s1 since:1H)中是否成功执行了10个以上的任务(–status成功)。

注意:监视SPE实例时,必须使用服务提供商的管理员凭据,该凭据用于登录到SPE管理控制台。

参量

该插件支持以下参数。

--help|--h

显示帮助页面。

--host HOST

MailStore服务器的主机名或IP地址。 –port PORT MailStore管理API接受连接的TCP端口。默认值为8463。

--username USERNAME|--user USERNAME

登录MailStore服务器的用户名。这必须是MailStore管理员。

--password PASSWORD|--pass PASSWORD

用户密码。

--start STARTTIME|-s STARTTIME

指定检查周期的开始时间。开始时间必须以YYYY-mm-ddTHH:MM:SS的格式给出(例如2013-01-01T00:00:00)。该末端参数必须给出。或者,也可以使用以下格式的时间段:XY,其中X是数字,Y是以下字母之一:Y(年),m(月),d(天),H(小时),M (分钟)S(秒)。示例-s since:90M(最近90分钟)。

--end ENDTIME|-e ENDTIME

指定时间段的结束时间。格式为YYYY-mm-ddTHH:MM:SS(例如2013-02-28T23:59:59)。在–start中使用since时,不需要此参数。

--timezone TIMEZONE

MailStore Server以UTC时间存储日期。可以使用此参数调整插件的输出。默认情况下,使用$ local。这对应于MailStore Server操作系统的时区设置。使用API​​命令GetTimeZones可以显示可能的值。在大多数情况下,不需要此参数。

--machinename MACHINENAME

按MACHINENAME过滤结果。当监视不同计算机的本地配置文件的结果时,这很有用。

--filteruser USERNAME

按USERNAME过滤结果。当监视不同用户的配置文件的结果时,这很有用。

--profile PROFILE

通过归档配置文件过滤结果,必须提供归档配置文件的ID。可以使用API​​方法GetProfiles检索配置文件的ID 。或者,您可以在MailStore Client中选择配置文件,然后按Ctrl + Shift + P获取原始配置文件详细信息。

--status STATUS

按状态过滤结果。可能的值是成功,失败,取消,断开连接,threadAbort,completedWithWarnings和completedWithErrors。可以通过在#前面加上否定状态。默认设置成功。如果要获取所有概要文件的结果,而不管其状态如何,请使用#all。

--search [profiles|emails]

指定是否检查返回的配置文件数或已归档的邮件数,默认为个人资料。

--warning WARNING|-w WARNING

警告阈值。

--critical CRITICAL|-c CRITICAL

临界阈值。

--compare COMPARE

指定如何将警告和关键值与结果数量进行比较。可能的值是lt,le,eq,ge,gt(小于,小于或等于,等于,大于或等于,大于)。默认值为le(小于或等于)。

--DEBUG

如果给出,则匹配结果将打印到标准输出。这仅对调试有用。

其他例子

check_mailstore.py --host 192.168.0.1 --username admin --password sUp3rs3CcR6ET3 -s "since:1d" -c 20 -w 22 --search profiles --status="succeeded" --compare lt

如果在最后一天(-s “since:1d”)内成功运行(–status “successed”)小于20个(-c 20)配置文件(–search profile)。当发现成功运行的配置文件少于22个,则会发出警告。

check_mailstore.py --host 192.168.0.1 --username admin --password sUp3rs3CcR6ET3 -s "since:1d" -c 5 -w 2 --search profiles --status="#succeeded" --compare gt

如果在最后一天(-s “since:1d”)内未成功运行(–status “#succeeded”)超过5个(-c 5)配置文件(–search profile)。当发现未成功运行的配置文件超过2个,则会发出警告。

check_mailstore.py --host 192.168.0.1 --username admin --password sUp3rs3CcR6ET3 -s "since:1d" -c 5 -w 20 --search emails --profile 7

如果在一天内ID为7的配置文件(–profile 7)存档的电子邮件(–search emails)少于5封(-c 5)。当电子邮件归档少于20封时发出警告,则会发出警告。

监视许可用户

所述check_mailstorelicence来自Scripts脚本压缩包,可被用来监测在邮件存储现有用户使用Nagios / Icinga。不能使用任何外部参数,所有配置都必须在文件内部完成。如果您从外部源同步用户,并且一步创建的用户数量超过免费许可证数量,则此监视将不会发出警报,因为它仅检查现有用户,而不检查应创建的用户。 命令定义:

define command {
 command_name check_mailstorelicence
 command_line /usr/local/lib/nagios/plugins/check_mailstorelicence.py --host $ARG1$ --password $ARG2$ --licensed $ARG3$ --warning $ARG4$ --critical $ARG5$
 }

Nagios / Icinga与NSClient ++

如果您的网络中已经在使用监视软件,例如Nagios / Icinga,Zabbix或HP OpenView,则建议监视Windows任务计划程序的结果。 本示例要求在文件NSC.ini的[NRPE]部分中设置参数allow_arguments = 1。在公共环境中,另一种更安全的方法是在[ 外部别名]]下定义别名。 在Nagios / Icinga下,相应的服务检查如下所示:

define service {
 use generic-service
 host_name mailstore.mydomain.tld
 service_description Scheduled Tasks
 check_command check_nrpe!CheckTaskSched!filter="exit_code ne 0" "syntax=%title%: %exit_code%" "crit=>0"
}

服务检查在Windows任务计划程序中列出所有计划任务的列表,这些任务的退出代码不等于零。如果有多个事件,则设置检查状态为“严重”。返回包含退出代码不等于零的所有任务及其退出代码的列表。