不斷線竅門之四:隨時監測IIS狀況,自動重啟IIS。office:office" />
使用windows的用戶,還經常遇到一個問題,就是為服務器提供web服務的IIS程序無響應,或者出錯,導致服務中斷,這時服務器還沒有死機,隻是IIS“死掉”了,怎麼辦?當然可以通過遠程管理,人為重啟IIS。不過,如果你恰好不在電腦旁邊,或者無法上網,怎麼辦?我想到一個辦法,可以讓服務器自己經常檢測IIS的運行狀況,發現IIS“死掉”、“出錯”的時候自動重啟IIS,如果連續重啟IIS幾次,還是無法解決問題,就幹脆自動重啟服務器。方法很簡單,也要用到一個小軟件,請看下圖:
這是個和小的監控程序,國產軟件,隻能用於Win2000/XP,不能用於NT4。
先將 HttpMon.exe 複製到硬盤上,並將其添加到Windows的任務計劃中,設置為"計算機啟動時運行",以administrator 的權限運行。這樣監控程序就會隨windows係統一起啟動。
這個軟件同剛才介紹的那個小軟件一樣,具有定時重啟功能,可指定每隔幾天重啟一次計算機或是重啟IIS。若是指定為0天時表示每天重啟一次。不過我們主要用到的不是這個功能。我們主要用的是這個軟件提供的“http監控”功能。
1、首先用記事本,建立一個新文件,寫上一個簡單的代碼,如<%response.write "OK"%>,保存為 state.asp,將來軟件通過訪問這個文件,可以檢查IIS是否死掉。若要檢查鏈接數據庫是否正常還可以把代碼寫為:
<%
set db=CreateObject("ADODB.Connection")
db.open 數據庫鏈接
db.close
%>
運行HttpMon.exe 點擊"添加"按鈕添加監控條件。
a)在"檢查鏈接"裏加上用來監控的頁麵 如 http://coolweb.meibu.com/sendmail.asp
b)在"檢查頻率"中可以指定多長時間檢查一次,默認是20分鍾
c)在返回信息中選擇要檢查的條件,有幾種情況:
返回狀態等於,返回狀態值不等於,文件大小等於,小於,大於。
"返回狀態值" 指IIS返回的客戶端時的狀態。
200 是正常
302 文件重定向
404 文件找不到
500 服務器內部錯誤
默認是:當返回狀態不等於200時(表示IIS出錯時)重起IIS
當上麵情況出現時可做幾個對應處理:
a)重啟計算機 b)重啟IIS c)關閉計算機 d)請求頁麵 "請求頁麵"可用於擴展程序功能,如通過請求一個程序頁麵 (http://coolweb.meibu.com/sendmail.asp)發信給管理員。
2、因為有時重啟IIS不一定成功,所以當上麵錯誤情況出現時,程序會自動縮短檢查的隔時間,默認為5分鍾。也可以自定義。當上麵操作多次重試都不成功時,還可以設置對應的操作。例如:當重啟了3次IIS後還是有錯誤,這時可以在後麵設置為重啟計算機。
3、日誌功能可以記錄Http監控程序的工作情況,他可以記錄什麼時候檢查過什麼頁麵,什麼時候出現了錯誤,對應操作是什麼。
怎麼樣,麻雀雖小五髒俱全,想得夠周到吧?其實這個程序不僅可以用在家裏的服務器上,對於托管在電信機房的固定IP地址的服務器,同樣可以使用這個軟件,可以減輕不少管理員的工作負擔。
設置好之後,今後如果想調整一些設置,還可以通過軟件的“編輯”功能來修改,很方便。