2018年07月19日16:12 來(lái)源:移動(dòng)通信網(wǎng)T|T
作者:Riverbed亞太區(qū)技術(shù)方案架構(gòu)師李耀宗
【移動(dòng)通信網(wǎng)】如果您正在計(jì)劃使用云應(yīng)用,一定也希望看到大量的并發(fā)用戶、應(yīng)用、交易、服務(wù)器、實(shí)例和對(duì)象等等信息。而實(shí)際上,當(dāng)您需要大規(guī)模部署應(yīng)用性能管理(APM)時(shí),就意味著將面臨一系列全新的挑戰(zhàn)。許多傳統(tǒng)APM解決方案是無(wú)法支持海量交易的,而且它們還頻繁通過(guò)采樣和觸發(fā)機(jī)制迫使用戶在規(guī)模和數(shù)據(jù)質(zhì)量之間做出選擇。如果您正在使用云應(yīng)用并且遇到了問(wèn)題,不妨繼續(xù)讀完以下內(nèi)容。
挑戰(zhàn)1:交易采樣
許多APM產(chǎn)品都使用“采樣法”。它們并不是每時(shí)每刻都為所有的用戶捕獲所有交易。當(dāng)您在大規(guī)模云環(huán)境中使用采樣類產(chǎn)品時(shí),只能獲取很小一部分交易數(shù)據(jù)。您擁有的并發(fā)用戶越多,系統(tǒng)需要處理的交易就越多,而APM產(chǎn)品捕獲的交易反而越少。例如,除非你意識(shí)到你每天看到的一百萬(wàn)筆交易只占交易總數(shù)的10%,否則你會(huì)認(rèn)為秒級(jí)采樣已經(jīng)是一個(gè)相當(dāng)高的頻率了。但對(duì)于眾多日交易量在數(shù)十億次的客戶來(lái)說(shuō),他們會(huì)感受到捕獲的數(shù)據(jù)比例有多么微乎其微。
采樣法不僅會(huì)影響數(shù)據(jù)和計(jì)算的準(zhǔn)確性,還會(huì)增加丟失重要交易的風(fēng)險(xiǎn)。當(dāng)您只捕獲了一筆幾十元的小額交易而卻錯(cuò)過(guò)了一筆數(shù)萬(wàn)元的大額交易時(shí)怎么辦?如果每筆交易都很重要,您又該如何擴(kuò)展數(shù)據(jù)采樣的規(guī)模呢?
Riverbed的端對(duì)端應(yīng)用性能分析方案SteelCentralAppInternals,能夠自始至終為所有用戶捕獲全部交易!SteelCentralAppInternals基于完整的數(shù)據(jù)集進(jìn)行計(jì)算,包括所有交易,不再局限于采樣。您可以借助其大數(shù)據(jù)來(lái)查找特定用戶交易。同時(shí),自然語(yǔ)言搜索功能也可幫助客戶輕松篩選數(shù)據(jù)以快速查找交易!
挑戰(zhàn)2:所監(jiān)測(cè)環(huán)境的規(guī)模
您的APM解決方案需要具備在云環(huán)境中監(jiān)測(cè)應(yīng)用中大量對(duì)象的能力。在某些情況下,監(jiān)測(cè)對(duì)象的絕對(duì)數(shù)量可能會(huì)影響監(jiān)測(cè)解決方案的成敗。一些監(jiān)測(cè)解決方案會(huì)選擇在較大規(guī)模的環(huán)境中使用SaaS,而在較小環(huán)境使用完全不同的本地解決方案。
許多情況下,APM解決方案會(huì)被配置用于監(jiān)測(cè)較小的開(kāi)發(fā)環(huán)境中的幾乎所有內(nèi)容,并用于監(jiān)測(cè)生產(chǎn)環(huán)境中運(yùn)行對(duì)象的子集。當(dāng)不可避免的故障發(fā)生時(shí),常規(guī)的處理方法是由APM管理員來(lái)添加需要監(jiān)測(cè)的其他對(duì)象,便于在下次出現(xiàn)故障時(shí)找到根本原因。而這種方法的缺點(diǎn)在于延長(zhǎng)了調(diào)查時(shí)間,還增加了壓力!另一種常用技術(shù)是在多個(gè)監(jiān)測(cè)服務(wù)器間劃分監(jiān)測(cè)環(huán)境。在某些情況下,這是一個(gè)不錯(cuò)的解決方案,但如果您的監(jiān)測(cè)解決方案能夠擴(kuò)展到支持業(yè)務(wù)增長(zhǎng)并使用單個(gè)分析服務(wù)器的大型應(yīng)用環(huán)境中豈不是更好?
SteelCentralAppInternals既可在本地運(yùn)行,也可作為SaaS運(yùn)行。在新版SteelCentral中,還引入了分析服務(wù)器的多系統(tǒng)集群部署方式來(lái)滿足監(jiān)測(cè)大規(guī)模環(huán)境的需求。
剛剛推出的新型集群架構(gòu),又將AppInternals的擴(kuò)展能力提高了一個(gè)數(shù)量級(jí),其單個(gè)分析服務(wù)器現(xiàn)可支持?jǐn)?shù)以萬(wàn)計(jì)的代理,每天捕獲數(shù)十億次交易。
集群方法在多個(gè)工作進(jìn)程間分配處理,提高存儲(chǔ)指標(biāo)、分析交易和提供性能數(shù)據(jù)的能力。如下工作進(jìn)程會(huì)在群集中運(yùn)行:
熆刂破鞴ぷ鰨捍媧⒅副輳灰茁肪逗團(tuán)渲檬蕁?/p>
熃馕銎鞴ぷ鰨航馕齪頭治黿灰茁肪段募?/p>
熕饕ぷ鰨核饕灰灼尾⒒殖啥說(shuō)蕉私灰住?/p>
熡沒(méi)Ы緱婀ぷ鰨和泄芊治齜衿鱓eb界面以查看性能數(shù)據(jù)并執(zhí)行配置任務(wù)
挑戰(zhàn)3:架構(gòu)復(fù)雜性
了解系統(tǒng)中組件的相互關(guān)系對(duì)于監(jiān)測(cè)和排障非常重要。只對(duì)主機(jī)、JVM、實(shí)例或類別進(jìn)行簡(jiǎn)單監(jiān)測(cè),卻不了解之間的相互關(guān)系,對(duì)排除故障不會(huì)有任何幫助。
您的應(yīng)用中包含哪些組件?對(duì)于以前的傳統(tǒng)應(yīng)用而言,它很簡(jiǎn)單。但對(duì)云應(yīng)用而言,可是個(gè)大問(wèn)題。您的應(yīng)用可能包括用戶代碼,公司基礎(chǔ)設(shè)施及第三方函數(shù)庫(kù)。您的應(yīng)用也可能正在調(diào)用連您也不知道的外部服務(wù)。如果您的APM解決方案無(wú)法自動(dòng)發(fā)現(xiàn)組件并檢測(cè)代碼,那它如何完全了解您的應(yīng)用及其復(fù)雜性?您是如何知道故障形成原因并加以解決的?一些解決方案僅用于簡(jiǎn)單的資源監(jiān)測(cè),另外一些方案則可以從中央管理界面獲取信息并將其呈現(xiàn)給用戶。某些情況下,顯示器只顯示正在交互的雙方,但這或許難以滿足用戶需求。
SteelCentralAppInternals能自動(dòng)發(fā)現(xiàn)應(yīng)用組件間的關(guān)系,能自動(dòng)檢測(cè)代碼并發(fā)現(xiàn)交易與代碼,SQL或外部調(diào)用所消耗的時(shí)間之間的關(guān)系。AppInternals借助一個(gè)稱之為性能視圖的創(chuàng)新可視化功能來(lái)簡(jiǎn)化架構(gòu)的復(fù)雜性。如下圖所示,左側(cè)交易的許多入口可能是從右側(cè)代碼/SQL中獲取的。性能視圖將這種復(fù)雜性抽象化,并將最耗時(shí)的業(yè)務(wù)交易與被消耗的時(shí)間源之間的直接關(guān)系呈現(xiàn)出來(lái)。性能視圖能幫助應(yīng)用所有者快速查看需要投入昂貴開(kāi)發(fā)資源的位置,然后對(duì)應(yīng)用進(jìn)行修復(fù)或優(yōu)化,并重點(diǎn)關(guān)注業(yè)務(wù)相關(guān)事務(wù)。
是時(shí)候?yàn)楸O(jiān)測(cè)云應(yīng)用做好準(zhǔn)備了,就是現(xiàn)在。