應用程序一旦遷移到了云端,管理起來就變得更困難重重了。云應用程序性能管理和性能監控工具則可以幫助識別瓶頸及其他性能度量指標。
優秀的工具有助于確定是否可以將瓶頸隔離到應用程序本身,或者是否某家提供商存在影響整個系統的問題。最精準的工具甚至能夠深入到應用程序內部,查看數據庫查詢等個別進程是否在最佳狀態下運行。
為此,我們測試了四款商用產品:Exoprise CloudReady、AppNeta、ThousandEyes和Dynatrace。我們主要著眼于部署簡易性、日常管理、總體功能和成本。我們并沒有過于關注網絡開銷,不過這肯定也是需要考慮的一個方面,在需要部署代理(agent)的環境下更是如此。
這四款產品的功能都相當強大,提供了豐富的功能,并不僅限于基本的網絡和應用程序監控。它們的區別在于它們提供的洞察力精細程度和解決方案的重心。
AppNeta奪得了我們的最佳明智選擇測試(Clear Choice Test)大獎,這主要歸功于撒下一張大網的模塊化設計,不過有些方面需要注意。它還擁有成熟、最新的用戶界面,易于瀏覽和使用。由于提供了眾多的功能特性,AppNeta讓你可以執行大多數監控任務,從非常簡單的響應度量指標,到深入了解Web應用程序的每個基本細節,不一而足。
要注意的方面主要涉及成本和學習難度;為了充分利用所有功能特性,你就需要購買幾個模塊的許可證,另外還要花點時間讓員工熟悉功能特性。并非所有企業組織都有時間或有意向分配充分利用整個解決方案所需要的資源。然而,仔細檢查Web應用程序時讓你可以記錄步驟的腳本生成器有助于使這個過程的自動化程度再提高一點。
第二名是Exoprise CloudReady,未必是由于其全部的功能特性,其功能特性很強大,但不如AppNeta來得全面。Exoprise CloudReady絕對是最簡單易用的解決方案,可以迅速搭建并運行起來。對于許多IT管理員分配給另一項任務的時間少得多可憐,我們感同身受,所以很喜歡這個優點。價格體系也非常有競爭力,而且簡單易懂。
ThousandEyes和Dynatrace并列“季軍”,它們都提供了非常好的應用程序監控功能。Dynatrace在應用程序洞察力方面與AppNeta TraceView模塊不相上下,不過安裝起來有點復雜;我們認為,其界面在“人機工程學”方面可以做得更好。一大利好是,它可以作為獨立式解決方案在企業內部運行,不需要與第三方基礎架構進行聯系。
ThousandEyes之所以與AppNeta平分秋色,就在于它提供了進行簡單監控的功能,同時又允許提供相當全面的應用程序洞察力。由于提供了全球100多個地方可供測試,ThousandEyes讓管理員們能夠從全世界的每個角落查看應用程序運行如何。ThousandEyes還有一項非常酷的功能,讓你可以與別人實時共享活動數據或快照數據,不需要另外訂購產品。
下面是每款產品的具體測評:
Exoprise CloudReady
CloudReady可以監控眾多云應用程序和在線服務,比如AWS、Azure、Office 365、電子郵件、Salesforce、DropBox和SharePoint。它不需要將代理安裝到目標系統上,但是如果你想要從自己的基礎架構來進行監控,就需要輕量級傳感器代理。除了較傳統的網絡路徑診斷外,CloudReady還使用綜合事務監控以模擬典型的用戶事務,另外還能匯總來自所有客戶的合并數據,更清楚地顯示通用網絡基礎架構的概況,讓客戶可以準確查明潛在瓶頸。
Exoprise可以從托管運行的Web界面或安裝在本地的Secure Management Shell(安全管理外殼)加以管理;你可以從Web界面或安全管理外殼來部署傳感器。
只需要幾分鐘就可以上手,提供了15天免費試用服務。我們提供了一些基本信息后,隨時可以裝入在線儀表板,儀表板界面直觀而整潔。第一步是創建一個或多個傳感器。傳感器可以部署為“公共”或“專用”,區別在于“公共”傳感器在Exoprise基礎架構上的云端運行,而“專用”傳感器則在你自己的基礎架構上運行。
我們從基本的公共ping傳感器開始入手,它使用簡單的向導程序來配置,向導程序讓你可以輸入5個IP地址或網站。我們選擇了既輸入IP地址,又輸入網站。下一步,我們選擇了間隔時間,確認了從哪一臺Exoprise服務器來進行ping。選擇包括西海岸和東海岸選項,還有分別位于澳大利亞、日本和歐洲的一個位置。我們在等待ping數據開始收集的同時,配置了一個“專用”傳感器,監控其中一臺SMTP服務器。
第一步是下載和安裝安全管理外殼,這實際上是一款類似瀏覽器的應用程序,在本地運行。它與標準的網站版本有著同樣的外觀感覺,這是我們喜歡的一項特性。安全管理外殼建立了“站點”,你可以從該站點部署傳感器,這意味著你可以在整個企業里面建立“站點”,以便從一個或多個地方同時監控公共基礎架構和專用基礎架構。
外殼的安裝和配置只需要短短1分鐘,之后我們可以準備部署第一個“專用”傳感器了。我們決定檢查其中一個主機托管的電子郵件帳戶的狀態。與“公共”傳感器一樣,向導程序詢問電子郵件登錄信息、多久檢查、最后從哪里檢查。最后一步有別于“公共”傳感器,原因就在于你選擇了其中一個自己的基礎架構站點。這有可能是臺式機、服務器或者虛擬機。
傳感器收集的數據顯示在儀表板上,用戶可以使用外殼或Web界面來訪問儀表板。儀表板一目了然,每個傳感器都有一個小小的“窗口組件”顯示區,提供了每個傳感器的概要信息。儀表板上的項目可以按狀態、位置和類型等標準來排序。比如說,一個傳感器可以顯示Azure的上傳和下載速度圖形,另一個傳感器可以顯示某一臺DNS服務器的NDS查詢時間。我們發覺“趨勢”圖標大有幫助,因為它們顯示了標以色碼的狀態圖標(分為綠色、橙色和紅色),可以表明某應用程序是不是在正常運行。
儀表板還顯示了每個傳感器的警報歷史記錄,你可以點擊、向下挖掘,了解更詳細的信息。細節頁面提供了基于傳感器類型的上下文相關信息。這可能包括網絡路徑性能、數據點細節和錯誤等幾項信息。可以針對任何傳感器來配置警報;警報選項取決于傳感器類型。警報配置界面的粒度相當細,警報通知還可以通過電子郵件來發送。我們發現定價體系異常簡單;每個傳感器每月100美元,最多支持20個傳感器;至于頭20個傳感器之后的傳感器,提供了折扣價格:每月90美元,支持21個至40個傳感器,依次類推。還提供全年價,折扣幅度相當大。比如說,如果按月付費,100個傳感器是每月80美元;如果按年費用,價格降至每月50美元。
最終測評結果
我們喜歡CloudReady的安裝簡易性和基本配置。只要幾分鐘就能搭建并運行起來。我們還喜歡許多預先配置的傳感器。雖然CloudReady的功能特性不如這次測評的另外一些產品來得豐富,但它提供的那些功能特性確實很出色。
AppNeta
AppNeta提供了這家廠商所說的“全棧”(full stack)應用程序性能管理功能。四個不同的模塊(TraceView、AppView、PathView和FlowView)共同組成了一套解決方案,可以監控Web應用程序、軟件即服務(SaaS)和應用程序網絡的性能,并結合其他的網絡性能監控和分析功能。從AppNeta托管運行的Web界面來進行監控;傳感器可以從你自己的基礎架構來運行,也可以從AppNeta在全球分設的地方來運行。有幾項不需要部署代理就可以監控,但是為了使用TraceView模塊,你就需要將代理部署到運行Web應用程序的服務器。
AppNeta的一些功能特性可以免費試用,但是為了測評整套解決方案,該廠商為我們提供了一個PathView硬件設備。該設備共有六種款式,既有小巧的掌上型款式,也有龐大的機架型款式。它還提供了一款VMware虛擬機,但還沒有推出面向甲骨文VirtualBox或微軟Hyper-V的款式。
我們測試的這個設備是中等大小的r-40,這個1U機架單元由AppNeta預先配置,附有客戶提供的信息,比如用戶名、密碼和IP地址等信息。該設備實際上就是一個代理,可以用來檢查內部部署的應用程序或部署在云端的應用程序。客戶可以部署一個或多個設備(虛擬或物理設備),以便從多個地方獲得洞察力。一旦搭建并運行起來,我們從Web界面訪問該設備,界面還提供了額外的配置選項。對大多數安裝環境而言,除了初始配置,該設備基本上不需要操心。
主要的管理功能從AppNeta托管運行的PathView Cloud Web應用程序來執行。一旦我們登錄進去,迎面看到的屏幕顯示了剛安裝上去的設備;為它賦予位置名稱后,我們可以準備試用了。AppNeta Web應用程序會在左側導航面板顯示已啟用的功能特性,具體取決于你的訂購級別。儀表板提供了AppNeta所收集的數據的基本概況,除了警報、系統狀態、所連接設備的數量外,還有所用許可證的數量和可用的許可證。
第一個模塊PathView提供了洞察力,以便用戶了解兩個網絡點之間的路徑的端到端性能,比如從一個地方訪問另一個地方的應用程序。路徑通過一個小巧的向導程序來配置,它可以指導你逐步完成這個過程。我們建立了一條路徑:從r-40設備到我們在商用數據中心的其中一只路由器,數據中心與我們的測試中心不在同一處。這提供了對路徑逐跳分析的功能,附有延遲、數據丟失和往返時間等方面的信息,能夠向下挖掘,獲取每個跳段的額外細節以及消除瓶頸的建議。數據以幾種格式來顯示,但我們尤其喜歡每個類別的圖形一目了然。路徑可以按照需要來運行,也可以按計劃來運行,按設定的間隔時間更新。
下一個模塊AppView可監控最終用戶體驗得到的HTTP性能。AppView可以從設備(AppView Enterprise)來使用,也可以從AppNeta在全世界部署的眾多可用設備中的一個來使用。首先,我們手動創建一個任務,將評估一家大型商業網站的幾個不同的最終用戶方面,比如總體響應時間和吞吐量。
AppView還提供了腳本生成器,這其實是火狐瀏覽器的一個附件。它實際上記錄下了你在瀏覽網站或Web應用程序時的瀏覽行為,并將其保存為腳本,那樣你可以使用該腳本,自動重復與任務同樣的步驟。我們配置了腳本,以便瀏覽至網站,點擊幾個鏈接,使用用戶名和密碼登錄進去,再點擊幾個鏈接,然后退出去。一旦AppView監控器設置完畢,就可以從儀表板來查看它們,儀表板顯示了世界地圖,并附有每個監控地方的準確位置,只要點擊這些位置,即可向下挖掘、獲得額外細節。
TraceView模塊詳細地顯示了使用PHP、.Net、Java、Ruby及其他技術的Web應用程序的情況。這需要將代理安裝到有待監控的應用程序上。你可以根據自身環境建立自定義代理,只要打開/關閉選項,并提供下載鏈接。安裝向導程序提供了你在安裝代理時服務器上線的實況視圖。安裝了每個代理后,我們就能夠在PathView Cloud管理控制臺中查看應用程序了。TraceView讓你可以關注應用程序從前端到后端的方方面面。比如說,我們能夠發現:每當對數據庫進行調用,速度一向很慢;這準確地指明了我們為提高性能而需要克服的瓶頸。
AppNeta解決方案的第四個模塊FlowView與PathView設備協同運行,分析流經設備的流量類型。流量可以分成1200多個類別,比如說游戲、業務應用程序和社交媒體。分析結果顯示在圖形化界面中,界面顯示了流量是如何分配的。
廠商告訴我們,價格體系實際上按你構建的應用程序和訂購的應用程序種類來細分。即便明白了這一點,我們還是發覺價格體系有點過于復雜,不合我們的意。比如說,TraceView有項目(Project)、初創公司(Startup)和企業(Enterprise)這三種版本,項目版本免費,另外兩種版本每個主機每月分別是79美元和119美元。AppView同樣有三種版本:全球(Global)、辦公室(Office)和數據中心(Data Center),價格分別是每月39美元、338美元和868美元。全球版本按監控器定價,而辦公室版本和數據中心版本各自包含10個監控器和40個監控器。后兩者還包括PathView,無須額外成本,但是需要另購許可證,辦公室版本和數據中心版本的價格分別是每月239美元和每月729美元。之外,如果你再添加FlowView,每月還要另付338美元或868美元。
AppNeta有許多可圈可點之處,包括出色的用戶界面,以及可以從全球第三方位置和你自己的基礎架構,靈活地進行監控。此外,AppNeta讓你可以執行簡單的檢查,查看云應用程序是否響應,或者使用TraceView深入挖掘,真正獲取細節,了解應用程序運行到底如何。缺點就是,為了利用所有的功能特性,你得購買所有相應的許可證,還要盡快學會不同的功能特性。另外,一些云服務提供商可能不愿安裝利用AppNeta TraceView功能特性所需的必要代理。
ThousandEyes
ThousandEyes既可以使用企業代理或云代理來部署,也可以使用瀏覽器插件來部署,提供最終用戶可見性。ThousandEyes云代理由ThousandEyes在全球100多個地方統一分發、安裝和管理,由多個客戶共享。除了監控內部部署的應用程序外,ThousandEyes還能監控SaaS應用程序以及IaaS。此外,你可以從多個地方運行自己的代理:分支機構、數據中心或重要客戶的場所。
只需要幾分鐘就可以入手;首次啟動儀表板后,我們看到了幾個支持選項,包括“入門”屏幕播放以及與技術支持人員聊天的選項(這是我們青睞的選項,因為你不需要打電話或發郵件、等對方回復)。初始儀表板界面整潔,頂部是導航欄,右邊是支持彈出式菜單。
說到云應用程序監控任務,每家廠商采用的術語各不相同。ThousandEyes稱其任務為測試(test);我們先建立了幾個簡單的測試,以檢查網站的可用性和裝入時間,還檢查定向至我們其中一臺DNS服務器的DNS查詢的響應情況。測試使用簡單的單頁配置來構建,它們分成四大類:Network、DNS、Web和VoIP。每個類別又有幾個子類別,但我們發覺配置非常一目了然,大多數網絡管理員會非常熟悉可用的選項。
一旦測試構建完畢,收集的數據就連同已經配置好的其他測試,開始出現在儀表板上。儀表板顯示了每個測試的一些基本信息(比如狀態),一個圖形顯示了所收集數據的當前趨勢。由此,你可以向下挖掘,查看某一個測試的更多細節。一旦進入到細節頁面,一個下拉式菜單列出了其他測試,很容易瀏覽至所有可用測試的細節視圖。
細節頁面的主要特色之一就是圖形,你可以從中查看某一段時間的趨勢,或者放大查看收集的每個數據點的信息。另一個特色就是世界地圖,顯示了測試所用的當前代理;由此,你可以點擊任何位置,即可從該位置查看數據。比如說,我們可以看到我們位于丹佛的那臺服務器從新澤西州紐瓦克進行DNS解析的時間為48毫秒,從澳大利亞悉尼進行解析的時間為174毫秒。
我們喜歡與你的團隊或第三方提供商共享實時數據這一功能,以便更迅速地解決問題。這可以通過共享鏈接來完成,這個鏈接可以用幾種不同的方式來配置;你可以發送鏈接以及特定日期范圍的快照數據,發送活動數據視圖的公共鏈接,或者導出到幾種不同的格式。
可以獲得過去90天的大致數據,獲得過去30天的詳細數據,但你能夠對事件拍取快照,它們可以無限期保存。ThousandEyes提供了幾種方法來制作自定義屏幕報告,這些報告可以保存,也可以完全用于某些數據的一次性視圖。
如上所述,除了使用現有的ThousandEyes基礎架構外,你還可以從自己的網絡基礎架構里面的任何地方,運行自己的企業代理。這可以通過下列兩種方法來實現:將代理安裝在任何常見的Linux版本設備上,或者下載面向VMware、VirtualBox或Hyper-V的虛擬服務器。我們下載了其中一個虛擬服務器,它立即開始運行起來,除了網絡設置外,根本不需要什么配置。虛擬機從Web界面加以管理,首次使用會遇到一個小巧的向導程序。一旦配置完畢,企業代理就可以使用,就像ThousandEyes云代理那樣。
ThousandEyes讓用戶很容易從基本的監控入手,為尋求一些額外細粒度的那些人提供了合理組合的功能特性,而不過于復雜。我們青睞的功能之一就是共享功能;我們還對ThousandEyes可以從100多處地方監控應用程序性能大加贊賞。一個缺點就是,如果部署多個測試,價格方面的計算很快會變得復雜起來,成本也會迅速增加上去。
企業代理的價格簡單直接;標準版每個代理每月99美元,專業版每個代理每月299美元。標準版與專業版的區別在于,若使用專業版,能夠監控頁面裝入和Web事務。還有免費的簡裝版,具有與標準版一樣的功能,但是存在著一些限制。
Dynatrace
Dynatrace為Java、.Net和PHP等平臺提供了監控網絡性能和應用程序的功能。除了模擬Web應用程序負載的綜合監控功能外,它還提供了用戶體驗管理功能。Dynatrace有幾個組件,包括需要安裝到運行Web應用程序的服務器上的代理,以及專門處理代理收集上來的事件的“收集器”。數據由在局域網上運行或由Dynatrace在云端托管運行的服務器來管理,這兩種方式都提供了Web界面和便于深入了解應用程序的幾個模塊。
想開始上手,你要登錄到由Dynatrace托管運行的Web儀表板。首次登錄后,該儀表板為你提供了Dynatrace方面的一些基本信息,還提供了幫助上手的逐步指南。第一步就是下載Dynatrace服務器軟件,它有32位版本和64位版本,既有Windows版,又有Linux版。簡單的向導程序可以幫助你完成安裝過程,它只要短短幾分鐘就可以幫助我們在Windows 64位服務器上搭建并運行起來。內存和處理器方面有要求,具體取決于服務器將處理的事務數量。如果是簡單操作,內存容量為3GB的單核服務器就可以了;如果是超大安裝環境,則需要22GB的24核服務器。超大安裝環境可以處理1200個代理、每秒3000多個事務。
安裝完成后,你會看到類似瀏覽器的界面;可以從界面上選擇想要監控的應用程序的類型。無論在Web、iOS和安卓等客戶機端技術方面,還是在服務器端方面,Dynatrace在如何監控某個應用程序、監控哪些指標方面都提供了相當精細的粒度。你可以指定應用程序服務器的類型,從IIS/.Net和Apache,到甲骨文、IBM和Java技術,不一而足。
為了監控Web應用程序,需要將代理安裝到應用程序所在的服務器上。有幾個代理適用于大多數常見服務器(Apache、IIS和NginX),我們下載了一個代理,以便與用于測試的Web服務器協同運行。代理搭建并運行起來后,我們裝入了Dynatrace儀表板;儀表板提供了圖狀概況,節點代表應用程序基礎架構的每個部分。比如說,你會看到來自訪客的請求細分成桌面瀏覽器、移動瀏覽器和移動應用程序這幾個類別。
有些節點代表前端Web服務器,有些節點代表后端功能,比如支付處理、數據庫服務器和業務應用程序。每個節點標以色碼,綠色表示沒有問題,紅色表明有問題。如果將鼠標指針移到每個節點上方,我們就能看到該節點狀態的簡短摘要,比如說我們的Web服務器表明存在內存問題;如果點擊查看細節,我們就能發現,在負載較大的情況下,偶爾會出現頁面錯誤。
一旦進入到細節視圖,你幾乎可以評估Web應用程序的方方面面,從第一個客戶機請求到上一次響應,不一而足。我們的其中一個Web應用程序進行外部調用以便裝入JQuery JS文件,我們可以發現,文件裝入速度緩慢;如果把這些文件移到我們自己的服務器,隨后調用的話,裝入速度就快多了。
Dynatrace提供了一個非常出色的界面,還有多種方式可以查看數據。你可以查看關于業務度量指標的細節以及一段時間的性能變化,此外還能準確查明事務瓶頸,分析瀏覽器性能。圖形和數據顯示一目了然,所謂的“開始中心”(Start Center)讓你可以輕松訪問應用程序的各個部分。
除了監控私有云應用程序外,你還可以部署Dynatrace代理,以監控第三方主機托管解決方案,比如亞馬遜和微軟Azure。這樣一來,你不僅可以深入了解應用程序運行如何,還能深入了解主機托管提供商提供的服務層,因而讓你還可以準確查明并不出現在應用程序中的潛在瓶頸。
我們的測評著重分析了Dynatrace的自托管服務器解決方案,但該產品還有主機托管版本,它提供了同樣的功能特性。據Dynatrace聲稱,成本一樣,只不過主機托管解決方案需要額外的安裝費。
Dynatrace沒有在官方網站上公布價格;在我們采訪當中,這家公司對價格也是含糊其辭。然而,面對一種特定的使用場景時(每天有8000個至10000個不重復訪客瀏覽的.Net應用程序),它給出了大致的成本:每年約10000美元;如果簽署期限更長的合約,還可以享受折扣。值得一提的是,針對訪問量大的網站,你不需要為應用程序的全部流量購買許可證;而是可以選擇使用總流量的一小部分。據Dynatrace聲稱,它的幾個大客戶選擇只分析總流量的一小部分。
Dynatrace為不滿足于大體了解Web應用程序性能的那些人提供了全面解決方案,這與AppNeta的TraceView模塊很相似。相比另外一些產品,它確實需要花更多一點的精力來安裝和配置;不過相應的回報是,你能獲得非常詳細的應用程序信息。我們在內存還算充足的四核服務器上發現,界面瀏覽起來有點慢,但如果增添資源,速度會加快。我們還喜歡Dynatrace的獨立性,因為服務器可以在你的基礎架構上運行。
正如前面提到的,這四款產品的性能都很不賴。選擇一款適合貴企業的解決方案歸結為這幾個重要決定:需要多詳細的信息,為了收集數據愿意承擔多大的開銷,以及你在應用程序監控方面的預算是多少。不出所料,一流的解決方案成本總是要貴一點;如果你的監控要求比較基本,那么一款較為簡單的解決方案應該就足夠了。