包括監視事件和監視性能,前者檢測IIS不正常運行的原因,後者用於建立用戶系統性能的基準。IIS系統監視使用的Windows 2000工具包括:事件查看器、任務管理器、性能監視器和網路監視器。綜合運用這些工具才能更好的完成系統監視工作。
監視事件
在Windows 2000中"事件"的概念是指:系統或應用程式中需要通知用戶的所有重要事件,或是將被添加到日誌中的項目。 Windows 2000內置了一個用於記錄和管理事件的工具:事件查看器。事件查看器記錄諸 如錯誤或成功啟動服務這樣的事件,並為管理員提供了查看這些事件的工具。我們知道,IIS中的網站是靠IIS服務來實現的,例如Web站點依賴於WWW服務,故服務啟動失敗這樣的事件往往暗示著站點不能正常工作的原因。此外,象TCP/IP錯誤,網路硬體設備錯誤這樣的事件往往也是導致伺服器不能正常工作的罪魁禍首。當系統提示出錯或者IIS出現某種異常情況時,有經驗的管理員通常先檢查事件查看器所記錄的事件。 單擊開始、程式、管理工具、事件查看器打開如右圖所示的事件查看器。全部事件分別保存在三個事件日誌中:應用程式日誌、安全日誌和系統日誌,其包含的事件種類如下:
應用程式日誌:包含由應用程式或系統程式記錄的事件。例如,資料庫程式可在套用日誌中記錄檔案錯誤。程式開發員決定記錄哪一個事件。
系統日誌:包含Windows 2000的系統組件記錄的事件。例如,在啟動過程將載入的驅動程式或其他系統組件的失敗記錄在系統日誌中。Windows 2000預先確定由系統組件記錄的事件類型。
安全日誌:記錄安全事件,如有效的和無效的登錄嘗試,以及與創建、打開或刪除檔案等資源使用相關聯的事件。
對於IIS伺服器而言,系統日誌中記錄的事件顯得更加重要。如圖,在事件查看器控制樹中選擇系統日誌,則右側窗格列出已經被記錄的全部事件,事件分為:錯誤、警告、信息等不同類型。其中錯誤事件意味著服務啟動失敗或者某種功能的喪失,屬於最嚴重的系統事件,應當十分關注;警告事件意味著存在發生錯誤的可能,但錯誤還並未發生,也應予以關注。此外,事件的記錄是按照時間順序從上到下依次排列的,最先發生的事件在事件列表的最下方,這樣,按照一般的邏輯,先發生的錯誤是最致命的,它導致後來發生的全部錯誤,因此,最下面的錯誤通常是IIS工作不正常的根本原因。
事件列表中僅顯示有關事件發生的時間、來源、分類和用戶等有限信息,為了詳細查看某一事件的描述或信息代碼,應雙擊列表中的事件,查閱事件屬性對話框。如右圖所示,在事件屬性對話框中詳細描述事件發生的情況和可能的原因,典型的事件還給出了數據代碼供程式設計師調試使用。單擊事件屬性對話框中的上下箭頭可以繼續查看上一個或下一個事件的詳細信息。
關於事件查看器本身的屬性,需在日誌屬性對話框中配置。三種日誌可以獨立的配置屬性。右擊事件查看器控制樹中的日誌節點,選擇【屬性】,打開如右圖所示的屬性對話框。最重要的日誌屬性是事件的老化機制,因為系統記錄的事件隨著時間的推移會愈來愈多,而我們並不需要保留很久以前的日誌。日誌老化可以通過檔案大小和時間周期來指定,默認值為大於512KB的事件(較舊的)和久於7天的事件將被自動刪除。單擊【清除日誌】按鈕亦可手工清除日誌中的全部事件。
某些情況下,我們不但不需要清除日誌事件,還需要將它們保留起來作為記錄,這是就應將事件記錄保存為.EVT檔案。右擊需要保存的日誌節點,選擇【另外儲存日誌檔案】,然後指定檔案路徑並單擊【確定】。打開被保存日誌檔案的方法與此相反,右擊日誌節點選擇【打開日誌檔案】,然後指定路徑。以檔案方式保存的事件不受日誌屬性的限制,可以長期保存。
簡單性能監視
管理員對系統性能進行監視的工作根據實際情況具有不同的需求,僅需要獲知有關CPU和記憶體的實時數據時,使用任務管理器進行簡單性能監視是個不錯的選擇。任務管理器的性能監視功能雖然不夠強大,但它靈活亦用,對系統影響很小。任務管理器所提供的CPU利用率,記憶體使用率等數據對於判斷系統當前狀態,初步了解系統繁忙程度等任務都是非常有用的。
啟動任務管理器的方法有兩種:按下【Ctrl】+【Alt】+【Del】組合鍵,打開安全性對話框並單擊【任務管理器】;或者右擊系統列空白處,選擇【任務管理器】,均可打開如右圖所示的Windows任務管理器對話框,單擊【性能】選項卡進行監視。
任務管理器提供了CPU使用和記憶體使用兩個主要的實時圖形視窗,以曲線的形式顯示當前的CPU使用率和記憶體占用數量。雙擊CPU占用率視窗,以詳細模式顯示當前CPU占用情況,如右圖所示。左側柱型圖示示實時CPU占用率,右側曲線顯示占用率的歷史情況。在任務管理器的下部,分別列出記憶體使用的詳細信息,包括:系統進程/執行緒總數、物理記憶體、認可用量以及核心記憶體使用情況。這些數據為排錯和性能分析提供了可靠依據,例如CPU或記憶體使用率經常性的居高不下意味著需要升級伺服器,過多的進程意味著應當最佳化Web應用程式。
系統性能監視
任務管理器所提供的性能監視工具雖然簡便,但是其功能太弱,對於複雜、系統的伺服器性能監視工作,還需藉助於系統監視器進行。在Windows NT 4.0中,系統監視器稱為性能監視器。在Windows 2000中系統監視器屬於核心管理工具之一,其功能強大,可以用來監視伺服器活動或監視所選時間段內伺服器的性能。系統監視器即可以在實時圖表或報告中顯示性能數據,又可以在檔案中收集數據或在關鍵事件發生時生成警告。
系統監視器監視的單位是"對象",對象是指特定的控制伺服器資源的服務或機制,例如處理器對象,記憶體對象、Web對象等。每一對象的不同方面的
屬性稱為"計數器",系統監視器真正記錄的是這些計數器的值,例如處理器對象的%Processer Time計數器,記憶體對象的Pages Fault/Sec計數器等。
Windows 2000已經包括了許多計數器,在Windows 2000中安裝IIS服務之後,系統監視器自動添加了特殊的IIS計數器,包括Web服務計數器、FTP 服務計數器、"Active Server Pages"應用程式計數器和"Internet信息服務"全局計數器。其中Web和FTP服務計數器與"Active Server Pages"應用程式計數器監視連線活動,"Internet 信息服務"全局計數器則監視所有IIS服務的頻寬使用和高速快取活動情況。
單擊【開始】、【程式】、【管理工具】、【性能】,在【性能】工具的控制樹中選擇【系統監視器】,打開如右上圖所示的系統監視器MMC視窗。
我們啟動系統監視器之後並沒有任何預設的監視內容運行,管理員必須添加計數器才能讓系統監視器工作。
右擊性能監視器,從彈出選單上選擇【添加監視器】,打開如右圖所示的添加監視器對話框。首先應指定監視對象位於那台伺服器上,默認為監視本地伺服器,選擇【從計算機選擇計數器】後亦可在列表中指定監視網路中其他計算機的對象。鑒於性能監視工作本身也會對系統性能造成影響,故通常在遠程計算機上監視諸如CPU、記憶體之類的對象。隨後從【性能對象】下拉列表中指定要監視的對象,對於IIS而言,可見監視的對象包括Web服務、FTP服務、NNTP伺服器、SMTP伺服器等等,這些對象包括相應服務的全部性能監視內容。每個對象包
括若干計數器,計數器是系統監視器進行監視的最基本單位。選定對象後單擊【從列表選擇計數器】,則在列表框中列出當前對象的全部計數器,計數器代表對象的某一方面特性,例如Web服務包括"每秒傳送的檔案數"、"當前CGI請求數測量異步I/O頻寬使用"、"每秒匿名用戶數"等數十個計數器。
鑒於每一對象包含的計數器數量龐大,管理員不太可能對所有計數器的功能了如指掌,因此需要隨時查閱計數器說明。在列表中選擇計數器後,單擊【說明】,打開如右圖所示的【說明文字】對話框,從中獲得所選計數器的信息解釋信息
單擊選擇計數器後,還要在【實例】列表中選定計數器監視的實例。這裡的實例是指同一對象的平權組件,例如,如果計算機裝有多個處理器,則每個處理器都可看作CPU對象的一個實例;又如對於Web服務對象,伺服器上對每個虛擬站點都是一個實例,選擇實例就是選擇計數器監視的具體目標,選擇實例列表中的【Total】項代表監視的前對象的所有實例。
選擇計數器並單擊【添加】,則系統監視器開始工作,一次可以添加多個計數器同時進行監視。系統監視器默認以曲線形式反映監視計數器的活動情況,單擊工具列中的【顯示直方圖】和【顯示報告】圖示,可將系統監視器顯示方式更改為柱型直方圖(如上左圖所示)或摘要報告(如上右圖所示)形式。
添加多個計數器的情況下,區分這些件事情的曲線活動並不容易,尤其是當它們具有相似的值時。系統監視器通常以不同的顏色和線形區分計數器,在計數器列表中可以對預設分配的計數器顏色及線形進行修改。全部計數器的統一外觀屬性屬於監視器的整體屬性,右擊系統監視器,從彈出選單中選擇【屬性】,打開如右圖所示的系統監視器屬性對話框,其【常規】、【顏色】和【字型】選項卡分別定義了監視器的顯示外觀屬性。
當需要在諸多計數器中突出顯示某一計數器時,先在計數器列表中選中它,單擊工具列中的【加亮】圖示即可。
對IIS伺服器的性能監視立足於IIS服務和伺服器硬體性能兩個方面,前者主要是對IIS相關的服務對象進行監視,獲得關於站點訪問、用戶、安全等方面的詳細信息;而關於伺服器本身的性能監視則涉及當前伺服器硬體配置是否能夠滿足需求的問題。我們知道,過低的配置不能滿足越來越多的用戶訪問需求,其造成的結果是系統回響變慢、例外錯誤增加等。而構成伺服器的各個硬體部分中總有某一或某些組件對系統性能造成的影響更大一些,這就構成了系統的瓶頸。例如,一台PIII800/32M記憶體/15G硬碟的伺服器回響很慢,我們一眼就能看出是過少的記憶體造成了運行的延遲,這裡,記憶體就是瓶頸。對系統瓶頸的升級是最佳的投資,能夠產生最高的性能/價格比。然而,大多數情況下,伺服器的硬體瓶頸並非一目了然,這時就要藉助於系統監視器找出瓶頸所在。通常可能成為瓶頸的部分是:CPU子系統、記憶體子系統、磁碟子系統等,對上述對象的典型計數器進行持續的監視,根據監視結果判斷瓶頸所在並做出升級計畫。
最典型的計數器及其推薦值列於下表中,超出推薦範圍的對象即可認為已經成為系統瓶頸。
對象\計數器 推薦值
記憶體\頁數/秒 00-20(如果大於 80,表示有問題)。
記憶體\可用位元組數 最少 4 MB。
記憶體\提交的位元組數 不超過物理記憶體的 75%。
記憶體\未分頁的位元組池 固定的(緩慢的增長表示存在記憶體泄露問題)。
處理器\% 處理器時間 小於 75%。
處理器\中斷次數/秒 與處理器有關。486/66 處理器最大為 1,000;P90 為
3,500;P200 大於 7,000。 越低越好。
處理器\處理器佇列長度 小於 2。
磁碟(邏輯磁碟或物理磁碟)\% 磁碟時間 儘可能低。
磁碟(邏輯磁碟或物理磁碟)\佇列長度 小於 2。
磁碟(邏輯磁碟或物理磁碟)\平均磁碟位元組/傳輸 儘可能高。
全局 Internet 信息服務\高速快取命中數 % 儘可能高。
Web 服務\每秒總位元組數 儘可能高。
Active Server Pages\請求等待時間 儘可能低。
Active Server Pages\已排隊的請求 零。
Active Server Pages\事務數/秒 儘可能高。
前面推薦的瓶頸查找方法對於一般的IIS系統已經足夠了,但在一個更加嚴格的大型網站伺服器上,短期的監視(即使是在典型情況下的短期監視)並不能很好的提供瓶頸判斷的依據。為此,我們有必要通過日誌檔案的方式對伺服器進行長期監視,得到系統對象的平均特性,利用在數小時甚至數天時間中獲得的數據建立所謂的"基線",為伺服器升級提供可靠的保障。
利用日誌檔案進行及監視的方法如下:
1.在系統監視器中展開【系統日誌和警報】節點,右擊【計數器日誌】,選擇【新建日誌設定】。
2.在【新建日誌設定】對話框中輸入新日誌名稱,單擊【確定】。
3.如右圖所示在新日誌屬性對話框的【常規】選項卡中單擊【添加】打開計數器對話框,指定該日誌檔案記錄的計數器,單擊【確定】返回。
4.在【數據採樣間隔】欄中指定計數器數據多久被採集一次,注意,過密的採集間隔會影響系統的正常工作並造成巨大的日誌檔案。
5.在【計畫】選項卡中指定日誌起止時間,可選的方式有:手動、指定起止時間或者指定記錄時間。單擊【確定】。6.如果選擇手動起止日誌,則在日誌列表中右擊日誌,選擇【開始】,日誌圖示變為綠色。
系統監視器將計數器數據以blg檔案的形式保存起來(預設位置是系統分區的\PerfLogs目錄下)。一旦開始記錄,計數器數據被定期(按照採樣間隔時間)加入日誌檔案,直到到達計畫的日誌結束時間或者手工停止日誌記錄。
建立性能警報
系統監視器能夠持續的記錄某個計數器的值,但是在某些情況下,我們僅需要及時的獲知某一計數器的值是否超過特定的上限或著下限,這就要用到性能警報。在系統監視器中創建警報的方法如下:
1.展開系統監視器的【性能日誌與警報】節點,右擊【警報】,選擇【新的警報設定】。
2.指定新警報的名稱,單擊【確定】。
3.在警報屬性對話框中,單擊【添加】,打開添加計數器對話框。
4.指定需要創建警報的對象和計數器,以及計數器實例,然後單擊【添加】。
5.在【計數器】列表中選擇計數器,指定警報範圍,即被選中計數器的值一旦超過或者低於限制值,即啟動警報。從下拉列表中指定限制方式為【超過】或【低於】,並在【限制】欄中指定限制值。
6.在【常規】選項卡下部指定計數器數據採樣的間隔,對於實時數據類型,監視器以指定的採樣間隔為基準作數據平均值,並用該平均值與限制作比較確定是否傳送警報。
7.單擊【計畫】選項卡,指定警報服務工作的有效時間段,可選的方式有:指定起止時間、指定連續工作時間、手工啟動。對於連續的警報需求,應當採用手工方式啟動警報,直到不需要警報時再手工停止。
8.單擊【操作】選項卡,如右圖所示,指定計數器超過限制時將警報發往何處。一般應選擇【計入應用程式事件日誌】複選框以保留警報事件備份。選擇【傳送網路信息到】複選框並指定將警報傳送到網路管理員所在的計算機。亦可
選擇【執行這個程式】並指定發出警報後自動執行的程式,或者單擊【命令行參數】指定發出警報後自動執行的系統命令。
9.單擊【確定】關閉對話框。
10.根據需要手工啟動警報服務。右擊列表中的警報,選擇【開始】啟動警報。
一旦啟動警報,系統監視器將持續的監視警報計數器,發現其值超過限制時立即將警報信息傳送到指定的網路位置或執行預定應用程式,同時在應用程式日誌中記錄一個警報事件。最常見的警報是監視伺服器可用磁碟空間警報,它及時的向管理員發出磁碟空間不足的信息,避免了由此帶來的損失。
監視網路
儘管系統監視器提供了相當多的網路屬性計數器,但它們都偏重於網路物理性能的情況而非網路數據的內容。Windows 2000提供了專門用於採集網路數據流並提供分析能力的工具:網路監視器。
網路監視器能提供網路利用率和數據流量方面的一般性數據,還能夠從網路中捕獲數據幀,並能夠篩選、解釋、分析這些數據的來源、內容等信息。當監視工作的主要著眼點是網路時,應使用網路監視器進行數據採集和處理。鑒於大多數網路在網路結構上是基於廣播工作的乙太網,廣播的工作方式決定了在一台計算機上可以採集到子網內的全部通信量,因此網路監視器的有效範圍遍及路由器以內的全部計算機通信。
單擊【開始】、【程式】、【管理工具】、【網路監視器】,打開為了監視器視窗。單擊【捕獲】選單,選擇【開始】,啟動網路監視器捕獲功能。
網路監視器的預設顯示模式分為三塊窗格,左上側窗格顯示網路利用率和每秒幀數等有關網路物理特性的信息。這些信息是判斷網路的繁忙程度是關鍵數據。經常處於高利用率的網路顯然應該進行升級。右側窗格顯示網路監視器的統計信息,包括網路統計、每秒統計、捕獲統計和錯誤統計。網路監視器下部的窗格提供了針對每台網路主機的監視工具,從中可以獲知其他計算機的工作狀態,也可以查找未經授權的計算機。
網路監視器還提供了捕獲篩選程式,如右圖所示。主要的篩選方式是主機地址,雙擊【捕獲篩選程式】對話框中的【地址對】,指定捕獲特殊主機之間的數據包。