光大銀行監(jiān)控平臺(tái)實(shí)踐,含詳細(xì)工具及架構(gòu)選型思路
本文根據(jù)胖亞鵬老師在〖deeplus直播第222期〗線上分享演講內(nèi)容整理而成。
胖亞鵬
光大銀行科技部系統(tǒng)架構(gòu)師
光大銀行科技部系統(tǒng)架構(gòu)師、技術(shù)專家,具有十余年監(jiān)控系統(tǒng)建設(shè)的項(xiàng)目實(shí)施經(jīng)驗(yàn)。目前主要負(fù)責(zé)光大銀行統(tǒng)一監(jiān)控管理平臺(tái)的總體架構(gòu)規(guī)劃和欄目?jī)?nèi)部研發(fā)管理等工作。
對(duì)監(jiān)控系統(tǒng)的管理模型優(yōu)化、監(jiān)控服務(wù)化的實(shí)現(xiàn)以及分布式監(jiān)控等領(lǐng)域有較深入的研究和理解。對(duì)于將AI技術(shù)運(yùn)用到監(jiān)控領(lǐng)域有濃厚興趣。
大家好,我今天分享的主題是光大銀行統(tǒng)一監(jiān)控平臺(tái)建設(shè)實(shí)踐。
光大銀行統(tǒng)一監(jiān)控平臺(tái),定位是服務(wù)全行科技條線的IT監(jiān)控系統(tǒng),是運(yùn)維之眼。該平臺(tái)體系比較龐大,今天主要介紹偏向于監(jiān)控管理和報(bào)警管理的相關(guān)功能。這部分功能是我行根據(jù)多年的經(jīng)驗(yàn)自主研發(fā)實(shí)現(xiàn)的,里面蘊(yùn)含著監(jiān)控管理方面的理念和思路,希望此次分享能給大家?guī)?lái)一些參考和啟發(fā)。
一、監(jiān)控系統(tǒng)發(fā)展現(xiàn)狀分析
金融科技是一個(gè)炙手可熱的話題,通過(guò)互聯(lián)網(wǎng)、大數(shù)據(jù)、云計(jì)算、人工智能、區(qū)塊連等新技術(shù)的應(yīng)用,支持和引領(lǐng)著業(yè)務(wù)的快速發(fā)展。
這個(gè)過(guò)程中,對(duì)銀行科技運(yùn)維和運(yùn)營(yíng)都帶來(lái)了很大的挑戰(zhàn),主要表現(xiàn)在:
業(yè)務(wù)對(duì)服務(wù)的穩(wěn)定性、可靠性要求越來(lái)越高;
業(yè)務(wù)對(duì)IT支撐能力的依賴性越來(lái)越強(qiáng);
IT架構(gòu)本身的復(fù)雜度越來(lái)越高。
為了提升整體的IT運(yùn)營(yíng)和運(yùn)維能力,銀行業(yè)的數(shù)據(jù)中心較早引入了ITIL管理理念,建立流程管理的模式,形成運(yùn)維管理工作的流程化和標(biāo)準(zhǔn)化模式。
隨著云計(jì)算、大數(shù)據(jù)和人工智能的發(fā)展,在原有的ITIL的基礎(chǔ)上引入了DevOps和AIOps理念的相關(guān)技術(shù),逐步轉(zhuǎn)向?yàn)閿?shù)據(jù)和業(yè)務(wù)價(jià)值驅(qū)動(dòng),向著IT運(yùn)營(yíng)和數(shù)字化運(yùn)營(yíng)的目標(biāo)轉(zhuǎn)型。
從我們光大銀行的角度,科技部運(yùn)維中心提出了BCDT的理念,作為運(yùn)維相關(guān)工作的總體指導(dǎo)思想和理念。從監(jiān)控系統(tǒng)建設(shè)的角度,主要的內(nèi)容就是:
底線思維:不漏報(bào)、不誤報(bào)、全覆蓋,監(jiān)控系統(tǒng)自身高可用,安全可靠;
閉環(huán)思維:監(jiān)控能力建設(shè)要向開(kāi)發(fā)、測(cè)試前移,監(jiān)控策略的部署、故障處置、定位和后分析,要形成閉環(huán)持續(xù)優(yōu)化;
發(fā)展思維: 是研究和引入新的監(jiān)控手段和管理方法,適應(yīng)和滿足新的管理要求;
技術(shù)思維:強(qiáng)調(diào)技術(shù)是核心驅(qū)動(dòng)力,通過(guò)技術(shù)帶動(dòng)監(jiān)控能力的提升。
光大銀行監(jiān)控體系經(jīng)過(guò)了多年的建設(shè),歷經(jīng)了幾個(gè)主要階段,通過(guò)分析可以看到主要的趨勢(shì)是朝著集中化、平臺(tái)化和數(shù)字化的發(fā)展方向。
1)2005年開(kāi)始配置獨(dú)立的監(jiān)控工具。
2)2011年開(kāi)始進(jìn)入平臺(tái)化建設(shè),報(bào)警統(tǒng)一。
3)2014年開(kāi)始全面監(jiān)控,實(shí)現(xiàn)應(yīng)用交易監(jiān)控,搭建了大數(shù)據(jù)平臺(tái)的框架。
4)2018年新一代的監(jiān)控管理平臺(tái)上線運(yùn)行,這是我行自主研發(fā)的平臺(tái),在報(bào)警管理、標(biāo)準(zhǔn)化和自動(dòng)化能力上的提升明顯。
5)2019年科技運(yùn)營(yíng)數(shù)據(jù)平臺(tái)投產(chǎn),這個(gè)系統(tǒng)通過(guò)產(chǎn)學(xué)研合作的方式落地 AI分析處理能力,監(jiān)控系統(tǒng)向著數(shù)字化轉(zhuǎn)型。
在我行監(jiān)控管理系統(tǒng)持續(xù)演進(jìn)的過(guò)程中,我們也在思考和總結(jié),哪些是不變的,哪些是頻繁變化的。
相對(duì)穩(wěn)定不變的內(nèi)容包括:
平臺(tái)職能目標(biāo):保障IT系統(tǒng)穩(wěn)定運(yùn)行,不變。運(yùn)維中心對(duì)監(jiān)控系統(tǒng)設(shè)定的主動(dòng)發(fā)現(xiàn)率這個(gè)KPI指標(biāo),一直沒(méi)有變;
報(bào)警管理的目標(biāo):事前預(yù)警、事中發(fā)現(xiàn)和定位、事后分析,這個(gè)工作方法沒(méi)有變。
監(jiān)控管理的模型: 監(jiān)控管理作為業(yè)務(wù)去分析,它包含的監(jiān)控對(duì)象、監(jiān)控指標(biāo)、監(jiān)控策略,這個(gè)管理模型沒(méi)有變。
變化的內(nèi)容就比較多了,比如:
監(jiān)控對(duì)象更復(fù)雜;
監(jiān)控技術(shù)和工具日新月異;
監(jiān)控范圍涵蓋指標(biāo)、日志、Tracing等;
更加認(rèn)識(shí)到數(shù)據(jù)的價(jià)值;
引入很多智能算法;
運(yùn)維和開(kāi)發(fā)更加緊密合作等等。
我們回顧和總結(jié)這個(gè)變化,對(duì)我們監(jiān)控系統(tǒng)建設(shè)有很強(qiáng)的指導(dǎo)作用。不變的點(diǎn)更多是管理相關(guān)的能力和要求,這在市場(chǎng)上沒(méi)有完全滿足我們要求的產(chǎn)品,于是我們選擇了自主進(jìn)行研發(fā),最終形成了監(jiān)控管理平臺(tái)。
而對(duì)于更多變化的內(nèi)容,我們的策略是快速引入專業(yè)領(lǐng)域的監(jiān)控工具納入到我行監(jiān)控體系中使用,對(duì)接到管理平臺(tái)進(jìn)行統(tǒng)一管理。發(fā)展趨勢(shì)中,大數(shù)據(jù)平臺(tái)的作用和價(jià)值凸顯,我們也以此作為監(jiān)控乃至IT運(yùn)營(yíng)的轉(zhuǎn)型的方向,基于開(kāi)源的產(chǎn)品重點(diǎn)建設(shè)和優(yōu)化。
二、光大銀行監(jiān)控體系總體介紹
在重點(diǎn)介紹監(jiān)控管理平臺(tái)之前,有必要讓大家對(duì)光大銀行監(jiān)控體系的總體架構(gòu)和功能有個(gè)了解。
光大銀行監(jiān)控系統(tǒng)的定位是面向全行科技部門的IT監(jiān)控系統(tǒng)。從功能層面分為3層,分別是監(jiān)控工具層、平臺(tái)層和統(tǒng)一展示層。
1)監(jiān)控工具層,包含各類開(kāi)源或者商業(yè)的專業(yè)領(lǐng)域的監(jiān)控工具,他們實(shí)現(xiàn)對(duì)各類監(jiān)控工具的實(shí)時(shí)的數(shù)據(jù)采集。常見(jiàn)的比如Zabbix、Nagios、Prometheus、BPC、Tivoli等等,都定位在監(jiān)控工具層。監(jiān)控工具會(huì)把報(bào)警數(shù)據(jù)、性能數(shù)據(jù)、日志數(shù)據(jù),上送到平臺(tái)層。
2)平臺(tái)層,包含兩大部分功能:一是由監(jiān)控報(bào)警處理、監(jiān)控標(biāo)準(zhǔn)化和自服務(wù)等功能模塊組成的管理平臺(tái);二是基于大數(shù)據(jù)架構(gòu)的科技運(yùn)營(yíng)數(shù)據(jù)平臺(tái),包括大數(shù)據(jù)處理、存儲(chǔ)、AI分析以及數(shù)據(jù)服務(wù)接口等子系統(tǒng)。在平臺(tái)層,還實(shí)現(xiàn)了和行內(nèi)其他運(yùn)維系統(tǒng)的對(duì)接。
3)統(tǒng)一展示層,根據(jù)不同用戶的角色和場(chǎng)景,提供PC、大屏和手機(jī)端展示。
總的來(lái)說(shuō),平臺(tái)層的建設(shè)思路是開(kāi)源+自研,是整個(gè)體系的核心;工具層的建設(shè)思路是專業(yè)+敏捷+統(tǒng)一管理。
通過(guò)多年的建設(shè),監(jiān)控系統(tǒng)的指標(biāo)覆蓋從底層的機(jī)房設(shè)施到最上層的應(yīng)用交易,實(shí)現(xiàn)了指標(biāo)全覆蓋。借助多種監(jiān)控工具的部署,對(duì)監(jiān)控指標(biāo)的實(shí)現(xiàn),一般都具備多種監(jiān)控手段。
我們內(nèi)部有個(gè)原則:對(duì)于關(guān)鍵指標(biāo),要有兩種的工具能夠覆蓋。這樣做有兩個(gè)好處:一是能夠確保監(jiān)控策略有冗余,二是確保當(dāng)我們識(shí)別出一個(gè)新的指標(biāo)要納入監(jiān)控時(shí),我們一定有工具能快速實(shí)現(xiàn)監(jiān)控部署。
交易監(jiān)控,一直是所有監(jiān)控系統(tǒng)建設(shè)的重點(diǎn)功能。我們通過(guò)多種手段,實(shí)現(xiàn)端到端的交易全方位監(jiān)控:
1)采用了網(wǎng)絡(luò)旁路抓包、流水表鏡像和交易日志分析等多種方式監(jiān)控交易成功率、響應(yīng)率、響應(yīng)時(shí)間等指標(biāo),實(shí)現(xiàn)了對(duì)應(yīng)用無(wú)侵入的、實(shí)時(shí)的監(jiān)控。
2)TCP網(wǎng)絡(luò)層監(jiān)控,通過(guò)旁路方式對(duì)應(yīng)用的全鏈路“通訊對(duì)”進(jìn)行監(jiān)控和分析,能夠快速發(fā)現(xiàn)網(wǎng)絡(luò)的異常,也能從網(wǎng)絡(luò)層面對(duì)應(yīng)用故障進(jìn)行協(xié)助定位和分析。
3)模擬監(jiān)控,從互聯(lián)網(wǎng)以及內(nèi)網(wǎng)探點(diǎn)模擬訪問(wèn)應(yīng)用系統(tǒng),主動(dòng)獲取可用性和性能數(shù)據(jù),并接入到監(jiān)控平臺(tái)進(jìn)行集中處理和分析。
4)通過(guò)網(wǎng)絡(luò)抓包和日志Api的方式進(jìn)行端到端追蹤系統(tǒng)應(yīng)用間和應(yīng)用系統(tǒng)內(nèi)部的交易路徑。這個(gè)功能目前在部分新架構(gòu)下的應(yīng)用系統(tǒng)已經(jīng)實(shí)現(xiàn),更多傳統(tǒng)的應(yīng)用系統(tǒng)正在改造過(guò)程中。
大數(shù)據(jù)和智能算法,是我們現(xiàn)在的工作重心。2019年我們的科技運(yùn)營(yíng)數(shù)據(jù)平臺(tái)完成上線投產(chǎn),這個(gè)平臺(tái)綜合運(yùn)用了多種算法,實(shí)現(xiàn)了指標(biāo)異常檢測(cè)、多維檢測(cè)、批處理異常檢測(cè)等多種功能。
對(duì)銀行業(yè)最重要的就是聯(lián)機(jī)交易和批量執(zhí)行,智能監(jiān)控為傳統(tǒng)監(jiān)控提供了重要的補(bǔ)充手段:
一個(gè)場(chǎng)景是交易監(jiān)控,綜合節(jié)假日、促銷等各種因素實(shí)現(xiàn)動(dòng)態(tài)的異常交易檢測(cè)和告警,可以細(xì)化到每一只交易單獨(dú)進(jìn)行監(jiān)控,相比于傳統(tǒng)的固定閾值監(jiān)控能提前3-5分鐘進(jìn)行提示。
第二個(gè)場(chǎng)景,是對(duì)批量任務(wù)時(shí)長(zhǎng)的智能分析,相比于傳統(tǒng)的固定批量執(zhí)行時(shí)長(zhǎng)的監(jiān)控,智能分析的結(jié)果能夠做到提前預(yù)警,為夜間故障處置贏得了時(shí)間。
在數(shù)據(jù)展示方面,我們建設(shè)了統(tǒng)一視圖系統(tǒng)。支持移動(dòng)端、大屏端、PC端實(shí)時(shí)數(shù)據(jù)展示。根據(jù)業(yè)務(wù)場(chǎng)景,定制了日常運(yùn)維視圖、 應(yīng)急保障視圖、和重保運(yùn)營(yíng)視圖。
按照用戶角色的使用需求,對(duì)各類視圖進(jìn)行分類,如一線偏重于故障發(fā)現(xiàn)、和按照預(yù)案處置以及事后的驗(yàn)證;二線偏重于故障的解決以及趨勢(shì)分析和隱患排查。
對(duì)于監(jiān)控系統(tǒng)的建設(shè),我們的原則是以開(kāi)源為主,自主可控。
在數(shù)據(jù)采集層面,我們使用了zabbix、nagios、prometheus 等常見(jiàn)的開(kāi)源軟件。另外也有國(guó)產(chǎn)的網(wǎng)絡(luò)流量采集和分析的產(chǎn)品。對(duì)于存量的國(guó)外商業(yè)套件,我們已經(jīng)制定了替換的計(jì)劃,預(yù)計(jì)會(huì)逐步下線。
需要特別提到的是,我們正在實(shí)施部署的統(tǒng)一采控Agent子系統(tǒng),采用自研方式建設(shè),目標(biāo)是能夠成為一個(gè)采集腳本編寫(xiě)和管理的基礎(chǔ)平臺(tái),提供通用的Agent驅(qū)動(dòng)能力,獨(dú)立實(shí)現(xiàn)服務(wù)器上所有數(shù)據(jù)的實(shí)時(shí)采集,成為大數(shù)據(jù)平臺(tái)最穩(wěn)定可靠的數(shù)據(jù)來(lái)源。
在數(shù)據(jù)處理、數(shù)據(jù)存儲(chǔ)、前端展示以及開(kāi)發(fā)部署各個(gè)層面,也就是平臺(tái)層的產(chǎn)品則基本都是開(kāi)源的產(chǎn)品和技術(shù)。
上面是對(duì)我行監(jiān)控系統(tǒng)整體的功能和架構(gòu)進(jìn)行了簡(jiǎn)要介紹。
三、監(jiān)控管理平臺(tái)建設(shè)實(shí)踐分享
前面介紹了光大銀行總體監(jiān)控體系,在本章節(jié)我來(lái)介紹一下監(jiān)控體系中的監(jiān)控管理子系統(tǒng)。
這是監(jiān)控管理平臺(tái)的總體功能架構(gòu)圖:
主要是兩大部分,第一個(gè)是左半部分,從下到上包括報(bào)警采集、預(yù)處理和處理,構(gòu)成了報(bào)警處理引擎子系統(tǒng),其中還包括了報(bào)警通知和維護(hù)期管理的功能。
第二是右半部分從上到下,監(jiān)控標(biāo)準(zhǔn)化管理子系統(tǒng),包含監(jiān)控對(duì)象、策略、指標(biāo)和規(guī)則等標(biāo)準(zhǔn)化管理功能,以及監(jiān)控配置自動(dòng)化、監(jiān)控評(píng)價(jià)等功能。
通俗的說(shuō),左面部分解決的是報(bào)警來(lái)了怎么處理的問(wèn)題, 右面部分解決的是報(bào)警如何配置,怎么產(chǎn)生的問(wèn)題。
下面分別介紹一下報(bào)警處理引擎和監(jiān)控標(biāo)準(zhǔn)化管理兩大部分功能。報(bào)警處理引擎,是光大銀行自主研發(fā)實(shí)現(xiàn)的核心組件,所以這個(gè)部分是本次分享的重點(diǎn)內(nèi)容。
首先,我們先來(lái)分析報(bào)警管理的技術(shù)和業(yè)務(wù)特點(diǎn):
在事件采集層,數(shù)據(jù)源豐富、報(bào)文格式多種多樣,并且期望的采集延遲在毫秒級(jí);
在報(bào)警處理層,特點(diǎn)包括報(bào)警量大、可能存在報(bào)警風(fēng)暴、報(bào)警之間相關(guān)性高、處理邏輯復(fù)雜,要考慮擴(kuò)展性并且還要合理繼承原有的規(guī)則,處理延遲要求在秒級(jí)完成;
在展示和處置層,要求的是展現(xiàn)形式多種多樣,前端頁(yè)面能夠高頻刷新或主動(dòng)的接收服務(wù)器推送的報(bào)警,保證時(shí)效性。
基于上述報(bào)警管理的特點(diǎn),我們制定了報(bào)警處理引擎的選型和開(kāi)發(fā)的目標(biāo):
1)事件采集和處理要解耦,這樣能夠保證采集器的采集時(shí)效性。
2)事件處理集中化,規(guī)則、外部對(duì)象資源都要加載,通過(guò)集中處理可以更加充分的利用資源,一次加載重復(fù)使用。
3)事件處理分布式,處理集中之后就要有分布式處理可水平擴(kuò)展的能力。
4)分布式內(nèi)存數(shù)據(jù)庫(kù),針對(duì)報(bào)警反復(fù)讀寫(xiě)數(shù)據(jù)庫(kù)的情況,這是從性能角度考慮。
5)對(duì)SQL的支持好,數(shù)據(jù)庫(kù)的訪問(wèn)就能非常靈活和簡(jiǎn)潔,監(jiān)控報(bào)警規(guī)則就更容易實(shí)現(xiàn)。
6)去商業(yè)化,自主構(gòu)建?;陂_(kāi)源軟件構(gòu)建,能夠最大程度滿足管理要求。
上述幾點(diǎn)是我們最初選擇報(bào)警處理引擎的一些考量或者是目標(biāo)。這和我們之前用的產(chǎn)品也有一定關(guān)系,我們之前采用的是IBM Omnibus產(chǎn)品,到現(xiàn)在也有很多金融機(jī)構(gòu)在使用該產(chǎn)品,它是一個(gè)基于內(nèi)存的支持SQL的報(bào)警處理引擎,它的最大問(wèn)題就是單節(jié)點(diǎn)、單進(jìn)程運(yùn)行,所以對(duì)于大數(shù)據(jù)量的處理存在瓶頸。
所以我們開(kāi)發(fā)的新報(bào)警引擎一方面要解決處理能力的瓶頸,另一方面要能夠完全兼容原平臺(tái)的處理邏輯和規(guī)則。這是我們?cè)诩夹g(shù)選型前的另外一個(gè)約束。
在產(chǎn)品選型的過(guò)程中,我們主要考慮的是兩部分,一是數(shù)據(jù)庫(kù),二是分布式開(kāi)發(fā)的框架。
在數(shù)據(jù)庫(kù)選型中,我們選擇了Apache Ignite作為分布式數(shù)據(jù)庫(kù)。和其他數(shù)據(jù)庫(kù)的對(duì)比,比如Oracle、MySQL、Eedis、Geode、ES,主要考量幾個(gè)特征是內(nèi)存關(guān)系數(shù)據(jù)庫(kù)、支持SQL、支持持久化等。
第二個(gè)選型,是分布式開(kāi)發(fā)框架,因?yàn)榭蚣苤饕糜谝鎯?nèi)各個(gè)組件的高性能交互,所以我們選擇了Dubbo框架,相對(duì)更輕量和小巧。
關(guān)于 Apache Ignite,是基于Java語(yǔ)言開(kāi)發(fā)的,可以用作一個(gè)分布式的緩存,也是一個(gè)分布式內(nèi)存數(shù)據(jù)庫(kù),可以作為關(guān)系數(shù)據(jù)庫(kù)使用。它的數(shù)據(jù)儲(chǔ)存在堆外內(nèi)存的,不受GC影響,性能更好。作為內(nèi)存數(shù)據(jù)庫(kù),它還能將數(shù)據(jù)持久化到磁盤(pán),保證數(shù)據(jù)不丟失。另外一些特點(diǎn)比如支持事務(wù)、可配置為CP或者AP使用,支持SQL函數(shù)擴(kuò)展以及內(nèi)置消息訂閱發(fā)布模型。
作為報(bào)警引擎來(lái)講,我們更加關(guān)注分布式緩存、分布式數(shù)據(jù)庫(kù)、和持久化。
下面是報(bào)警處理引擎的功能架構(gòu)圖,包括接入層、處理層、APP管理層、數(shù)據(jù)管理層和接口層。
其中的重點(diǎn)是處理層,分為兩大類的處理功能,下層是報(bào)警流處理,上層是報(bào)警的批處理。這些處理功能模塊是動(dòng)態(tài)加載和可擴(kuò)展的,是在App管理層采用應(yīng)用商店的模式,進(jìn)行發(fā)布和編排的App。在我們的報(bào)警引擎中,將每個(gè)處理功能都作為一個(gè)App來(lái)管理。通過(guò)這樣的靈活管理和部署的架構(gòu),滿足報(bào)警處理的各種需求。
從技術(shù)產(chǎn)品框架的視角看,最下層是自主開(kāi)發(fā)的事件采集器 使用了spring boot + akka。應(yīng)用層采用Dubbo的分布式處理集群,集群內(nèi)運(yùn)行多個(gè)事件處理節(jié)點(diǎn),事件處理節(jié)點(diǎn)使用的技術(shù)包括:ANTLR 語(yǔ)法分析、java 動(dòng)態(tài)編譯tools 以及Java RMI。使用zookeeper作為服務(wù)發(fā)布和訂閱的管理,ignite是報(bào)警存儲(chǔ)庫(kù)。最上層是報(bào)警視圖的前后端服務(wù)。
一個(gè)事件處理節(jié)點(diǎn)內(nèi)部的邏輯架構(gòu)和數(shù)據(jù)的流向圖如下:
主要內(nèi)容包括:
1)數(shù)據(jù)處理流程是報(bào)警從采集器來(lái),送到流處理模塊后通過(guò)ignite客戶端節(jié)點(diǎn)入庫(kù)。批處理模塊負(fù)責(zé)把報(bào)警取出來(lái)進(jìn)行二次分析,增刪改的動(dòng)作還會(huì)送到流處理模塊進(jìn)行處理后入庫(kù)。
2)在ignite庫(kù)中分為實(shí)時(shí)庫(kù)和歷史庫(kù),保存所有的報(bào)警信息。引擎通過(guò)報(bào)警跟蹤的模塊,把所有的報(bào)警變化記錄同步到kafka,供第三方消費(fèi)。批處理分配模塊則實(shí)現(xiàn)了批任務(wù)的分布式處理調(diào)度的工作。
3)控制臺(tái)提供用戶交互接口,管理流處理和批處理中運(yùn)行的處理功能App。節(jié)點(diǎn)間管理信息的同步則通過(guò)RMI通訊模塊完成。
報(bào)警處理功能,是處理引擎的核心功能。什么是處理功能?比如一個(gè)報(bào)警發(fā)生了,要不要進(jìn)維護(hù)期,那這就是一個(gè)報(bào)警處理功能。那維護(hù)期的判斷,一定是在報(bào)警通知之前執(zhí)行。那這就是功能間的編排。
我們的報(bào)警處理引擎,是以應(yīng)用商店App的模式對(duì)報(bào)警處理功能進(jìn)行封裝和管理編排,定義了多種App類型,支持處理功能的定制開(kāi)發(fā)。也就是說(shuō)報(bào)警功能可以不斷的擴(kuò)充的。
App的類型,包括:
最普通的流App和批量App;
廣播型的App本質(zhì)是為分布式批量;
訂閱型批量是和上述類型App組合使用的,用于數(shù)據(jù)的匯總和再處理;
Restful App 可以動(dòng)態(tài)的生成訪問(wèn)App內(nèi)部數(shù)據(jù)的接口,可以對(duì)App運(yùn)行情況進(jìn)行監(jiān)控。
在我行報(bào)警處理引擎正在運(yùn)行的處理功能,包括一些基本的處理功能,比如報(bào)警豐富、報(bào)警壓縮 、恢復(fù)關(guān)聯(lián)、自動(dòng)升降級(jí)、維護(hù)期等。在智能化報(bào)警方面,主要的處理功能用于報(bào)警的根因和影響分析,實(shí)現(xiàn)了根因升級(jí)和受影響報(bào)警的自動(dòng)降級(jí),場(chǎng)景包括如服務(wù)器宕機(jī)、應(yīng)用服務(wù)擁堵、DWDM中斷等異常場(chǎng)景。我們正在做的優(yōu)化工作,包括基于算法的報(bào)警和基于cmdb規(guī)則的排障樹(shù)等功能。
總結(jié)一下報(bào)警處理引擎的特性:
特性包括:分布式處理、高可用;完全兼容之前IBM omnibus的處理規(guī)則,可以平滑過(guò)渡;支持App熱部署熱插拔;App可編排、調(diào)度和協(xié)作;擴(kuò)展性強(qiáng),支持自定義App開(kāi)發(fā)和部署以及SQL函數(shù)擴(kuò)展;高并發(fā)、高性能;支持告警鏈路追蹤和處理性能統(tǒng)計(jì);支持全備+增量的備份方式;支持多數(shù)據(jù)中心主備模式部署。
前面講了監(jiān)控管理平臺(tái)的報(bào)警引擎,下面要再來(lái)分享標(biāo)準(zhǔn)化管理的內(nèi)容。
在前面介紹監(jiān)控系統(tǒng)演進(jìn)過(guò)程時(shí)我們講到過(guò),監(jiān)控管理的模型到目前為止還是依然適用的:
其中涉及監(jiān)控對(duì)象、監(jiān)控工具、監(jiān)控策略、監(jiān)控指標(biāo) ,比較核心的幾個(gè)概念和關(guān)系:
監(jiān)控指標(biāo)是針對(duì)每一類對(duì)象要監(jiān)控什么,是對(duì)象的一組動(dòng)態(tài)屬性,比如CPU使用率就是一個(gè)指標(biāo);
監(jiān)控策略是如何進(jìn)行度量指標(biāo),比如 CPU使用率大于80%,持續(xù)3分鐘,報(bào)一個(gè)警告;
關(guān)系是:監(jiān)控對(duì)象關(guān)聯(lián)了監(jiān)控指標(biāo),監(jiān)控策略實(shí)現(xiàn)了監(jiān)控指標(biāo),并且在特定的監(jiān)控工具上運(yùn)行,完成對(duì)監(jiān)控對(duì)象的監(jiān)控;
監(jiān)控標(biāo)準(zhǔn),就是哪些對(duì)象用哪些策略覆蓋哪些指標(biāo)。把這些規(guī)則匯總和發(fā)布出來(lái),就是我們企業(yè)級(jí)的監(jiān)控標(biāo)準(zhǔn)。
在實(shí)際運(yùn)行中,監(jiān)控對(duì)象、指標(biāo)、策略和工具自身的內(nèi)容,都在發(fā)生變化,比如我們引入了交易量動(dòng)態(tài)基線的監(jiān)控,實(shí)際上就是用一種新的工具和策略,去檢查我們?cè)械谋O(jiān)控對(duì)象和指標(biāo)。
在我行監(jiān)控系統(tǒng)實(shí)現(xiàn)時(shí)的一些要點(diǎn)總結(jié)如下:
1)在監(jiān)控對(duì)象管理的方面,支持對(duì)象全覆蓋、對(duì)象類別和屬性擴(kuò)充、對(duì)象關(guān)聯(lián)關(guān)系管理。錄入對(duì)象時(shí),物理的屬性是系統(tǒng)自動(dòng)發(fā)現(xiàn)和采集;管理屬性優(yōu)先是從外部的cmdb進(jìn)行同步。支持批量導(dǎo)入。這部分的管理功能可以套用cmdb的管理。
2)指標(biāo)方面,需要支持虛擬指標(biāo)和工具指標(biāo)的定義和關(guān)聯(lián)。
3)策略方面,要支持通用的公式編輯器,利用指標(biāo)生成策略。對(duì)于一些單向支持的工具,支持策略從工具進(jìn)行抽取。
前面標(biāo)準(zhǔn)化模型的內(nèi)容都準(zhǔn)備好之后,就具備了監(jiān)控自動(dòng)化和自服務(wù)部署策略的前提。
自動(dòng)化分為兩個(gè)層次:
自動(dòng)化,就是監(jiān)控的實(shí)施人員進(jìn)行的自動(dòng)化部署;
自服務(wù),這個(gè)是面向?qū)I(yè)團(tuán)隊(duì)運(yùn)維人員的操作。自服務(wù)是自動(dòng)化的更高階的階段,需要系統(tǒng)提供面向業(yè)務(wù)場(chǎng)景的、更加易用的交互界面。
實(shí)現(xiàn)過(guò)程中的技術(shù)要點(diǎn),就是通過(guò)監(jiān)控工具驅(qū)動(dòng)程序的開(kāi)發(fā),實(shí)現(xiàn)平臺(tái)對(duì)底層監(jiān)控工具的變更操作,而且能夠屏蔽工具的差異性,快速接入各類工具。根據(jù)工具接口的完備度,有全驅(qū)動(dòng)和半驅(qū)動(dòng)之分,全驅(qū)動(dòng)就是所有的操作都能在平臺(tái)層完成,半驅(qū)動(dòng)就是常見(jiàn)的標(biāo)準(zhǔn)化策略部署,在平臺(tái)完成,一些特殊策略部署還需要到工具手工完成。
正是有了驅(qū)動(dòng)能力的不同,所以對(duì)于半驅(qū)動(dòng)來(lái)說(shuō),我們還需要一個(gè)策略采集器,確保管理平臺(tái)有完整的工具策略。
對(duì)于監(jiān)控自服務(wù)管理的執(zhí)行,那我們有一個(gè)原則:專業(yè)團(tuán)隊(duì)的管理員的自助式的配置,是在監(jiān)控標(biāo)準(zhǔn)下的自服務(wù)。
典型場(chǎng)景是操作人員錄入設(shè)備信息,自動(dòng)發(fā)現(xiàn)或者同步資源的信息,然后補(bǔ)充必要的對(duì)象信息,預(yù)覽自動(dòng)匹配到的監(jiān)控策略,進(jìn)行確認(rèn)后,下發(fā)生效。
在這個(gè)流程中,策略的匹配和綁定是基于監(jiān)控規(guī)則的,監(jiān)控規(guī)則是企業(yè)級(jí)定義和發(fā)布的監(jiān)控標(biāo)準(zhǔn),所以大家在進(jìn)行自服務(wù)的時(shí)候,還是要以規(guī)則為準(zhǔn)。
對(duì)于個(gè)性化策略的部署,技術(shù)上是可以支持的。目前在我們的實(shí)際使用中是要走ITSM流程審批過(guò)后,由監(jiān)控管理員去執(zhí)行非標(biāo)策略或個(gè)性化策略部署的。而且這種非標(biāo)的策略部署過(guò)后,我們是有評(píng)價(jià)機(jī)制來(lái)跟蹤的。
監(jiān)控評(píng)價(jià)模塊,用于事后量化評(píng)價(jià)每個(gè)應(yīng)用系統(tǒng)的監(jiān)控情況。
評(píng)價(jià)主要是3個(gè)指標(biāo),監(jiān)控覆蓋率、監(jiān)控標(biāo)準(zhǔn)化率、超額布控率,這三個(gè)指標(biāo)在設(shè)計(jì)的時(shí)候,從管理上要求是逐級(jí)升高的:
1)監(jiān)控覆蓋率,是說(shuō)需要有監(jiān)控,這是最基本的要求。計(jì)算公式是基于監(jiān)控指標(biāo)進(jìn)行的。
2)監(jiān)控標(biāo)準(zhǔn)化率,是說(shuō)除了有監(jiān)控,還應(yīng)該按照行里的標(biāo)準(zhǔn)策略進(jìn)行監(jiān)控,比如標(biāo)準(zhǔn)的閾值是90%,如果某個(gè)服務(wù)器需要改為80%的閾值,那這就是不遵從標(biāo)準(zhǔn)了。所以監(jiān)控標(biāo)準(zhǔn)化率指標(biāo)是基于監(jiān)控策略進(jìn)行計(jì)算的。
3)超額布控率,就是說(shuō)前面的標(biāo)準(zhǔn)動(dòng)作都做完了,如果管理員責(zé)任心強(qiáng),又提了額外的監(jiān)控策略,那就是超額布控率,也是基于指標(biāo)計(jì)算的。
通過(guò)這樣三個(gè)指標(biāo),可以對(duì)我們的應(yīng)用系統(tǒng)的監(jiān)控完備度進(jìn)行一個(gè)量化的評(píng)價(jià)和排名。有了這個(gè)排名后,那我們的管理機(jī)制就能夠發(fā)揮作用了。
監(jiān)控評(píng)價(jià)的目標(biāo)是以評(píng)促改?;谠u(píng)價(jià)的結(jié)果,我們或者進(jìn)一步去完善監(jiān)控標(biāo)準(zhǔn),或者對(duì)于一些非標(biāo)的特例就要促進(jìn)相應(yīng)的應(yīng)用系統(tǒng)進(jìn)行整改,進(jìn)一步符合監(jiān)控的規(guī)范。這樣一個(gè)持續(xù)改進(jìn)的閉環(huán)就形成了。
管理平臺(tái)還有一個(gè)比較重要的功能,維護(hù)期管理。這和報(bào)警管理以及標(biāo)準(zhǔn)化管理都有一些關(guān)系。這個(gè)是個(gè)常用的功能,技術(shù)上并不復(fù)雜,但也非常容易出問(wèn)題。它直接影響了報(bào)警的有效性,管理的不好很容易出現(xiàn)漏報(bào)警或者誤報(bào)警。
關(guān)于維護(hù)期使用,我們?cè)诙嗄甑谋O(jiān)控運(yùn)行中,吃了一些虧得到一些教訓(xùn),這會(huì)促進(jìn)我們不斷優(yōu)化相關(guān)的功能。以下經(jīng)驗(yàn)和大家分享:
1)維護(hù)期最多設(shè)置30天,單次超過(guò)24小時(shí),就要進(jìn)行二次確認(rèn),避免出現(xiàn)誤操作。
2)非周期的維護(hù)期內(nèi)發(fā)生的高級(jí)別報(bào)警,也要通知到管理員,避免把維護(hù)期報(bào)警和故障報(bào)警進(jìn)行混淆。
3)出維護(hù)期前,管理員要去檢查維護(hù)期內(nèi)報(bào)警的狀態(tài),避免出現(xiàn)誤報(bào)警。
4)出維護(hù)期后,如果報(bào)警還沒(méi)有恢復(fù),那就要重新進(jìn)入處置流程,避免遺漏報(bào)警。
此外,我們還定期導(dǎo)出報(bào)表,進(jìn)行維護(hù)期的重檢,確認(rèn)維護(hù)期的有效性。
作為監(jiān)控管理平臺(tái),如何對(duì)我們整個(gè)監(jiān)控體系的運(yùn)行效果進(jìn)行評(píng)價(jià),最直接的指標(biāo),是發(fā)現(xiàn)率和有效率。
目前運(yùn)維中心設(shè)定的KPI指標(biāo)是監(jiān)控發(fā)現(xiàn)率,就是監(jiān)控系統(tǒng)發(fā)現(xiàn)的故障占總體故障的百分比。我們的監(jiān)控主動(dòng)發(fā)現(xiàn)率基本能保持在98%以上,對(duì)于監(jiān)控未主動(dòng)發(fā)現(xiàn)的故障,有相當(dāng)大比例會(huì)引起業(yè)務(wù)影響,這也從側(cè)面也證明了監(jiān)控的重要性。
前面講的偏向于工具功能以及技術(shù)實(shí)現(xiàn),在這我還想強(qiáng)調(diào)一下體系的作用,體系包括人員的參與和管理流程:
1)人員各司其職很重要,一線人員、二線人員、專家、運(yùn)維質(zhì)量管理人員、監(jiān)控管理的人員還有監(jiān)控系統(tǒng)建設(shè)的人員,都參與到系統(tǒng)運(yùn)行中,而且通過(guò)二線應(yīng)用管理人員,開(kāi)發(fā)項(xiàng)目組的人員也間接參與到整個(gè)監(jiān)控體系運(yùn)轉(zhuǎn)中,盡職盡責(zé)。
2)我們做了很多基礎(chǔ)的管理工作和數(shù)據(jù)分析工作,通過(guò)監(jiān)控報(bào)表、事件報(bào)表,每天、每周、每月、每年的事件會(huì),對(duì)報(bào)警相關(guān)的事件進(jìn)行分析,持續(xù)的反饋和優(yōu)化監(jiān)控標(biāo)準(zhǔn)、補(bǔ)充策略。過(guò)去10年間,運(yùn)維中心的領(lǐng)導(dǎo)能夠親身參與到這些工作中。堅(jiān)持,所以才能讓我們的監(jiān)控系統(tǒng)持續(xù)優(yōu)化。
對(duì)于有效率指標(biāo),從真實(shí)有效的角度去度量,那我行監(jiān)控系統(tǒng)誤報(bào)很少,都能如實(shí)反應(yīng)生產(chǎn)的情況。如果站在一個(gè)更高的要求去理解這個(gè)指標(biāo),有效率表示的是事件的數(shù)量和報(bào)警的比值,提升有效率能夠減少無(wú)效報(bào)警的干擾,提升故障處置的效率。我們目前正在做的優(yōu)化是基于規(guī)則和場(chǎng)景,按照?qǐng)?bào)警的根因和業(yè)務(wù)影響的分析,這兩個(gè)視角進(jìn)行報(bào)警的合并和關(guān)聯(lián),減少孤立報(bào)警的數(shù)量,提升報(bào)警的有效率。
四、未來(lái)發(fā)展方向展望
最后我們對(duì)監(jiān)控系統(tǒng)的未來(lái)發(fā)展,做個(gè)展望。總體的方向,我們認(rèn)為是向數(shù)字化運(yùn)營(yíng)的轉(zhuǎn)變。
目標(biāo)是提升對(duì)數(shù)字化運(yùn)行態(tài)的洞察力和智能分析能力。這里面有4個(gè)方面:
1)數(shù)字化的思維的建立和數(shù)字化的監(jiān)控轉(zhuǎn)型。
2)基于這些大數(shù)據(jù),進(jìn)一步豐富完善算法,推廣智能算法的應(yīng)用場(chǎng)景。
3)監(jiān)控管理和服務(wù)的融合,在強(qiáng)化監(jiān)控標(biāo)準(zhǔn)化管理的基礎(chǔ)上,還要更加快速的納管新的技術(shù)工具,提升自服務(wù)的應(yīng)用范圍和場(chǎng)景。
4)監(jiān)控云和云監(jiān)控。監(jiān)控云是以云原生方式構(gòu)建監(jiān)控系統(tǒng),提升彈性和敏捷的能力,加強(qiáng)工具整合;云監(jiān)控則是提升容器、k8s、分布式應(yīng)用的監(jiān)控能力,通過(guò)監(jiān)控API的部署和使用,把運(yùn)維和開(kāi)發(fā)部門進(jìn)行打通,提升云應(yīng)用自身的主動(dòng)監(jiān)控能力。
Q&A
Q1:咱們有用到規(guī)則引擎嗎?
A:用到了Spring SpEL,正在研究Drools。
Q2:請(qǐng)問(wèn)Ignite持久化到RDMS有使用嗎?
A:沒(méi)有使用Ignite自身的機(jī)制持久化到RDMS,我們做了IDUC模塊將所有告警的變更操作都同步到了RDMS,這個(gè)比Ignite本身持久化到RDMS更細(xì)致。
Q3:請(qǐng)問(wèn)實(shí)時(shí)流事件處理是基于Ignite嗎?
A:不是,Ignite只是用來(lái)做存儲(chǔ),實(shí)時(shí)流處理是我們自己開(kāi)發(fā)的模塊。
Q4:請(qǐng)問(wèn)咱們Ignite可以支持多大的告警量?
A:支持千萬(wàn)級(jí)的實(shí)時(shí)告警量,支持億級(jí)的歷史告警量。
Q5: 監(jiān)控的指標(biāo)會(huì)有相應(yīng)的區(qū)分嗎?比如根據(jù)采集的手段:遠(yuǎn)程或者本地?
A:指標(biāo)是一個(gè)抽象概念,跟具體的實(shí)現(xiàn)解耦。指標(biāo)只包含名稱、單位、數(shù)據(jù)類型等關(guān)鍵屬性。
Q6:您好,想了解這里介紹的各個(gè)功能,是基本都已經(jīng)實(shí)現(xiàn)的還是規(guī)劃為主呢?
A:大部分已經(jīng)實(shí)現(xiàn)。有一些功能還在推廣過(guò)程中,如監(jiān)控自服務(wù)和監(jiān)控評(píng)價(jià)功能,還在持續(xù)提升工具的覆蓋范圍。
Q7:請(qǐng)問(wèn)現(xiàn)在智能化監(jiān)控落地的場(chǎng)景能講一下嗎?
A:交易基線分析、批量運(yùn)行時(shí)長(zhǎng)分析、交易異常點(diǎn)定位。
Q8:請(qǐng)問(wèn)目前光大銀行的自動(dòng)化運(yùn)維達(dá)到什么程度了呢?
A:和監(jiān)控相關(guān)的自動(dòng)化主要是監(jiān)控策略自動(dòng)部署,以及報(bào)警產(chǎn)生后推送到自動(dòng)化運(yùn)維平臺(tái)和運(yùn)維工具箱進(jìn)行自動(dòng)匹配。
Q9:請(qǐng)問(wèn)表鏡像用的是什么技術(shù)和工具?
A:使用Oracle Golden Gate實(shí)現(xiàn)Oracle數(shù)據(jù)庫(kù)之間以及Oracle數(shù)據(jù)庫(kù)到Kafka的實(shí)時(shí)數(shù)據(jù)同步。
Q10:可以談一談監(jiān)控和CMDB,流程平臺(tái)的關(guān)聯(lián)關(guān)系嗎?
A:監(jiān)控對(duì)象的全集來(lái)自CMDB,目前是每天自動(dòng)同步;和流程平臺(tái),目前已經(jīng)實(shí)現(xiàn)了變更流程的維護(hù)期自動(dòng)設(shè)置,還有報(bào)警轉(zhuǎn)事件工單流程。
Q11:請(qǐng)問(wèn)目前每天數(shù)據(jù)量有多少?
A:存量活動(dòng)告警2萬(wàn)以內(nèi),歷史告警新增記錄數(shù)每天10w+。
Q12:晚上批處理監(jiān)控有沒(méi)有比較好的方法呢?特別是關(guān)鍵路徑上的批處理時(shí)間的監(jiān)控
A:我們是根據(jù)批量運(yùn)行的歷史數(shù)據(jù)計(jì)算批量運(yùn)行時(shí)長(zhǎng)的基線,再根據(jù)基線進(jìn)行報(bào)警。
Q13:TCP鏈路追蹤是指在網(wǎng)卡層進(jìn)行分布式鏈路采集嗎?
A:我行的TCP鏈路監(jiān)控是通過(guò)網(wǎng)絡(luò)交換機(jī)旁路抓包的方式對(duì)TCP報(bào)文進(jìn)行分析和監(jiān)控。
Q14:這個(gè)監(jiān)控平臺(tái)都是自己開(kāi)發(fā)的嗎?沒(méi)有引入一些開(kāi)源的監(jiān)控工具嗎?
A:基于開(kāi)源工具進(jìn)行自主開(kāi)發(fā)的,具體的開(kāi)源工具正文有介紹。
Q15:想了解下在存儲(chǔ)方面如何做統(tǒng)一監(jiān)控呢?
A:統(tǒng)一監(jiān)控平臺(tái)通過(guò)接收存儲(chǔ)設(shè)備推送的trap報(bào)警實(shí)現(xiàn)故障監(jiān)控。獨(dú)立運(yùn)行的存儲(chǔ)管理平臺(tái)實(shí)現(xiàn)存儲(chǔ)設(shè)備及SAN交換機(jī)的性能監(jiān)控。
Q16:請(qǐng)問(wèn)做自研的監(jiān)控平臺(tái),從哪方面入手更好?比如先做好數(shù)據(jù)采集?用哪些開(kāi)源技術(shù)棧比較好?
A:需要看具體的需求和資源投入了,最好還是做好提前規(guī)劃設(shè)計(jì)。最大化利用開(kāi)源工具的能力,比如Prometheus、Zabbix。
Q17:請(qǐng)問(wèn)監(jiān)控?cái)?shù)據(jù)在問(wèn)題故障根因定位等方面是如何使用,在哪些方面或環(huán)節(jié)必須基于監(jiān)控?cái)?shù)據(jù)?
A:根因定位一般需要告警數(shù)據(jù)和配置數(shù)據(jù)兩類數(shù)據(jù),告警數(shù)據(jù)指告警記錄本身,配置數(shù)據(jù)指描述對(duì)象的資源數(shù)據(jù)、描述業(yè)務(wù)的業(yè)務(wù)數(shù)據(jù)等等元描述數(shù)據(jù)。
Q18:請(qǐng)問(wèn)應(yīng)用的監(jiān)控?cái)?shù)據(jù)采集是通過(guò)什么方式?
A:應(yīng)用監(jiān)控?cái)?shù)據(jù)采集方式主要包括:本地代理實(shí)時(shí)采集;外部服務(wù)探測(cè);旁路網(wǎng)絡(luò)抓包;數(shù)據(jù)庫(kù)流水表同步鏡像等方式。
Q19:請(qǐng)問(wèn)自動(dòng)發(fā)現(xiàn)引擎用的是Zabbix還是自研呢?
A:服務(wù)器相關(guān)的自動(dòng)發(fā)現(xiàn)是基于Zabbix的,網(wǎng)絡(luò)設(shè)備發(fā)現(xiàn)和配置采集是自研的。
Q20:請(qǐng)問(wèn)帶外硬件設(shè)備的監(jiān)控,和帶內(nèi)系統(tǒng)監(jiān)控,關(guān)聯(lián)關(guān)系建立方面,有相關(guān)經(jīng)驗(yàn)可以分享嗎?謝謝。
A:cmdb實(shí)現(xiàn)虛擬化OS和物理設(shè)備的收集匯總和關(guān)聯(lián)關(guān)系的建立。監(jiān)控同步cmdb的數(shù)據(jù)獲取相關(guān)的關(guān)系。
Q21:咱們機(jī)器學(xué)習(xí)算法也是在分布式內(nèi)存庫(kù)內(nèi)做嗎?
A:不是,是在我們的大數(shù)據(jù)平臺(tái)做的。
Q22:請(qǐng)教一下,告警收斂怎么實(shí)現(xiàn)?
A:在報(bào)警處理層面,通過(guò)預(yù)置場(chǎng)景,比如服務(wù)器宕機(jī)、交易繁忙等關(guān)聯(lián)規(guī)則,實(shí)現(xiàn)報(bào)警關(guān)聯(lián)和抑制。在通知層面,對(duì)于報(bào)警狀態(tài)未發(fā)生變化的情況,不會(huì)重復(fù)發(fā)送報(bào)警,且會(huì)對(duì)通知短信進(jìn)行壓縮處理。
Q23:咱們有服務(wù)撥測(cè)相關(guān)的監(jiān)控功能嗎?可以介紹一下嗎?
A:我們采購(gòu)了互聯(lián)網(wǎng)廠商的服務(wù),從全國(guó)各運(yùn)營(yíng)商對(duì)我行外網(wǎng)應(yīng)用進(jìn)行撥測(cè),包括App和Web服務(wù),監(jiān)控?cái)?shù)據(jù)實(shí)時(shí)同步到行內(nèi)監(jiān)控系統(tǒng)。在內(nèi)網(wǎng)建設(shè)了私有化的撥測(cè)平臺(tái)和探點(diǎn),通過(guò)錄制腳本和定期回放的方式監(jiān)控重點(diǎn)應(yīng)用。
Q24:告警關(guān)聯(lián)是如何實(shí)現(xiàn)的?可否舉個(gè)例子呢?
A:空間上,通過(guò)告警對(duì)象的關(guān)聯(lián)關(guān)系,比如同一個(gè)應(yīng)用系統(tǒng)下,如果數(shù)據(jù)庫(kù)發(fā)生告警,那么依賴他的所有中間件、應(yīng)用都會(huì)產(chǎn)生告警;時(shí)間上,通過(guò)時(shí)間窗,比如某個(gè)告警發(fā)生的前后幾分鐘之內(nèi)的所有告警。規(guī)則引擎會(huì)根據(jù)上述條件對(duì)報(bào)警進(jìn)行實(shí)時(shí)分析,同時(shí)在這兩個(gè)維度有關(guān)聯(lián)的,才會(huì)進(jìn)行告警的關(guān)聯(lián)。
Q25:請(qǐng)問(wèn)告警風(fēng)暴和根因分析這塊兒,可以分享一下嗎?
A:目前采用了分布式內(nèi)存數(shù)據(jù)庫(kù)和分布式并發(fā)處理,完全可以應(yīng)付告警風(fēng)暴;根因分析是根據(jù)預(yù)置場(chǎng)景規(guī)則進(jìn)行報(bào)警的關(guān)聯(lián)和壓制。
Q26:請(qǐng)問(wèn)老師可以分享一下指標(biāo)的標(biāo)準(zhǔn)化體系建設(shè)嗎?
A:監(jiān)控指標(biāo)體系最初建立是多年監(jiān)控系統(tǒng)運(yùn)行經(jīng)驗(yàn)的積累?,F(xiàn)階段由監(jiān)控團(tuán)隊(duì)負(fù)責(zé)監(jiān)控指標(biāo)的維護(hù)和管理,定期由專業(yè)團(tuán)隊(duì)和各領(lǐng)域?qū)<疫M(jìn)行重檢。
特別推薦一個(gè)分享架構(gòu)+算法的優(yōu)質(zhì)內(nèi)容,還沒(méi)關(guān)注的小伙伴,可以長(zhǎng)按關(guān)注一下:
長(zhǎng)按訂閱更多精彩▼
如有收獲,點(diǎn)個(gè)在看,誠(chéng)摯感謝
免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。文章僅代表作者個(gè)人觀點(diǎn),不代表本平臺(tái)立場(chǎng),如有問(wèn)題,請(qǐng)聯(lián)系我們,謝謝!