溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

ARMS在怎么APM工具選型中實(shí)踐的

發(fā)布時(shí)間:2022-01-18 11:44:49 來(lái)源:億速云 閱讀:124 作者:柒染 欄目:云計(jì)算

這篇文章給大家介紹ARMS在怎么APM工具選型中實(shí)踐的,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。

前言

當(dāng)前的系統(tǒng)在數(shù)字化轉(zhuǎn)型需求以及互聯(lián)網(wǎng)架構(gòu)實(shí)施的影響下,越來(lái)越普遍地使用了微服務(wù)架構(gòu),我們?cè)谙硎芪⒎?wù)帶來(lái)的好處(開(kāi)發(fā)效率高, 獨(dú)立部署, 水平擴(kuò)展, 故障與資源隔離等等)外,也帶來(lái)測(cè)試,事務(wù),應(yīng)用監(jiān)控等各方面的困難。

ARMS在怎么APM工具選型中實(shí)踐的


從上圖可以看出,在以分布式為主的互聯(lián)網(wǎng)架構(gòu)下,應(yīng)用間的調(diào)用變得越來(lái)越復(fù)雜,我們傳統(tǒng)使用的開(kāi)發(fā)工程師主動(dòng)埋點(diǎn),運(yùn)維人員到主機(jī)上查日志,組合調(diào)用鏈,監(jiān)控應(yīng)用的運(yùn)行情況,顯得越來(lái)越力不從心。

為了更好地做到應(yīng)用層面的監(jiān)控,包括應(yīng)用運(yùn)行環(huán)境的基礎(chǔ)設(shè)施數(shù)據(jù),系統(tǒng)業(yè)務(wù)調(diào)用情況,性能消耗分析,在發(fā)生性能,異常與故障問(wèn)題時(shí),能夠快速定位和解決問(wèn)題,誕生了很多優(yōu)秀的APM(Application Performance Management)工具。

這些APM工具都提供了包括指標(biāo)統(tǒng)計(jì)信息與調(diào)用鏈路跟蹤信息。

常見(jiàn)的APM工具

APM工具包括指標(biāo)收集與調(diào)用鏈?zhǔn)占?。指?biāo)收集例如在某一段時(shí)間的請(qǐng)求數(shù),異常數(shù),錯(cuò)誤數(shù),響應(yīng)時(shí)間RT, IAAS層的資源使用情況(例如cpu, memory, IO, load, 網(wǎng)絡(luò)), 也包括JVM的各種運(yùn)行參數(shù)(例如 各內(nèi)存分區(qū)情況,gc情況)。調(diào)用鏈?zhǔn)占I(yè)務(wù)請(qǐng)求中訪問(wèn)過(guò)的各應(yīng)用,類,方式,在每個(gè)運(yùn)行節(jié)點(diǎn)/方法上的時(shí)間消耗情況。


常見(jiàn)的APM工具有:


1、ARMS:由阿里巴巴自研開(kāi)發(fā)的一款A(yù)PM工具。由于分布式微服務(wù)框架以阿里為主體的企業(yè)很早就開(kāi)始探索,阿里集團(tuán)內(nèi)很早就有配套的鷹眼系統(tǒng)做相關(guān)的應(yīng)用監(jiān)控,為適應(yīng)產(chǎn)品上云輸出,阿里在2016-08-04的時(shí)間就以ARMS的產(chǎn)品形式正式對(duì)外提供應(yīng)用監(jiān)控服務(wù)。
2、開(kāi)源系的APM
u Pinpoint:基于java編寫的開(kāi)源APM工具,由韓國(guó)人開(kāi)發(fā)貢獻(xiàn),功能完善,發(fā)展快,影響了很多其它的APM工具實(shí)現(xiàn),在國(guó)內(nèi)外使用比較廣泛。
u Skywalking:支持open tracing標(biāo)準(zhǔn),由我國(guó)的吳晟主導(dǎo)開(kāi)發(fā)的分布式追蹤,分析,告警的開(kāi)源工具,當(dāng)前是Apache旗下的開(kāi)源項(xiàng)目,發(fā)展非常迅速,在各類開(kāi)源APM工具里國(guó)內(nèi)的使用比較廣泛。
u ZipKin:支持open tracing標(biāo)準(zhǔn),由Twitter公司開(kāi)發(fā)貢獻(xiàn),于2012年的時(shí)候就開(kāi)始開(kāi)源發(fā)展,是比較成熟的開(kāi)源APM工具。
u Jaeger:支持open tracing標(biāo)準(zhǔn),由Uber公司開(kāi)發(fā)貢獻(xiàn),是比較成熟的開(kāi)源APM工具。

