是否有一个监控软件套件在一段时间内没有收到任何活动时会提醒我?

这可能是一个非常基本的问题,但是我不太了解Nagios与Munin对比其他监控工具的确切function。

假设我们有一个stream程需要每天运行一些非常重要的基础设施的原因。 我们曾经有过这样的情况:在没有任何人注意到的情况下,这个过程没有运行,或者在其他情况下停止了数天

我想build立一个系统,使我可以很容易地知道什么时候没有发生日常运行的原因。

我可以设置这个过程,在每次成功运行(或每次失败的运行)时发送一封电子邮件,但我不相信接收此邮件的人会注意到没有 “我很好”的消息。

我所设想的是某种types的“tripwire”服务,这个VIP(非常重要的进程)可以在每次运行时发送状态消息,无论是否成功; 如果“tripwire”服务在可configuration的时间内没有收到来自VIP的任何单词,则可以向某人发送警报

(我所设想的和我所描述的第一种方法之间的区别是只在exception情况下发送消息的服务,而不是每天发送状态为正常/正常的消息的服务)。

如果在N天内没有收到某个服务/设备/进程的回应,是否可以设置Nagios来发送类似的警报? 有没有另外一个工具有这个function?

Nagios支持你想要的。 看看被动检查和新鲜度 。 基本上,你可以为你的工作定义一个主机和服务,并告诉Nagios该服务是被动的,并具有特定的新鲜度阈值(例如26个小时)。每当你的进程运行时,让它向Nagios提交一个“OK”结果。 Nagios会跟踪何时提交确定,如果没有提交26小时,它会发布通知。

这个页面上有一个例子。

Nagios只是运行一个命令并查看结果代码。 这意味着,Nagios可以监视几乎任何事情 ,假设您可以编写一个将返回适当状态的命令。

在你的情况下,如果你的进程可以写入一个文件,你可以使用库存Nagios的check_file_age插件,如果文件在一定的时间内没有被修改,它会发出警报。

当然,您也可以让Nagios检查一个邮箱,并在没有定期收到邮件的情况下生成警报。

为了详细说明Jon所说的话,可以使用Nagios“被动”模式服务检查以及新鲜度检查来完成此操作。 被动模式服务检查类似于SNMP陷阱,因为它们可以asynchronous发送到Nagios服务器。

Nagios有一个NSCA(Nagios服务检查接受器)插件,用于从远程主机发送/接收这些被动服务检查: http : //exchange.nagios.org/directory/Addons/Passive-Checks/NSCA-%252D-Nagios-服务-检查-受体/细节

成功运行结束后,您的VIP可以设置为运行带有制表符分隔的消息的send_ncsa,如:

printf "VIP_Host_Name\tVIP_Health\t0\tOK\n" | send_ncsa -H nagios_server 

如果您的贵宾有某种问题,您可以发送适当的提醒:

 printf "VIP_Host_Name\tVIP_Health\t1\tUseful Warning Message\n" | send_ncsa -H nagios_server 

在您的Nagios服务器上有一些configuration,如:

 define service { service_description VIP_Health active_checks_enabled 0 passive_checks_enabled 1 host_name VIP_Host_Name check_freshness 1 freshness_threshold 99000 check_command vip_overdue } 

无论何时超出freshness_threshold(自上次收到该服务的任何信息以来的秒数),要无条件地提出警报,请configuration一个名为vip_overdue的新Nagios check_command,该名称始终以CRITICAL状态和相关错误消息(例如:

 #!/bin/bash echo "CRITICAL: VIP is overdue" exit 2 

是的,Nagios可以。 只需要一个插件来检查不到一天的重要进程的输出。 不存在? 服务退化!

只是给你一个替代Nagios,看看Zabbix 。 它使用Nagios所描述的同样的方法,但我认为Zabbix更易于用户使用,而且更易于configuration。

看看这个post和这个 。

你也可以设置monit来做到这一点。

Monit允许testing文件[1]或其时间戳[2]的内容。

然后,您可以通过它的networking界面来监控这个,如果testing失败,也可以收到电子邮件。

在我看来,与nagios相比,monit很容易设置。 我只是做了我所描述的运行stream程,花了不到15分钟,从下载monit到运行。

1.-( http://mmonit.com/monit/documentation/monit.html#file_content_testing

2.-( http://mmonit.com/monit/documentation/monit.html#timestamp_testing