https://newera17031.activehosted.com/index.php?action=social&chash=a60937eba57758ed45b6d3e91e8659f3.2219&nosocial=1
https://newera17031.activehosted.com/index.php?action=social&chash=a60937eba57758ed45b6d3e91e8659f3.2219&nosocial=1

觀點

使用MOM 2005管理網站應用系統運作

2006 / 03 / 08
顧武雄
使用MOM 2005管理網站應用系統運作

在現今企業IT營運的環境中,對於各項網路應用系統的建置規劃大多已採用前端網站(Web)與後端資料庫管理系統的架構模式,對使用者來說,除了易於存取之外(只需要透過瀏覽器),各自獨立運作的前後端運作方式,在執行過程中的效能上也提升許多;而對於IT管理員來說,在伺服端的系統管理上也相對的清楚明朗許多,因為前端應用系統有專屬的網站管理平台,而資料的儲存則也有專屬的資料庫管理系統負責維護,更貼切的是在用戶端的連線部署上,不再需要每一部電腦一一去安裝應用系統專屬的使用者介面連線程式了,也就是管理人員只要控管好用戶端瀏覽器程式的連線安全原則,即可解決大部分用戶端可能面臨的網路安全問題,對架構在企業基礎網域架構的Active Directory環境來說,只要透過簡易的群組原則來一致化配置即可輕鬆達成,至於前端與後端系統的運作管理只要交給MOM 2005,便可以輕易的幫我們達成以下幾點重要的管理目標。
可用性的監控(Availability)
包含用戶端與伺服端的連線偵測,以及整個應用系統執行功能的正常與否測試。


系統健康狀態的監控(Health)
包含對於網站系統平台與資料庫管理系統的組態設定監視,以及所有可能潛在問題的挖掘,讓管理人員可以預先得知與防範隨時可能爆發的問題。

效能運作狀態的監控(Performance)
凡是有關於連線中的回應速度、前後端系統本身的執行效能,以及各項管理人員自訂或是管理組件預設的效能物件臨界值的偵測,這一些都是效能運作監控所能提供的管理範圍。

在Microsoft Windows Server System的架構環境中,所使用的前端網站系統
平台便是內建於Windows Server 2000或2003中的IIS 5.0或IIS6.0,而後端的資料庫管系統則是SQL Server 2000,因此這三大管理目標便是衝著這兩大系統而來,所以我們必須預先準備好以下兩個重要的管理組件(Management Packs),管理人員可以自行至Microsoft網站上下載最新版本即可。
*Microsoft Windows IIS MOM 2005 SP1 MP
*Microsoft SQL Server 2000 MOM 2005 MP

IIS的監控介紹
透過Microsoft免費提供的IIS(Internet Information Service)管理組件,可以讓MOM 2005輕易監控到在事件檢視器中所有關於IIS的記錄,它並且包含了一些專門用來測試和追蹤IIS網站連線回應狀態的手稿檔,及有關效能運作狀態的資料收集,以下說明幾項重要的預設警示項目:
*針對特定的網站發生錯誤或遺失的連線
*大量的網站連線流量阻礙了使用者的正常連線
*組態錯誤或系統資源短缺導致服務品質不佳
*可能的安全問題發生,例如有嘗試性的緩衝區溢位攻擊
*網站應用程式的執行錯誤,導致網站服務的連線中斷


如圖1所示,完成了IIS管理組件的下載與匯入後,便可以在管理組件節點下的規則群組中發現多了[Microsoft Windows Internet Information Services]項目,展開後可發現管理的項目被區分為IIS 5.0以及IIS 6.0,它們各自都包含了各項服務與安全性的監控規則以及報表資料的收集規則,不過在IIS 6.0部分還額外包含了對於網站與應用程式集區的管理規則。

圖1 察看IIS規則群組內容(可點選圖放大觀看)