APM工具原理

盡管這些APM工具功能與實(shí)現(xiàn)各有不同,但基本上原理都是一樣的,這個(gè)原理基于google dapper的分布式追蹤技術(shù)論文,把APM工具實(shí)現(xiàn)總體上分為兩大部分:
1、對(duì)應(yīng)用運(yùn)行節(jié)點(diǎn)上進(jìn)行應(yīng)用埋點(diǎn),在業(yè)務(wù)運(yùn)行期間進(jìn)行埋點(diǎn)數(shù)據(jù)的生成;

ARMS在怎么APM工具選型中實(shí)踐的

在這個(gè)調(diào)用鏈追蹤技術(shù)里,還原調(diào)用鏈的功能主要依賴于兩個(gè)ID.

第一個(gè)ID是TraceID, 這個(gè)代表一個(gè)業(yè)務(wù)調(diào)用,就好像在電商系統(tǒng)里發(fā)起的一個(gè)下單結(jié)算; 在線教育里的一個(gè)選課流程; 物流系統(tǒng)里的攬收; 這些業(yè)務(wù)從客戶觸發(fā)到獲得響應(yīng)結(jié)果就是一個(gè)完整的請(qǐng)求,就是一次業(yè)務(wù)調(diào)用,它每一次的業(yè)務(wù)請(qǐng)求的都會(huì)獲得維一的TraceID;

第二個(gè)ID是RpcID (或者稱為SpanID), 在一次業(yè)務(wù)請(qǐng)求中,可能經(jīng)過(guò)的應(yīng)用會(huì)有多過(guò),以一個(gè)電商下單業(yè)務(wù)為例: 它需要經(jīng)過(guò)訂單系統(tǒng)創(chuàng)建訂單; 支付系統(tǒng)接受支付;庫(kù)存系統(tǒng)扣減產(chǎn)品庫(kù)存;會(huì)員系統(tǒng)給買家進(jìn)行積分處理; 購(gòu)物車系統(tǒng)會(huì)清理購(gòu)物清單。這樣對(duì)于業(yè)務(wù)流經(jīng)的每一個(gè)應(yīng)用,都有一個(gè)有層次的RpcID, 這個(gè)RpcID可以認(rèn)為是使用目錄層級(jí)記錄的,從這個(gè)RpcID來(lái)看,那怕它在同一個(gè)業(yè)務(wù)中被調(diào)用了多次,它的每一次進(jìn)入的RpcID都是一樣的。

依賴于TraceID & RpcID,我們可以很方便地還原整個(gè)調(diào)用鏈。


ARMS在怎么APM工具選型中實(shí)踐的


6、主動(dòng)診斷能力
ARMS提供了主動(dòng)診斷能力,可以通過(guò)選定具體的時(shí)間,執(zhí)行主動(dòng)診斷,ARMS會(huì)分析這一段時(shí)間內(nèi)的應(yīng)用運(yùn)行情況,自動(dòng)總結(jié)這一段時(shí)間內(nèi)的問(wèn)題,并且結(jié)合阿里的經(jīng)驗(yàn),產(chǎn)出具體的報(bào)表。我們依據(jù)這個(gè)報(bào)表,可以加速我們的定位與優(yōu)化。
7、豐富的報(bào)警能力
完善報(bào)警體系,ARMS提供了豐富的報(bào)警規(guī)則,我們可以對(duì)相應(yīng)的規(guī)則進(jìn)行開(kāi)啟/關(guān)停,編輯,這樣可以快速搭建報(bào)警體系。在報(bào)警通道方面,可以直接發(fā)對(duì)接釘釘/WebHook/Email/短信網(wǎng)關(guān)等。

運(yùn)維能力上的優(yōu)勢(shì)

