我正在尝试写一个小的网站监控程序,它可以检查我的网络主机,看看他们是否关闭,并计算正常运行时间或警告我,如果它关闭。这将是一个独立的应用程序。
我想知道site是否是发现站点是否已关闭的好方法?
提前谢谢。
发布于 2010-12-27 21:59:20
这是你可以做的一件事,但无论哪种方式,这都不是确定的。
某些站点会忽略ICMP数据包,因此不会给出ping响应。即使web服务器(或您想要的任何服务)宕机,一些站点也会响应ping。
您可以确定给定站点将提供服务的唯一方法就是使用该服务。没有什么比这更准确的了。
一种更好的方法是提供一系列步骤来检测故障的位置,至少在您可以控制的基础设施中是这样。例如:
然后,您的测试客户将简单地尝试“联系”这四个点并报告成功情况。由于您希望您的站点大部分时间都处于运行状态,因此我只需检查第四个选项以查看是否一切正常,并仅在发现问题时执行其他检查。
发布于 2010-12-27 21:59:43
这取决于您如何定义ping。如果你说的是“低水平”的ICMP回声,那么它不太可能是一个很好的指标,表明你的网站是否停机。您最好让一个应用程序从您的站点上拉下一个页面,以确保HTTP服务器正在运行。有很多服务可以做到这一点,你也可以从谷歌下载一些代码。http://www.dailyblogtips.com/test-if-a-website-is-down-for-everyone-or-just-for-your/
发布于 2012-03-05 16:39:05
ICMP可以证明服务器是活动的。
TCP检查可以显示web服务器正在工作,但不能显示站点。
要执行站点检查,您应该执行http GET请求(即使HEAD有时也不工作),以确保页面是正常的。(返回状态200)
您可以编写自己的检查系统或使用一些第三方网站,如http://allping.net/
https://stackoverflow.com/questions/4539171
复制相似问题