至於在IIS 6.0核心服務的監控部分,除了可透過系統管理員主控台中將其下的[Core Services]項目展開來,可察看到各項服務的監控規則外,也可透過操作員主控台的[狀態]項目中針對IIS的選項進行點選,來得知每一部受管理電腦的IIS的各項服務中整體執行狀態,如圖2所示依序這包括了FTP、IISAdmin、NNTP、SMTP以及Web服務,此外如果我們再檢視一下有關IIS可執行的工作項目部分,則包含了[Restart IIS]以及[Run IIS Service Discovery],前者用於重新啟動整個IIS服務,而後者則是立即執行對於IIS服務狀態資訊的探查,也唯有這項工作的正常執行才能夠讓後續報告主控台中的報表資料得以完整,然而在規則群組預設的設定中對於服務資訊的探查時間為7天,管理人員可自行到相對應的[State Monitoring and Service Discovery]規則群組資料夾下,修改其事件規則內容中[資料提供者]頁籤的設定值,或是以手動的方式點選此工作項目都是可以的。


圖2 察看目前監測的服務(可點選圖放大觀看)

為了有效監控到整個網站連線的執行過程,有關IIS管理介面中的各個網站的記錄檔功能皆必須確認已經設定在啟用狀態,請在每一個網站內容的[網站]頁籤中首先確認[啟用記錄]的選項已經勾選,至於細部的記錄檔排程、檔案位置以及所要記錄的欄位選擇,則可以點選[內容]按鈕來完成進階設定。


圖3 察看HTTP 403合併規則內容(可點選圖放大觀看)

接下來讓我們來了解一下許多IT最關心的網站服務執行與連線狀況的監控部分,請在系統管理員主控台中的介面中點選至[Core Services]項目下的[World Wide Web Publishing Service]資料夾,在此預設共有29項的事件規則來監控此服務的運作,其中各位最常遇見的HTTP 400、500、404、405,以及與安全性連線相關的HTTP 403、414事件的偵測與收集在此都可以檢視的到,如果您仔細觀察將會發現系統對於這一些事件的偵測設計都是倆倆相對應的,也就是說都會有一條負責指定事件條件的收集,以及緊接著一條負責產生警示的規則,我們以下列幾個事件規則作為範例說明:
1. Security: Error 403: "Forbidden":如圖3所示設定當發生在120秒之內,超過100次的相同事件時產生[安全性問題]的警示,警示部分則是由另一條相對應的事件規則來設定,包含以下每一條偵測規則皆是如此,如果您覺得發生次數的條件設定值太大都可以在此進行修改,修改完畢後同樣只要點選[管理組件]的節點上按下滑鼠右鍵選取[認可組態變更]來立即生效即可。
2. Error 404: A client received a "Page Not Found" error:設定當發生在120秒之內,超過200次的相同事件時產生[警告]的警示。
3. Error 405: "Method Not Allowed" Error:設定當發生在120秒之內,超過50次的相同事件時產生[警告]的警示。
4. Security: Error 414 - "Request-URL Too Long":設定當發生在120秒之內,超過20次的相同事件時產生[安全性問題]的警示。
5. Error 500: "Internal Server Error":設定當發生在120秒之內,超過100次的相同事件時產生[警告]的警示。

前面所提到的都是有關IIS的運作狀態偵測來產生相對應的警示訊息在資料庫中,讓管理人員可以快速從操作員主控台或Web主控台來察覺到其相關的嚴重性程度,進而藉由產品知識庫中獲得解決問題的方法,至於相關的報表統計資料分析則可透過報告主控台進行檢閱,如圖4所示,這便是預設IIS管理組件所提供的報表項目,透過點選可讓我們快速得知所有受管理電腦IIS的組態設定狀況、每個應用程式集區的執行狀態及有關HTTP 400與HTTP 5000錯誤發生在每一天的數量統計報告,如圖5所示,就是一個典型HTTP 400錯誤量的統計報告,在此您可以篩選所要察看的日期範圍及電腦群組與電腦項目。

圖4 IIS預設報表項目(可點選圖放大觀看)


