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