2010-10-08 51 views
0

有2个服务器,他们需要知道彼此的状态(活死亡)。我的方法是长tcp连接,有没有更好的方法?谢谢。如何检查2台服务器之间的状态?

+1

ping(还有11个去..) – nothrow 2010-10-08 09:46:29

+0

@ Yossarian的ping +1(他们还在试图杀死你吗?) – 2010-10-08 10:24:27

+0

但我想通过程序检查状态 – why 2010-10-08 10:51:38

回答

2

我没有系统管理员,但为什么不简单地使用nmap或类似来检查您的服务器正在侦听的端口是否仍然打开?我的意思是,你只是想知道他们是活着还是死了,对吧?当你的某个服务器崩溃时,该端口不应再被打开。

+0

好! http://github.com/sophsec/ruby-nmap – why 2010-10-10 00:54:42

0

试试这个:

system('ping -c 5' + host) 
0

这听起来好像你正在寻找某种集群/心跳功能。如果是这种情况,那么Linux-HA项目可能会有所帮助(我自己从未使用过)。

2
require 'ping' 

def alive?(host) 
Ping.pingecho host, 15, 80 
end 

Ping.pingecho接受三个参数,主机名或IP,超时时间段和一个端口号。你可以找到更多关于这个问题的信息here

相关问题