圖5 察看HTTP 400錯誤的統計(可點選圖放大觀看)
SQL Server的監控介紹
看完了前面有關於前端IIS網站運作狀況的監控方法之後,接下來要探討的是有關後端資料庫系統SQL Server 2000運作狀態的監控。對於一位網路系統管理人員來說,要徹底掌握SQL Server的運作並不是一件易事,即便是一位專職的資料庫管理人員(DBA)恐怕都很難,更何況台灣大多數的IT人員都是身兼多職,絕對很少有企業只要你負責寫好程式或是只要維持網路的正常運作即可,而是要你身負十八般武藝樣樣都得做好,否則您如何在繁忙之餘又要管理以下幾點可能的資料庫問題呢?
1. 公司進銷存、會計系統或是ERP系統連不上請問哪裡出問題?
2. 應用系統連線正常,可是各項作業功能處理速度很慢是資料庫問題嗎?
3. 資料庫排程備份工作我都有設定,只是我如何能夠知道它是成功完成備份作業呢?
以上三點舉例是一般IT維運的過程中常見的問題,在真實的運作環境中往往問題會來得比這一些範例複雜許多,怎麼辦呢?透過SQL Server 2000的管理組件與MOM 2005的結合來協助我們解決。如圖6所示,完成了管理組件的安裝後,在規則群組中便會多了一個[Microsoft SQL Server]的項目出來,展開之後會發現它已幫我們分類建立好所有需要管理的規則定義,包含了用戶端的連線模擬測試監控、伺服端效能資料的收集與各項臨界值的偵測、資料庫的健康狀態與可用性的監控、相關報表資料的蒐集等。

圖6 察看SQL Server 2000規則群組(可點選圖放大觀看)


我們先以預設規則群組中的[Client Side Monitoring]規則定義來作為接下來的範例說明。當我們展開至這個節點上的[事件規則]項目時,會發現有三個現有的事件項目定義,其中第一項[SQL Server Remote Connectivity]是負責用來模擬用戶端連線的可用性測試,而後兩項則負責依照測試結果,產生相關的執行失敗與執行時間過長的警示。在這裡必須先完成第一項偵測內容的設定,請在開啟該項目內容之後切換至[回應]的頁籤中,然後點選[編輯]按鈕來修改此手稿檔執行時的參數內容,如圖7所示。在這裡由上而下共有五項參數設定依序分別說明如下:
1. CheckInstances:請輸入欲進行連線測試的SQL Server執行個體名稱。
2. DatabaseName:請輸入在指定執行個體的資料庫中,欲用來作為連線測試的資料庫名稱。
3. ExecutionTimeAlert:設定連線查詢測試的執行時間臨界值,一旦指定的用戶端連線查詢作業超過此值,便會自動產生編號為10411事件代碼的警示,進而藉由[SQL Server Remote Connectivity - Execution Time Warning]的事件偵測規則來產生[警示]的項目在資料庫中。
4. InformationEvent:此設定值預設為[False],如果我們將它變更為[True]時則系統會記錄每一次產生的一般資訊事件項目。
5.Query:設定進行用戶端連線查詢資料庫測試作業時,所要執行的命令語法,預設值設定為執行SELECT GETDATE(),也就是回應當天的日期時間,當然啦您可以自行輸入所要執行測試查詢的T-SQL語法。

圖7遠端連線測試程式碼參數設定(可點選圖放大觀看)

完成上述有關[SQL Server Remote Connectivity]事件項目的回應手稿檔參數設定之後,還不能算完成設定的工作,因為我們還沒有告訴它要採用哪一些受管理電腦來進行這一些的排程測試作業。請在系統管理員主控台的[電腦群組]節點窗格中,開啟[Microsoft SQL Server 2000 Client Side Monitoring]項目內容中的[包含的電腦]頁籤,然後點選[新增]按鈕來將所有要加入的測試電腦一一新增進來,建議您可以選擇資料庫所在位置的本機電腦以及一部同樣受管理的遠端電腦,不過在此必須特別留意被指定的測試電腦必須有安裝SQL-DMO元件,才能夠讓排程測試得以順利執行,至於若想要修改排程的測試時間,則可以在開啟[SQL Server Remote Connectivity]規則項目中的[資料提供者]頁籤來點選[修改]按鈕來完成。
完成以上所有規則與測試電腦的設定之後,一旦在指定的連線測試時間中發生了失敗或逾期的連線時,如圖8所示,此刻當我們開啟操作員主控台[警示]項目時,便可以察看到前面所提到的事件規則所觸發的錯誤警示項目,內容中清楚說明了指定的遠端電腦執行SELECT GETDATE()進行查詢測試時發生錯誤,這表示,縱使被指定偵測的SQL Server服務在正常執行中,但是應用系統所連線存取的資料庫不見得可以被正常連線存取,現在透過這樣的事件規則偵測機制便可更進一步確認資料庫的可用性。

