是否有一个应用程序或技术可以用来自我监控服务器?
对于一种技术,我正在考虑每分钟写入一个日志文件并每小时清除一次它们,记录我的应用程序未写入的每一分钟(在另一个文件或数据库中)
对于 DB,我认为我可以写入一个随机值然后每分钟读取它。
最后使用 curl、lib 或其他东西在我的页面上执行 GET 请求。也许这永远不会失败?我应该使用代理服务器对自己执行 GET 请求吗?
我计划使用 Windows 服务器。我可能还有 Linux 服务器。我认为 crontab 可以每分钟启动我的应用程序(如果实例已经存在,则自动退出),我不确定在 Windows 上应该使用什么。
答案1
任何服务器监控都应该远程进行 - 否则当您的生产系统出现故障时您永远不会知道。听起来您正在寻找监控和趋势(漂亮的图表等总是好的)。我认为两个选项对您来说是不错的选择:
如果你以前没有使用过服务器监控,我建议你注册一个类似的服务平多姆。
明智的做法是:特别是如果您现在只监控一台服务器,我强烈建议您使用这样的服务,如果您以前从未做过监控,那么监控很容易出错。
话虽如此,如果你最终拥有两台服务器,或者你有预算购买便宜的 VPS,那么你可以选择设置纳吉奥斯+仙人掌或者禅诺监控您的生产系统。
如果您希望主动“修复”问题,对于 Linux,我认为您至少有三个选项,如果您无法进行外部监控,这些选项也可以实现您的原始目标:
Monit 将帮助您监控本地机器上的服务:http://mmonit.com/monit/
God 是 ruby 中的一个可扩展框架,它的功能与 monit 类似,但灵活性更高:http://god.rubyforge.org/
某种像您所描述的脚本系统会跟踪您的正常运行时间并根据需要做出反应 - 我会避免这种情况,除非您有充分的理由不使用预先打包的解决方案。
答案2
正如其他人所指出的......如果我们想在出现问题时通知您,那么监控必须由第二个系统完成!
我已经成功使用WhatsUpGold由 Ipswitch 在几个小型 Windows 网络上使用。对于较大或异构网络,我的一个朋友是开放网络管理系统。
答案3
扎比克斯
我们使用它来监控 100 多台服务器(主要是 W2K 和 W2K3),它运行良好。Zabbix 是免费的,您需要一台 LAMP 服务器。