如何使用簡訊通知伺服器狀態?
到iT邦幫忙
bigcandy(iT邦好手1級)發問:
多年前使用過伺服器監控,是透過E-mail通知。不過時間有點久了,也不好用。想請教大家有沒有自建的伺服器監控法,故障時可以發手機簡訊通知多人?
kradark(iT邦初學者7級):
架Email轉手機簡訊Gateway,程式一點都不用改。在Mail Server上寫一個split程式,收到Mail後解析相關Header,然後發送簡訊 同時也發送Mail。
bizpro(iT邦高手6級):
我用過的三種傳送簡訊方式:
1. 接手機直接傳
2. HTTP/HTTPS:透過lynx、curl
3. SMTP:我用的是自行編譯的mutt,我的系統上不裝sendmail之類的。
第一種,用的是華x的3G網卡,在Ubuntu上沒大問題,不過這片網卡有開機卡住的問題。
第二種,我有一隻監控的Script,其中一小段節錄如下:
MSG="`echo $2 | sed 's/ /%20/g'`"
URI="http://{某家服務公司}/scripts/fpcgi.dll?to=$1&text=$MSG&user=${SMSUSR}&pass=${SMSPWD}&cateid=${SMSCID}&proid=${SMSPID}"
傳送的部分:
/usr/bin/lynx --dump $URI
或/usr/bin/curl -o output.html $URI
至於第三種方式,網路上有很多Email-to-SMS的公司,這個也很方便,只是我用的是自行編譯的mutt,不用Sendmail或Postfix的sendmail。不過因為我的簡訊公司所提供的Email-to-SMS不穩,所以我現在都用HTTP的方式。
只是HTTP或SMTP有一個共通的問題:受限於被監控的網路中,網路斷,簡訊就發不出。
twtw(iT邦高手1級):
怎麼沒有人提 Advanced Host Monitor呢?它會定時去測上游主幹的Router,若發現沒回應,就會透過curl或wget的方式,去query那傳簡訊的網頁,這樣同時幾個網管人員就可收到有狀況的簡訊。
當然,會有樓上所提到的問題,網路不通,就根本傳不出去;
解決方式有二:
1.從網頁傳簡訊從另外的線路去傳,很少會有同時都不通的情況。
2.透過「數據機」撥號到網管的手機,從手機看來電顯示的號碼,就知道有狀況了。
上述軟體還在舊版、功能沒那麼多的時候,就夠用了。而新版的通知、回應處理功能增加了許多,裡面也有提到GSM Modem的傳送方式,就一定能排除掉無法傳訊息到外面的問題。
熱門新聞
2025-01-20
2025-01-20
2025-01-20
2025-01-20