圖8 遠端連線測試錯誤事件(可點選圖放大觀看)
在報表的檢視部分如圖9所示,依序包含了所有的失敗登入計數、所有的成功登入計數、SQL Server備份歷程記錄、SQL Server封鎖分析、SQL Server封鎖分析明細資訊、SQL Server組態設定資訊、SQL Server鎖定分析SQL Server服務套件報告、前25%登入失敗統計、前25%登入成功統計、每日使用者連線數量的統計、尖峰時間的使用者連線數量統計,如圖10所示。

圖9 SQL Server 預設報表項目(可點選圖放大觀看)



圖10 尖峰時間的使用者連線數量統計(可點選圖放大觀看)

前面所提到的各項登入成功與失敗的統計,這部分在預設的狀態下是沒有資料可參考的,因此,當您點選該報表項目時,會發現沒有任何的資料可顯示,這是因為在SQL Server預設的狀態下有關稽核的設定是沒啟用的,因此您必須開啟SQL Server Enterprise Manager中的伺服器項目[內容],接著切換到[安全性]頁籤中將位在稽核層級的區域裡選取[全部]項目即可。
應用程式運作監控介紹
看完前面有關使用MOM 2005來監控前端網站應用程式平台IIS,以及後端資料庫SQL Server的運作方法後,接下來將深入網站應用程式的可用性與執行效能的監控,想要達成這一項監控目標,同樣必須藉由模擬交易的方法來達成,才能夠真正確認目前不僅是網站應用程式服務正在執行中,並且可成功地經由一個標準的自動化測試流程,來確定它的基本連線、登入與使用上是沒問題的。然而有關像這樣的模擬測試規則的使用,如果您還有印象的話應該還記得前面介紹過的SQL Server 2000的用戶端連線測試規則吧,事實上除了它之外還有Active Directory、Exchange Server、Live Communication Server、MOM以及Windows DFS等管理組件都有提供類似於此的測試方法。



圖11 安裝Web Sites and Services管理組件(可點選圖放大觀看)

1. Server Configuration元件:此元件必須安裝在MOM管理伺服器,它藉由BITS來傳送測試連線要求的資料,如果您計畫在此伺服器上檢視[Web Sites and Services]所提供的報表,則必須確認有關MOM的報表元件已經成功安裝。
2. Agent Configuration元件:此元件必須安裝在有安裝MOM 2005代理程式的受管理電腦上,並且需有預先安裝好[Microsoft .NET Framework 1.1],如果進行測試的連線通訊埠為SSL,還必須加裝[Microsoft .NET Framework 1.1]的SP1更新程式,後續連線的測試計畫全都會透過此電腦來進行週期性的測試工作(HTTP Request),過程中發生的相關事件與警示都會回報(HTTP Response)給MOM管理伺服器。
3. MP Configuration設定精靈:此元件必須安裝在有安裝MOM 2005系統管理員主控台的電腦上,也就是說可以直接將它與[Server Configuration]元件都安裝在管理伺服器上,這同時也是常見的部署方式。