1、 按需監(jiān)控啟停管理
通過(guò)ARMS的管理控制臺(tái),我們可以批量在管理應(yīng)用的啟停,可以一鍵停止所有的ARMS監(jiān)控,也可以一鍵啟動(dòng)相關(guān)應(yīng)用的監(jiān)控。非常符合上云的按需要使用觀念。
2、動(dòng)態(tài)采樣率變更
在面對(duì)特殊的時(shí)間點(diǎn)或者異常出現(xiàn)機(jī)率的時(shí)候,我們希望動(dòng)態(tài)調(diào)整采樣率,例如通過(guò)調(diào)大采樣率來(lái)捕獲這些概率極少的調(diào)用鏈,借助ARMS的配置管理,我們可以非常方便地把更齊全的調(diào)用鏈?zhǔn)占饋?lái);通過(guò)調(diào)小采樣率來(lái)保證存儲(chǔ)空間的合理使用(其它的APM工具在做采樣率的變更時(shí),需要應(yīng)用的重新配置,啟動(dòng),這不但處理起來(lái)麻煩,并且影響業(yè)務(wù)的邊續(xù)性,在實(shí)際操作上很難下定決心去在運(yùn)行期間中斷業(yè)務(wù)去做改變采樣率的變更。)
3、 綁定參數(shù)的開(kāi)關(guān)
雖然很多APM工具都可以提供綁定參數(shù)的功能。但很多時(shí)候,如果對(duì)于業(yè)務(wù)數(shù)據(jù)敏感的系統(tǒng),并不希望這類APM工具在非必要的時(shí)候采集SQL/API的運(yùn)行參數(shù)。所以ARMS在它的配置管理里提供這么一個(gè)功能非常有意義,也就是當(dāng)需要收集這些運(yùn)行的業(yè)務(wù)參數(shù)進(jìn)行問(wèn)題定位分析的時(shí)候,那么只要打開(kāi)就可以了,使用完畢后,再通過(guò)把這些開(kāi)關(guān)關(guān)上,那么就可以保護(hù)我們的業(yè)務(wù)數(shù)據(jù)不外泄漏出去了。
4、接入簡(jiǎn)易
可通過(guò)更簡(jiǎn)易的方式如阿里容器ACK/EDAS/SAE等各種非常便捷的接入方式,只需要簡(jiǎn)單的YAML注解或按鈕即可完成接入。
5、 組件穩(wěn)定免運(yùn)維
因?yàn)锳RMS是商業(yè)化的產(chǎn)品,所以所有的組件都是不需要我們使用方運(yùn)維的。如果使用開(kāi)源自建,那么我們就需要對(duì)日志收集,計(jì)算清洗服務(wù),存儲(chǔ)產(chǎn)品本身進(jìn)行運(yùn)維,包括相應(yīng)的集群規(guī)模,清理處理,擴(kuò)容處理,如果在峰值過(guò)后,不進(jìn)行資源回收,也會(huì)產(chǎn)生額外的使用浪費(fèi)。

成本使用上的優(yōu)勢(shì)

1、 ARMS是按接入節(jié)點(diǎn),接入的小時(shí)(時(shí)長(zhǎng))計(jì)費(fèi)的,這樣可以充分發(fā)揮云上產(chǎn)品的優(yōu)勢(shì)。按需要使用,按需要的應(yīng)用節(jié)點(diǎn)付費(fèi)。另外ARMS單純地按照節(jié)點(diǎn)數(shù)來(lái)計(jì)算,并不受采樣率的變動(dòng)而產(chǎn)生變化,這樣對(duì)于大采樣率的應(yīng)用是有一定的優(yōu)勢(shì)。
2、 ARMS有相應(yīng)的資源包,可以通過(guò)購(gòu)買資源包的方式進(jìn)一步節(jié)省費(fèi)用。
3、 因?yàn)楫a(chǎn)品的組合因素,ARMS如果搭配阿里云的容器(ACK)使用,計(jì)費(fèi)會(huì)自動(dòng)5折。

備注

1、開(kāi)源的按照統(tǒng)一統(tǒng)計(jì)數(shù)據(jù)存15天,全量明細(xì)數(shù)據(jù)存3天計(jì)算(ARMS的數(shù)據(jù)是全天24小時(shí)使用,存儲(chǔ)60天,在非容器下按年包折下來(lái)的月費(fèi)用。)
2、人力成本以具有開(kāi)發(fā)能力的運(yùn)維人員月薪3萬(wàn)計(jì)算。人力成本,主要參數(shù)變動(dòng)帶來(lái)的發(fā)布,后端系統(tǒng)的不穩(wěn)定帶來(lái)的效率損失,后端系統(tǒng)的維護(hù)操作。中大型的會(huì)做一些定制的開(kāi)發(fā)(例如采樣的動(dòng)態(tài)配置化生效)

關(guān)于ARMS在怎么APM工具選型中實(shí)踐的就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI