服务器宕机自我检测?

服务器宕机自我检测?

检查服务器是否宕机的最简单方法是什么?不使用第二台服务器或我的家用电脑。最好是自我检测。

我正在考虑让一个 cron 作业每隔几分钟使用 libcurl 来下载页面并查看是否有错误。

答案1

您不会安排可靠的自我检测。一台机器可以记录“是的,我似乎在这里”,但如果它关闭或完全挂起,它将无法记录,因为它会关闭或完全挂起。您还可以检查您的网络服务器是否在本地运行,并且能够记录影响服务器可以看到的所有内容的网络中断(通过使用 libcurl 从外部世界请求对象,或者只是发送 ping 请求),但您将无法检测到阻止 apache 对外部世界可见的更细粒度的故障。

不过,市面上有很多廉价的监控服务,比如平多姆,提供免费帐户,您可以使用该帐户监控一项服务。我建议您尝试类似的东西。

编辑:

根据你问题的评论中的讨论,有许多工具可以让机器监控自己的状态以及(或代替其他机器)。我使用收集(可以在 Debian 和 Ubuntu 标准存储库中找到,在其他发行版中可能也很容易找到)用于收集有关 CPU 负载、I/O 负载、内存使用情况和许多其他变量的数据,以及稍微修改过的这个CGI脚本绘制结果数据集的图表。对于监控异常情况很有用,比如我看到的 VMWare VM 导致的无法解释的 CPUD 负载增加(重新启动 VM 后会消失,但会慢慢再次上升)。有许多类似的工具,因此您应该能够找到一个接近您想要的运行方式的工具。collectd 有许多内置插件如果您需要一些标准中没有的东西,您可以用 C、perl 或 shell 脚本编写自己的脚本。

不过,我仍然建议使用外部监视器,因为有几家提供商会以合理的频率免费监视一台服务器。

答案2

如果您指的是服务而不是服务器本身,我过去曾使用 Monit 进行单服务器设置。

答案3

古老,但是非常简单易用并且可进行非常基本的检查。

http://www.angio.net/consult/autostatus/

答案4

你打算用这些数据做什么?

如果它是某种月末审计/报告,那么您可以轻松编写一个 perl 脚本,将每分钟的记录记录到文件/数据库中(如果它已启动以及是否可以连接到互联网)。

如果它提醒您服务器出现故障,那么您将需要某种外部服务。

相关内容