我正在使用 Nagios 来监控我们的企业系统。我们最近添加了一个 ASSP(反垃圾邮件 SMTP 代理)服务器。我目前正在监控服务上的主机、主机负载、磁盘空间和 Sendmail 队列深度。
我如何监控 ASSP 是否运行正常?除了现在监控的内容外,我还可以监控什么来了解服务器是否健康?
监控 Sendmail 队列深度后,如果队列中有大量消息备份,则会发出警报。
有没有 Nagios 插件?(我还没找到任何 ASSP 特定的插件)或者有没有人可以传阅任何自己开发的脚本?
答案1
好吧,首先你可以检查服务是否正在运行。定义一个这样的命令:
定义命令 { 命令名称 check_snmp_proc_by_name 命令行 $USER1$/check_snmp_process.pl -C public -2 -H $HOSTADDRESS$ -n $ARG1$ --warn=0,1 --critical=0,2 }
显然,您需要安装相关的插件,我认为这是大多数发行版中的标准插件。
然后像这样使用它:
定义服务 { 使用正常服务 host_name 您的邮件服务器 service_description 反垃圾邮件 SMTP 代理 check_command check_snmp_proc_by_name!assp }
您需要将上面的“assp”替换为正在运行的守护进程的实际名称。
这是最简单的检查。如果您想做更多的事情,您显然可以编写自己的 shell 脚本,尝试通过代理发送垃圾邮件,然后检查邮件是否到达了应去的地方(取决于您的系统配置)。nagios 网站有关于此脚本需要返回给 nagios 的类型的值的文档。您很可能必须在守护程序运行的服务器上运行该 shell 脚本(以便能够检查结果)。但您可以使用 check_by_ssh 插件远程触发它并将结果传回您的 nagios 服务器。
答案2
我建议监控总体结果:让服务发送一封电子邮件,例如 15 分钟,并检查它是否到达。(或者没有到达,如果你发送了垃圾邮件)。