2010-10-08 69 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