自动运行时间监视器?

有一个应用程序或技术,我可以使用自我监视服务器?

对于一种技术,我正在考虑每分钟写一个日志文件,每隔一小时清理一次,每分钟记下我的应用程序没有写入(在另一个文件或数据库中)

对于DB我想我可以写一个随机值,然后每分钟读一遍。

最后使用curl,lib或其他东西在我的页面上做GET请求。 也许这永远不会失败? 我应该使用代理服务器对自己做一个GET请求?

我打算使用Windows服务器。 我也可能有一个Linux服务器。 我想crontab可以启动我的应用程序每分钟(自我quiting如果一个实例已经存在),我不确定在Windows上使用什么。

任何对服务器的监控都应该远程完成,否则当你的生产系统停机时,你永远不会知道。 这听起来像你正在寻找监测和趋势(漂亮的graphics/总是很好)。 我想说的两个select对你来说是很好的select:

如果您之前没有进入服务器监控,我会注册一个像pingdom这样的服务。

对智者说的话:特别是如果你现在只监视一台服务器,我会强烈推荐使用这样的服务,如果你以前从来没有做过,那么监控是很容易做错的。

这就是说,如果你最终有两台服务器,或者你有一个便宜的VPS的预算,你可以select安装nagios + cacti或zenoss来监控你的生产系统。

如果您正在寻求主动“修复”问题,对于Linux,您至less有三个选项,因为我看到它,如果您无法进行外部监控,这也可以达到您的原始目标:

  • Monit将帮助您监控本地机器上的服务: http : //mmonit.com/monit/

  • 上帝是一个可扩展的框架在ruby做类似的事情monit,但广告增加的灵活性: http : //god.rubyforge.org/

  • 某种types的脚本化系统,像您所描述的那样,会跟踪您的正常运行时间并在必要时作出反应 – 除非您有充分理由不使用预先打包的解决scheme,否则我会避免这种情况。

正如其他人所指出的那样,如果想法是在某种情况下通知您,那么监控必须由第二个系统来完成!

我在几个以Windows为中心的小型networking上使用了Ipswitch的WhatsUpGold ,取得了很好的成功。 对于更大或异构的networking,我的一个朋友是OpenNMS的首席厨师和洗瓶机。

ZABBIX

我们使用它来监视超过100台服务器(主要是W2K和W2K3),它工作正常。 Zabbix是免费的,你需要一个LAMP服务器。