北京 高顯俊
目前網(wǎng)站可用性監(jiān)控主要有網(wǎng)站監(jiān)控平臺自動監(jiān)控和人工監(jiān)控等手段。網(wǎng)站監(jiān)控平臺自動監(jiān)控的實時性高,比較適合網(wǎng)站數(shù)量多的情況,但需要經(jīng)費的投入。人工監(jiān)控實時性不高,監(jiān)控效果不佳,而且費時費力。
筆者根據(jù)工作需要,利用WGET 工具對學校網(wǎng)站的可用性進行監(jiān)控,取得了較好的效果。
WGET 是Linux 下運行在命令行模式的常用文件下載工具,支持HTTP、HTTPS 和FTP 等協(xié)議。簡單的wget 文件下載命令如圖1 所示。
監(jiān)控網(wǎng)站可用性時,只需要監(jiān)控網(wǎng)站能不能正常訪問,并不需要下載整個頁面,可在WGET 中通過添加—spider 參數(shù)只請求頁面狀態(tài)但不下載頁面,并添加-S 參數(shù)輸出HTTP 響應(yīng)頭,如圖2所示。
通過shell 腳本解析HTTP 響應(yīng)頭,如果Response Code 為200 說明此URL 對應(yīng)的網(wǎng)站訪問正常;如果Response Code 不是200 或者沒有響應(yīng),則網(wǎng)站訪問不正常。對本次監(jiān)控的可用性狀態(tài)與上次監(jiān)控的狀態(tài)進行比較,如果可用性狀態(tài)發(fā)生了變化(如從可用狀態(tài)變成不可用狀態(tài),或者從不可用狀態(tài)變成可用狀態(tài)),再結(jié)合短信平臺等工具及時通知管理人員,從而實現(xiàn)對網(wǎng)站可用性的有效監(jiān)控。主要shell 腳本如下:
圖1 文件下載命令
圖2 添加—spider 參數(shù)
將shell 文件添加到linux 的crontab 計劃任務(wù)中定時執(zhí)行就可實現(xiàn)網(wǎng)站可用性監(jiān)控。
如果將監(jiān)控url 做成參數(shù)傳給shell 文件,可輕松實現(xiàn)多個網(wǎng)站的可用性監(jiān)控。