檢查某個已知功能是否正常,綜合監控是非常有用的,換句話說,綜合監控會向你顯示某件事情是否工作正常。
何時使用綜合監控
綜合監控和RUM是兩種相互補充的技術,在Web應用的規模化運維中都扮演著非常重要的角色。但了解何時使用何種工具也很重要。
要想在用戶實際遇到問題之前就對其有所了解的話,綜合監控是很合適的。而且綜合監控也適合于建立基線,因為可以定期運行綜合監控,而不用考慮訪客流量有多大。綜合監控用于:
● 監控業務交易中的關鍵步驟,如目錄頁或評論過程。
● 對那些你無法控制但網站又依賴其運行的組件的健康狀況進行監控,這樣樣的組件可能是 Facebook的粉絲頁面、支付服務,或者表單工具。
● 在不同的環境中運行同樣的測試。因為每次運行的測試都是相同的,對不同的城市或運維商進行比較,就可以了解某個地理區域是否很慢,或某個服務提供商宕機
注意,綜合監控與加載測試(load testing)遵循同樣的原則,但其目標并不是用大流量測試網站的承受力,而是評測網站的性能對于測試時的實際訪客來說感覺如何。
綜合監控的局限
綜合監控服務很普通,而且也承受得起。假如你的網站還沒有連接到Internet,可能就要部署自己的測試服務器。網上已經有一些可供選擇的服務。在選擇一項服務時,要考慮下面
是否易于記錄與管理腳本?
測試腳本要與應用程序保持同步,因為應用的每個新版本都可能破壞現存的腳本,從而產生虛假報警。為了保持測試系統正常可用,你可能需要花費大量的時間對其進行維護。
能給出什么樣的報表?
越高端的服務提供的報表越會有更多的細節。
報警是否與后臺已用的監控工具兼容?
從外部世界獲得的性能數據要發送給同一個的管理平臺,即用以追蹤后臺健康狀況的管理平臺,從而可以借助這個平臺對性能數據進行分析。常常有這樣的情況,一個外部錯誤是
標志系統出現問題的第一個信號。
是否能測試到應用的所有部分?
現代網站包括文字消息、郵件注冊、Twitter活動、HTTP5Websockets、服務器發送的事件、嵌入式視頻、AJAX,以及使用 Flash、Flex、Java及 Silverlight開發的富互聯網應用(RIAs),所以,在簽下合同之前,一定要確信你了解了所有需要監控的組件。
測試是由腳本還是實際的瀏覽器來做?
有些綜合監控服務會模擬瀏覽器向你的網站發送HTTP命令,然后記錄結果。其他的則使用我們稱之為瀏覽器木偶( browser puppetry)的方式,實際控制一個真實的瀏覽器。后者很貴,但卻不會由于網站的變化而變得脆弱,因為測試腳本會操縱瀏覽器的DOM,而不僅僅是發送文本。
遇到錯誤時,會發生什么?
有些服務會記錄錯誤的細節信息,捕捉到錯誤消息,就像在瀏覽器中看到的那樣,并且觸發另外的測試,如路由追蹤,而其他的僅是發回報警消息。報告越詳細,成本也就越高,但對于修復問題來說,卻越容易。
配置綜合監控
設置監控控相對容易,特別是如果只想監控一些關鍵頁面的話。一般來說,只需要給出要測試的URL、測試時間間隔以及遇到錯誤時要采取的行動。
要是想做更多的監控,可能需要提供一個“中性”的用戶賬號,這個賬號可以用來做測試,但不會對系統造成什么影響,還要提供會話參數以及其他細節信息,監控服務使用這些細節信息可以更好地模擬真實的用戶訪問。
要記住的是,綜合測試也是要消耗服務器資源的。我們見到過這樣的網站建設,來自綜合監控腳本的流量超過了50%,這樣的話,實際上是會降低訪客的體驗的。
本文地址:http://knowyourextract.com//article/3344.html