掌控關(guān)鍵業(yè)務(wù)流程 云智慧API監(jiān)控方案解析
在上一篇《API潮涌移動(dòng)互聯(lián) 暗藏應(yīng)用性能隱憂》中,我們對(duì)移動(dòng)互聯(lián)網(wǎng)引爆的API應(yīng)用浪潮,以及API廣泛應(yīng)用帶來(lái)的應(yīng)用性能隱患的成因進(jìn)行了解讀。文中提到云智慧監(jiān)控寶通過(guò)業(yè)內(nèi)首創(chuàng)的API監(jiān)控來(lái)實(shí)現(xiàn)對(duì)業(yè)務(wù)流程進(jìn)行監(jiān)控和告警,實(shí)時(shí)分析關(guān)鍵業(yè)務(wù)交付流程中應(yīng)用程序接口的可用性、正確性和服務(wù)響應(yīng)時(shí)間。接下來(lái),我們就來(lái)看看云智慧監(jiān)控寶的API監(jiān)控是如何實(shí)現(xiàn)對(duì)關(guān)鍵業(yè)務(wù)過(guò)程的跟蹤和監(jiān)控的。
監(jiān)控寶API監(jiān)控方案功能特色
云智慧監(jiān)控寶的API監(jiān)控基于接口調(diào)用來(lái)監(jiān)控業(yè)務(wù)流程,對(duì)企業(yè)內(nèi)部自有API及第三方數(shù)據(jù)接口進(jìn)行正確性、可用性與耗時(shí)分析,為接口服務(wù)提供有效的監(jiān)控保障。
云智慧監(jiān)控寶API監(jiān)控原理
API監(jiān)控對(duì)數(shù)據(jù)的接收和處理,是通過(guò)遍布全球的上百個(gè)監(jiān)測(cè)點(diǎn)(包括移動(dòng)監(jiān)測(cè)點(diǎn))實(shí)現(xiàn)的,可對(duì)API的get、post、put、delete、head、options六種請(qǐng)求方式進(jìn)行實(shí)時(shí)監(jiān)控,支持多種驗(yàn)證方式及腳本導(dǎo)入;支持JSON、XML、Text、Response Status驗(yàn)證及腳本導(dǎo)入;通過(guò)“斷言”功能監(jiān)測(cè)檢驗(yàn)接口調(diào)用的正確性,亦可根據(jù)業(yè)務(wù)邏輯,將API的監(jiān)控分成幾個(gè)連續(xù)的請(qǐng)求監(jiān)控。
監(jiān)控寶通過(guò)對(duì)API監(jiān)控的歷史記錄、告警消息、故障消息及故障類型統(tǒng)計(jì)分析,獲得全面的歷史數(shù)據(jù),實(shí)現(xiàn)精準(zhǔn)的數(shù)據(jù)分析;同時(shí)用戶可根據(jù)業(yè)務(wù)的實(shí)際需求和SLA自定義告警線,實(shí)時(shí)接收智能告警消息。
監(jiān)控寶API監(jiān)控配置
此次API監(jiān)控升級(jí),云智慧的產(chǎn)品技術(shù)團(tuán)隊(duì)對(duì)配置選項(xiàng)進(jìn)行了大幅度的優(yōu)化,用戶可以更便捷的對(duì)API的請(qǐng)求方式、認(rèn)證類型、URL參數(shù)、form參數(shù)進(jìn)行配置操作。
除了基本信息的設(shè)置,請(qǐng)求管理、初始變量、監(jiān)控設(shè)置和告警設(shè)置均被單獨(dú)羅列,以滿足應(yīng)用的不同需求。用戶可在請(qǐng)求管理中手動(dòng)添加監(jiān)控請(qǐng)求,也能通過(guò)腳本批量導(dǎo)入請(qǐng)求,并在當(dāng)前頁(yè)面測(cè)試請(qǐng)求設(shè)置是否正確。初始變量設(shè)置不但可以自定義變量,還支持{{timestamp}}、{{utc_datetime}}、{{random_int}}、{{md5(value)}}、{{sha256(value)}}等12個(gè)常見(jiàn)系統(tǒng)變量。
為監(jiān)控API數(shù)據(jù)的正確性,監(jiān)控寶引入斷言驗(yàn)證,使用jsonPath和xPath語(yǔ)言。XPath 是一門在 XML 文檔中查找信息的語(yǔ)言,可用來(lái)在 XML 文檔中對(duì)元素和屬性進(jìn)行遍歷。XPath 是 W3C XSLT 標(biāo)準(zhǔn)的主要元素,并且 XQuery 和 XPointer 都構(gòu)建于 XPath 表達(dá)之上。因此XPath 的理解是很多高級(jí) XML 應(yīng)用的基礎(chǔ)。JsonPath 對(duì)于 JSON 來(lái)說(shuō)相當(dāng)于 XPATH 對(duì)于 XML,是一個(gè)簡(jiǎn)單的從文檔中抽取指定信息的工具,提供多種語(yǔ)言實(shí)現(xiàn)版本,包括:Javascript, Java, Python 和 PHP。具體用法可見(jiàn)使用說(shuō)明。
用戶在設(shè)置告警條件時(shí),可從可用率(事務(wù)or某請(qǐng)求,最近一段時(shí)間內(nèi)的可用率小于[值]即告警)、正確率(某事務(wù)or請(qǐng)求在最近一段時(shí)間內(nèi)的正確率小于[值]即告警)、響應(yīng)時(shí)間(某事務(wù)or請(qǐng)求的當(dāng)前(或最近一段時(shí)間內(nèi))響應(yīng)時(shí)間大于[值]即告警)以及新增的相同錯(cuò)誤類型發(fā)生的次數(shù)(某事務(wù)or請(qǐng)求,最近一段時(shí)間內(nèi),相同錯(cuò)誤類型發(fā)生的次數(shù),大于[次數(shù)]即告警)四個(gè)維度進(jìn)行設(shè)置。
監(jiān)控寶API監(jiān)控報(bào)表
監(jiān)控寶同時(shí)對(duì)API監(jiān)控報(bào)表進(jìn)行了重構(gòu),在概覽頁(yè)面的新版監(jiān)控地圖可一目了然的顯示出API可用性、正確性及響應(yīng)時(shí)間參數(shù)。而且視圖不但可以查看整個(gè)業(yè)務(wù)流程的監(jiān)控?cái)?shù)據(jù),還能直接查看單個(gè)請(qǐng)求的報(bào)告。
此外,用戶可以在側(cè)邊欄菜單中快速查看API的正確率、可用率、響應(yīng)時(shí)間統(tǒng)計(jì),而歷史快照則能幫助運(yùn)維或開發(fā)人員快速、準(zhǔn)確的復(fù)現(xiàn)和定位故障原因。同時(shí),監(jiān)控寶還將陸續(xù)在北上廣等核心用戶聚集的城市增加三大運(yùn)營(yíng)商的移動(dòng)監(jiān)測(cè)點(diǎn),通過(guò)真實(shí)環(huán)境監(jiān)控API性能。