什么是APM大數(shù)據(jù)?
APM數(shù)據(jù)可分為兩個測定類別:
1.描述應用工作負載的數(shù)據(jù),并通知應用的行為或執(zhí)行情況。
2.描述應用環(huán)境的數(shù)據(jù),以關鍵指標的形式顯示基礎設施如何響應應用需求。
APM大數(shù)據(jù)的規(guī)模是捕獲原始數(shù)據(jù)和未過濾數(shù)據(jù)的副產(chǎn)品。收集、存儲、分析和訪問PB級的數(shù)據(jù)是一項浩大的工程,但它驚人的一面是這些PB級的數(shù)據(jù)代表了我們想要探索,了解和獲取信息所需的未經(jīng)過濾的“純凈的”事實。大數(shù)據(jù)的不同方面適用于不同的測定類別,但在以上兩種情況下,其終極目標都是提供完整且正確的理解。
天平兩端
許多APM產(chǎn)品并非是為了支持大數(shù)據(jù)而設計的,而是為了迫使客戶在規(guī)模和數(shù)據(jù)質量之間做出權衡。
將APM用于數(shù)據(jù)質量和深度時,其通常因無法擴展而難以支持應用生態(tài)系統(tǒng)
或者犧牲數(shù)據(jù)質量和深度來擴展APM以支持應用生態(tài)系統(tǒng)
APM供應商通常借助采樣和觸發(fā)器方式來進行交易追蹤,通過匯聚數(shù)據(jù)以及犧牲調用堆棧的深度和細節(jié)來滿足其可擴展性需求。否則他們只能監(jiān)測1-2個應用,并部署多個分析控制臺。
這些不能令人滿意的方案無法提供解決性能問題所需的數(shù)據(jù)完整性,尤其是在資源根據(jù)需求而快速增減變化的短暫環(huán)境中,而共享的依賴關系意味著一個組件的故障可能會對多筆交易產(chǎn)生負面影響。
誤區(qū)一:無法擴展
捕獲每個用戶動作和后端活動的詳細交易記錄確實會產(chǎn)生大量數(shù)據(jù),但APM與其它設計大數(shù)據(jù)解決方案的行業(yè)并沒有什么不同。相同的大數(shù)據(jù)技術和架構也適合于APM。
例如,在許多分布式系統(tǒng)場景中,除了流媒體和復雜事件處理架構外,利用非關系型高度優(yōu)化的數(shù)據(jù)存儲是普遍的共識。此外,跨APM組件的聯(lián)合數(shù)據(jù)處理和分析功能則有助于分配工作負載,如同您在Hadoop集群中看到的那樣。
在三層處理模式中,應用內(nèi)收集器只完成極少量的工作,并將原始數(shù)據(jù)傳遞給本地處理器,在本地處理器進行壓縮和一些基礎分析工作后再將數(shù)據(jù)發(fā)送到中央引擎。這一方法遠比兩層方法更好,應用內(nèi)收集器給應用或后端系統(tǒng)帶來的壓力也要小得多。
誤區(qū)二:難以管理
持續(xù)捕獲所有交易細節(jié)可使應用更具彈性且更易于管理,因為它不再依賴用于配置和維護的復雜規(guī)則、檢測及觸發(fā)引擎。一定會有更多的數(shù)據(jù),但此時管理存儲的問題已經(jīng)解決,且存儲是比計算更便宜的資源。
誤區(qū)三:費用昂貴
任何與應用相關的技術,其成本都是一個很重要的問題。APM代理也不例外。通過連續(xù)捕獲交易來啟用的大數(shù)據(jù)APM需在如何觀察、記錄和持久的交易中使用不同的技術,以確保應用不會受到開銷影響。代理可以動態(tài)地發(fā)現(xiàn)應用棧,并在交易表述中記錄每個關鍵方法和應用調用。然后利用三層分布式架構對交易進行實時壓縮和流化處理。
如何解決?
Riverbed應用性能監(jiān)測解決方案專為支持大數(shù)據(jù)需求而設計。而SteelCentral AppInternals產(chǎn)品則可以通過專有技術直接解決企業(yè)擴展性需求,該技術可在不影響應用性能的情況下捕獲并存儲每個交易及其相關元數(shù)據(jù),直至深層次的用戶代碼,以及間隔為1秒的系統(tǒng)指標。您可通過這種方式立即了解應用問題,甚至是偶發(fā)或間歇性的問題,也可獲得滿足所有應用監(jiān)測所需的經(jīng)濟高效的,可擴展解決方案。