廢話不多說!接下來讓我們來看看有關於這一支[Web Sites and Services]管理組件的安裝,首先來到MOM的管理伺服器上我們必須在[新增或移除程式]的頁面中點選[新增/移除Windows元件]項目,然後點選進入[Application Server]\[網際網路資訊服務(IIS)]的子頁面中將[幕後智慧型傳送服務(BITS)伺服器延伸]元件勾選安裝即可,接著請在MOM的管理伺服器上點選剛剛下載下來的[MOMWssMP.msi]安裝程式,此刻系統會詢問我們是要採用完整安裝(Complete)還是自訂安裝(Custom),在此我們選取自訂安裝後如圖11所示,在這裡會出現我們前面所提到的三個元件的安裝選擇,您可以依照實際測試需求來選擇安裝,在此建議您可以直接將[WSS MP Client]與[WSS MP Server Configuration]安裝在MOM管理伺服器上,完畢之後再執行一次安裝程式在受管理的電腦上,並且將[WSS MP Agent Configuration]元件安裝進來即可。
下載網址:
http://www.microsoft.com/downloads/details.aspx?FamilyID=53bc39b6-756b-4f01-b0d2-a8ca9751011f&displaylang=en。


圖12 選擇組態工作(可點選圖放大觀看)
在預設的狀態下所有規則與規則群組都是關聯著電腦群組[Microsoft Operations Manager 2005 Web Sites and Services MP Active Agents]的成員,而在另一個電腦群組[Microsoft Operations Manager 2005 Web Sites and Services MP Available Agents]則是預設會自動搜尋到所有有成功安裝[WSS MP Agent Configuration]元件的受管理電腦,不過關於第一個群組的[包含的電腦]成員清單必須自行手動新增進來。
完成了以上元件的安裝與電腦群組的設定後,接著請在[開始]\[所有程式]\[Microsoft Operations Manager 2005]選單中執行開啟[Web Sites and Services MP Configuration Wizard]項目,首先在[Connection Settings]的頁面中必須先輸入MOM管理伺服器的電腦名稱,至於其它的設定步驟請依序參考下列說明。
1. 如圖12所示接下來在[Configuration Tasks]的頁面中,可以分別選擇建立一個測試規則(Create a new Request Sequence)、修改一個測試規則(Modify an existing Request Sequence)、刪除一個現有的測試規則(Delete an existing Request Sequence)以及管理測試群組(Manage Request Sequence Groups)選項,在此請點選[Manage Request Sequence Groups]先來建立一個它專屬的規則群組,例如在現有的[Request Sequence Group]的規則群組下建立一個[Test]群組,接著請記得在最後完成的頁面中將[Perform another configuration task]項目勾選後點選[Finish]按鈕繼續。
2. 接下來又會回到Configuration Tasks]的頁面中,這時候請在改選取[Create a new Request Sequence]項目之後點選[Next]按鈕繼續。
3. 接下來在[Define The Request Sequence]的頁面中,請輸入所要建立的測試規則名稱,然後點選[Properties]按鈕繼續。

4. 如圖13所示在[Request Sequence Properties]的頁面中,首先可以在[General]的頁籤中設定要多久進行監測一次(Monitoring Interval),以及確認此監測規則是否要啟用(Request Sequence enable),也就是說如果後續打算不使用它了只需將此選項的勾選取消即可。接著在[Details]的頁籤中主要可以讓我們設定要求連線時的預期時間值(Request timeout),以及當連線發生失敗時所要重試連線的次數(Retry count)。

圖13 設定測試連線的間隔時間(可點選圖放大觀看)

5. 接下來請切換到[Error event]的頁籤中,在這裡可以設定當測試連線的回應時間等於或超過指定的值時(單位=秒),便會在MOM的系統中產生相關的錯誤事件,至於在[Warning event]的頁籤設定則是同樣依照一定的門檻值用來產生警示事件。
6. 接下來會來到[Request Sequence Creation Method]的頁面,在這裡您必須指定建立測試連線網址清單的方式,由上而下分別可以選擇的方法有自動擷取等回管理者所有使用IR連結的網站過程中的URL、依照Web Service方法呼叫一個指定的WSDL檔案、由管理者自行手動建立每一筆欲進行測試要求連線的URL,在這裡我們選擇第一個選項。
7. 選擇了第一個選項後,下一步中將出現[Capture Request Sequence]頁面,在此請先點選[Start Capture]按鈕,這時後便可以在開啟IE瀏覽器後,開始連線您所要進行測試的一連串URL的路徑,此刻這精靈工具便會一一記錄你連結過的URL,完成之後請點選[Stop Capture]按鈕即可,如圖14所示,是完成網站連結路徑後的清單,接著請點選[Next]按鈕繼續。

