检查服务器是否关闭的最简单方法是什么?不使用第二台服务器或我的家用电脑。最好是自我检测。
我正在考虑每隔几分钟使用 libcurl 进行一次 cron 作业来下载页面并查看是否有错误。
您不会安排可靠的自我检测。一台机器可以记录“是的,我似乎在这里”,但如果它关闭或完全挂起,它将无法记录,因为它会关闭或完全挂起。您还可以检查您的网络服务器是否在本地运行,并且能够记录影响服务器可以看到的所有内容的网络中断(通过使用 libcurl 从外部世界请求对象,或仅发送 ping 请求)但您不会能够检测到更细粒度的错误,阻止 apache 对外界可见。
不过,有许多廉价的监控服务,其中一些服务,例如pingdom,提供免费帐户,您可以使用这些帐户来监控一项服务。我建议你尝试这样的事情。
编辑:
根据您的问题所附评论中的讨论,有许多工具允许机器监控自己的状态以及(或代替其他人)。我使用collectd(在Debian和Ubuntu标准的存储库中找到,也可能同样容易获得的其他发行版保持)对CPU负荷收集数据,I / O负载,内存使用等诸多变量和稍加修改的版本,这cgi 脚本来绘制结果数据集的图形。用于监视奇怪的情况,例如我看到 VMWare 虚拟机强加的莫名其妙的 CPUD 负载增加(一旦您重新启动虚拟机,它就会消失,只是再次缓慢爬回)。有许多类似的工具,因此您应该能够找到一个也能按照您的需要运行的工具。collectd 有很多内置的插件,如果您需要一些标准中没有的东西,您可以用 C、perl 或只是一个 shell 脚本编写自己的插件。
不过,我仍然建议使用外部监视器,因为有几个提供商会以合理的频率监视一台服务器。