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