圖14 開始與停止連線位址的擷取(可點選圖放大觀看)

8. 接下來會來到[Edit Request]的頁面中,在這裡主要可以讓我們進行剛剛擷取到網址清單項目的順序排列、新增、修改以及刪除動作,此外請注意在頁面的右下角有一個[Test Request Sequence before confirming changes]選項,它可讓任何的網址項目被變更時進行測試,在這裡我們可以自行嘗試針對任一網址點選[Edit]按鈕來看看其內容,在這裡我們可以更進一步針對每一個網址連線時的HTTP標頭、內容、錯誤的事件條件以及警告的事件條件進行設定,例如筆者在[Error event]的頁籤中勾選設定[HTTP status code]項目,並且指定連結後的狀態碼不是200則自動產生一個錯誤警示,至於如果您想讓它來確認網站頁面中有哪一些關鍵字,則可以在[Content]的頁籤中來設定即可,完成這部分的所有設定之後請點選[OK]按鈕即可。
9. 接下來精靈工具會在[Request Sequence Test Result]的頁面中進行最後的測試,若是想得知詳細的連結資訊可以點選[Details]按鈕即可,內容中可以得知每一個網址連線時的HTTP Request與HTTP Response的結果,接著在點選[Next]按鈕之後會來到[Confirm Changes]頁面中確認該規則群組與規則項目的建立作業。

完成了以上有關[Web Sites and Services MP Configuration Wizard]工具的設定作業之後,建議您可以先開啟MOM[系統管理員主控台]介面,展開至[Microsoft Operations Manager 2005 Web Sites and Services MP]的規則群組節點下,接著您可以在[Request Sequence Groups]節點下發現前面經由精靈工具所自動建立的[Test]規則群組以及一個[Login Request Sequence]的事件規則,若您想要變更此規則設定事實上是不需要在這裡來進行修改的,而是只要重新在執行一次方才的精靈工具來修改原有的規則屬性值即可。
接下來可以開啟MOM[操作員主控台]來看看是否有偵測到任何的錯誤或警告事件,如圖15所示由於筆者在測試階段中有設定連結回應的時間如果大於1秒鐘就自動產生警告的事件,因此在這裡可以在事件[內容]的頁籤中發現實際的回應時間記錄是2.347秒鐘,所以自動產生了這一個警告事件。


圖15 檢視被觸發的警示(可點選圖放大觀看)



如果您要察看有關[Web Sites and Services MP]管理組件的相對應報表統計,可以透過系統管理員主控台將預設位在\Program Files\MOM 2005 Management Packs\Microsoft Web Sites and Services MOM 2005 Management Pack路徑中的MomWssMPReports.xml報表格式檔案匯入即可,如此一來後續便可以檢視[報告主控台]幾項統計項目,分別有監測的事件項目(Monitoring Events)、要求連線的回應時間統計(Request Response Time)、連線測試的健康狀況(Request Sequence Health)以及一連串求連線項目的回應時間統計(Request Sequence Response Time),有助於管理人員分析網站的可靠度與效能運作。

結論
相信在您看完了本文的介紹之後,不難發現MOM 2005所能夠監控的範圍不再只是單純系統的運作狀況而已,更不是只針對Windows作業平台下的應用系統,而是直接深入到應用程式內部程式碼的執行過程監控,如此一來便可以從前端應用平台、應用程式的執行碼到後端的資料庫運作,完全被IT工作者一手掌握與監控著,而形成了一套完整的IT營運系統的管理解決方案,讓IT所提供給企業的e化營運作業環境更加可靠、服務品質受到更佳的肯定,總之一句話:「縱有絕佳的神兵力器在手中,還得看客倌您願不願意去善用它」。