比较而言,PING是层次更低的应用。一般用来相当粗糙的确认远端连通性,不过因为PING基于ICMP,远端不响应ICMP时PING是无效的。有相当多的服务器出于种种需要是不响应ICMP的,所以单纯靠PING并不能充分验证远端状态
HTTP监测是建立在WEB服务之上的,监测的层次比较高。一般来说可以根据WEB服务端返回的状态码直接进行故障定位。当然对于因服务器资源耗尽造成的WEB服务锁死是没有状态码的,这个时候就需要配合ping以及其他技巧辅助来进行故障定位
假设出现这样一种情况:某网站无法访问,PING返回超时,如果直接判定为服务器系统锁死是比较草率的,因为大多数WEB服务器都要布置FTP服务,因此我们可以telnet一下服务器21端口,如果可以连接,说明服务器操作系统正常,很可能是WEB服务锁死了,如果不能连接,那么通常有三种可能:
1、链路故障,尤其是跨ISP的链路容易出现某条路由通路失效的情况
2、服务器系统锁死
3、服务器掉电
还有其他不太常见的原因也会造成这个情况,比如你本地防火墙设置错误,这些情况都需要考虑
当然对于虚拟主机的用户而言,你不需要做进一步的判断,凡是网站不能访问马上联系空间商客服就对了
如果你是托管主机的系统管理员,你就必须对故障原因做分析——系统为什么会锁死?资源枯竭吗?WEB服务为什么会锁死?代码问题造成资源不能释放?还是受到拒绝服务攻击了?通常而言,HTTP状态码加 telnet 是比较好的调试手段,PING只能进行粗略的判断,不能作为依据