01.
云函數(shù)+APM,進(jìn)一步提升Serverless可觀測(cè)性
Serverless產(chǎn)品免運(yùn)維、彈性擴(kuò)縮容的產(chǎn)品特性,意味著由平臺(tái)來(lái)進(jìn)行請(qǐng)求的調(diào)度、資源的分發(fā),也意味著用戶(hù)在進(jìn)行問(wèn)題定位、異常排查時(shí)需要依賴(lài)平臺(tái)提供的可觀測(cè)性功能。騰訊云Serverless云函數(shù)SCF在可觀測(cè)性上,已經(jīng)與日志服務(wù)合作提供了專(zhuān)業(yè)可靠的日志功能,與云監(jiān)控團(tuán)隊(duì)合作提供了指標(biāo)豐富的監(jiān)控功能。
對(duì)于具有更細(xì)粒度、更定制化的可觀測(cè)性訴求的場(chǎng)景,近日云函數(shù)SCF與騰訊云應(yīng)用性能觀測(cè)APM團(tuán)隊(duì)合作,推出了云函數(shù)應(yīng)用性能觀測(cè)功能,現(xiàn)已正式發(fā)布,訪問(wèn)SCF控制臺(tái)啟用APM配置即可體驗(yàn)。APM基于OpenTracing開(kāi)源協(xié)議,支持多種主流框架和編程語(yǔ)言,為您提供應(yīng)用性能觀測(cè)一站式解決方案。啟用應(yīng)用性能觀測(cè)功能后,SCF將使用基于OpenTracing的Jaeger實(shí)現(xiàn)將函數(shù)運(yùn)行總耗時(shí)、冷啟動(dòng)耗時(shí)、執(zhí)行耗時(shí)三段關(guān)鍵時(shí)間上報(bào)至APM:
·函數(shù)運(yùn)行總耗時(shí)
作為父分段上報(bào),對(duì)應(yīng)APM鏈路中execution接口,表示函數(shù)從接收到調(diào)用命令開(kāi)始到函數(shù)執(zhí)行完成總耗時(shí)。
·冷啟動(dòng)耗時(shí)
作為函數(shù)運(yùn)行總耗時(shí)的子分段上報(bào),對(duì)應(yīng)APM鏈路中initialization接口,表示函數(shù)從接收到調(diào)用命令開(kāi)始,到實(shí)例準(zhǔn)備完成、函數(shù)初始化邏輯執(zhí)行完成耗時(shí)。(該分段僅出現(xiàn)在冷啟動(dòng)調(diào)用請(qǐng)求中)
·執(zhí)行耗時(shí)
作為函數(shù)運(yùn)行總耗時(shí)的子分段上報(bào),對(duì)應(yīng)APM鏈路中invocation接口,表示入口函數(shù)執(zhí)行耗時(shí)(事件函數(shù))或完成9000端口監(jiān)聽(tīng)后每次執(zhí)行耗時(shí)(Web函數(shù)和鏡像函數(shù))。
除此之外,還可以根據(jù)業(yè)務(wù)需要自定義埋點(diǎn)進(jìn)行上報(bào)。
騰訊云應(yīng)用性能觀測(cè)(Application Performance Management,APM)是一款應(yīng)用性能管理平臺(tái),基于實(shí)時(shí)的多語(yǔ)言應(yīng)用探針全量采集技術(shù),為您提供分布式應(yīng)用性能分析和故障自檢能力,全方位保障系統(tǒng)的可用性和穩(wěn)定性。協(xié)助您在復(fù)雜的業(yè)務(wù)系統(tǒng)快速定位性能問(wèn)題,降低MTTR(平均故障恢復(fù)時(shí)間)。實(shí)時(shí)了解并追蹤應(yīng)用性能情況,提升用戶(hù)體驗(yàn)。
02.
豐富的指標(biāo)監(jiān)控,打造多個(gè)函數(shù)應(yīng)用級(jí)全局觀測(cè)
SCF與APM集成,將可觀測(cè)性的重點(diǎn)從單個(gè)系統(tǒng)轉(zhuǎn)為整體系統(tǒng)。在Serverless場(chǎng)景下,即從對(duì)單個(gè)函數(shù)的觀測(cè)轉(zhuǎn)為對(duì)Serverless應(yīng)用(包含多個(gè)函數(shù)及其他服務(wù))的全局觀測(cè),通過(guò)豐富的指標(biāo)監(jiān)控采集分析、依賴(lài)拓?fù)鋱D、調(diào)用鏈分析、日志分析等能力,全面的展示整個(gè)應(yīng)用的運(yùn)行情況。
使用Serverless APM服務(wù),將會(huì)有以下幾個(gè)方面的優(yōu)勢(shì):
1.豐富的基礎(chǔ)監(jiān)控指標(biāo)采集與展示
用戶(hù)不僅可以使用服務(wù)端監(jiān)控,也可以使用各APM產(chǎn)品的客戶(hù)端監(jiān)控,實(shí)現(xiàn)在一個(gè)平臺(tái)乃至一個(gè)數(shù)據(jù)大屏上同時(shí)監(jiān)測(cè)業(yè)務(wù)的服務(wù)端和客戶(hù)端。
2.鏈路追蹤能力
一個(gè)Serverless應(yīng)用可能包含一個(gè)或多個(gè)函數(shù)、API網(wǎng)關(guān)及其他云服務(wù)或者第三方服務(wù)。憑借鏈路追蹤能力,用戶(hù)可以根據(jù)依賴(lài)拓?fù)鋱D,高效地分析Serverless應(yīng)用中各組件的調(diào)用關(guān)系及延時(shí)情況,可在復(fù)雜系統(tǒng)中快速定位性能瓶頸和異常情況。
3.調(diào)用鏈分析能力
調(diào)用鏈分析可與依賴(lài)拓?fù)鋱D進(jìn)行配合,使用調(diào)用鏈分析可清晰的展示請(qǐng)求在系統(tǒng)內(nèi)所有鏈路的處理情況,還原請(qǐng)求響應(yīng)過(guò)程的完整現(xiàn)場(chǎng)。通過(guò)分析鏈路上每個(gè)服務(wù)的狀態(tài)和耗時(shí),可將每個(gè)服務(wù)的處理耗時(shí)、服務(wù)間調(diào)用的網(wǎng)絡(luò)耗時(shí)以瀑布圖的形式直觀的展示出來(lái)。便于用戶(hù)進(jìn)行”異?!罢?qǐng)求的問(wèn)題定位,獲得更好更高效的應(yīng)用體驗(yàn)。
03.
使用方法
1.登錄云函數(shù)控制臺(tái),單擊左側(cè)導(dǎo)航欄中的函數(shù)服務(wù)。
·云函數(shù)SCF控制臺(tái):https://console.cloud.tencent.com/scf
2.在頁(yè)面上方選擇地域,單擊需要進(jìn)行應(yīng)用性能觀測(cè)配置的函數(shù)名。
3.在“函數(shù)配置”頁(yè)面,選擇右上角的編輯,勾選啟用應(yīng)用性能觀測(cè)。(首次啟用請(qǐng)按照控制臺(tái)引導(dǎo)完成授權(quán)流程)
4.APM的資源單元為業(yè)務(wù)系統(tǒng),請(qǐng)選擇數(shù)據(jù)上報(bào)的地域并選擇對(duì)應(yīng)的業(yè)務(wù)系統(tǒng)。如地域下無(wú)業(yè)務(wù)系統(tǒng),可點(diǎn)擊【新建業(yè)務(wù)系統(tǒng)】跳轉(zhuǎn)到APM控制臺(tái)進(jìn)行創(chuàng)建。
注意:
·建議選擇與函數(shù)所在地域相同的地域,如需跨地域上報(bào),請(qǐng)?jiān)诤瘮?shù)網(wǎng)絡(luò)配置中啟用公網(wǎng)訪問(wèn)。(函數(shù)通過(guò)公網(wǎng)上報(bào)APM可能會(huì)產(chǎn)生額外的費(fèi)用,請(qǐng)按需使用)
·業(yè)務(wù)系統(tǒng)選擇完成后,會(huì)展示業(yè)務(wù)系統(tǒng)對(duì)應(yīng)的接入點(diǎn)和Token信息,供業(yè)務(wù)代碼自定義上報(bào)使用。
5.單擊保存完成函數(shù)應(yīng)用性能觀測(cè)配置,函數(shù)調(diào)用后即可在APM控制臺(tái)看到平臺(tái)默認(rèn)上報(bào)的鏈路信息。