楊猛 邵月 張冰
國(guó)家電網(wǎng)有限公司信息通信分公司 北京 100761
近年來,隨著國(guó)家電網(wǎng)有限公司數(shù)字化轉(zhuǎn)型快速發(fā)展,國(guó)網(wǎng)云平臺(tái)、數(shù)據(jù)中臺(tái)等基礎(chǔ)支撐平臺(tái)能力大幅增強(qiáng),電力信息系統(tǒng)建設(shè)也朝著云上微服務(wù)架構(gòu)快速演進(jìn),而云平臺(tái)屏蔽底層邏輯、資源彈性伸縮與動(dòng)態(tài)調(diào)配的能力在給信息系統(tǒng)部署應(yīng)用帶來便捷、靈活的同時(shí),也給信息系統(tǒng)運(yùn)行問題分析及定位引入了新的難題。一是云上應(yīng)用租戶無法感知云平臺(tái)PaaS層、IaaS層以及相關(guān)云外主機(jī)、安全、網(wǎng)絡(luò)等軟硬件設(shè)備運(yùn)行狀態(tài),跨專業(yè)、跨單位部門臨時(shí)協(xié)同排查效率低、溝通成本高;二是上層業(yè)務(wù)與下層應(yīng)用組件、基礎(chǔ)平臺(tái)組件關(guān)聯(lián)關(guān)系不明晰;三是微服務(wù)數(shù)量大、跨省跨單位調(diào)用鏈路關(guān)系復(fù)雜;四是日志及告警數(shù)據(jù)量巨大,且冗余信息較多,這些都給系統(tǒng)故障分析定位處置增加了巨大難度[1]。因此,有必要針對(duì)云上微服務(wù)架構(gòu)電力信息系統(tǒng)覆蓋業(yè)務(wù)、應(yīng)用、云平臺(tái)、基礎(chǔ)軟硬件設(shè)備的全景監(jiān)控技術(shù)進(jìn)行研究,將各層級(jí)監(jiān)控能力進(jìn)行整合關(guān)聯(lián),構(gòu)建基于全鏈路追蹤的全景監(jiān)控能力,實(shí)現(xiàn)對(duì)業(yè)務(wù)異常的快速發(fā)現(xiàn)、精準(zhǔn)告警能力。
基于云上微服務(wù)架構(gòu)的電力信息系統(tǒng)全景監(jiān)控系統(tǒng)從上到下需監(jiān)控的對(duì)象包含:業(yè)務(wù)層、應(yīng)用層、PAAS層云組件及云外組件、IAAS層資源及云外硬件資源。
業(yè)務(wù)層監(jiān)控對(duì)象主要包含直接面向用戶的各類業(yè)務(wù)功能;應(yīng)用層監(jiān)控對(duì)象主要包含后臺(tái)支撐實(shí)現(xiàn)業(yè)務(wù)功能的各微服務(wù)、微應(yīng)用;PAAS層云組件及云外組件層主要包括對(duì)應(yīng)用層提供支撐的平臺(tái)類組件,其中云上組件主要包括分布式應(yīng)用服務(wù)EDAS、全局事務(wù)服務(wù)GTS、Redis、容器服務(wù)K8S、消息隊(duì)列MQ、負(fù)載均衡SLB、表格存儲(chǔ)OTS、ES、云數(shù)據(jù)庫(kù)RDS、分布式數(shù)據(jù)庫(kù)DRDS、數(shù)據(jù)倉(cāng)庫(kù)、對(duì)象存儲(chǔ)、云服務(wù)器、分布式任務(wù)調(diào)度等各類云組件,云外相關(guān)組件主要包括:Oracle、Nginx、Tomcat等;IAAS層資源及云外硬件資源監(jiān)控對(duì)象主要包含虛擬計(jì)算資源、虛擬存儲(chǔ)資源、虛擬網(wǎng)絡(luò)資源,以及它們所依賴的底層物理服務(wù)器、物理存儲(chǔ)、物理網(wǎng)絡(luò)等硬件設(shè)備。
為保障云上微服務(wù)架構(gòu)下電力信息系統(tǒng)業(yè)務(wù)穩(wěn)定運(yùn)行,有效支撐運(yùn)維人員掌握系統(tǒng)整體運(yùn)行狀態(tài)、快速定位異常根因,設(shè)計(jì)構(gòu)建的全景監(jiān)控系統(tǒng)應(yīng)包含全景監(jiān)控能力、智能分析能力及監(jiān)控可視化能力。
全景監(jiān)控能力主要實(shí)現(xiàn)信息系統(tǒng)的全鏈路監(jiān)控,包括業(yè)務(wù)層監(jiān)控、應(yīng)用層監(jiān)控、Paas層監(jiān)控、IaaS層等各層級(jí)縱向貫通監(jiān)控,以及覆蓋總部側(cè)到省側(cè)、系統(tǒng)本體到外部集成系統(tǒng)間的橫向兩級(jí)鏈路監(jiān)控,形成全景監(jiān)控能力。
智能分析能力主要實(shí)現(xiàn)對(duì)監(jiān)控運(yùn)行狀態(tài)及告警數(shù)據(jù)的統(tǒng)一匯聚、展示、處理能力,實(shí)現(xiàn)智能化分析應(yīng)用,包括異常智能檢測(cè)、告警智能收斂、故障原因分析、故障智能預(yù)警等能力,最終達(dá)到系統(tǒng)自描述、狀態(tài)自監(jiān)測(cè)、異常自診斷、故障自恢復(fù)的目的[2]。
監(jiān)控可視化能力主要實(shí)現(xiàn)信息系統(tǒng)運(yùn)行狀態(tài)及告警可視化展現(xiàn)能力,包括對(duì)業(yè)務(wù)應(yīng)用狀態(tài)、系統(tǒng)健康狀態(tài)、資源利用水位等進(jìn)行統(tǒng)一可視化展示,結(jié)合監(jiān)控大屏、監(jiān)控報(bào)表能力,能夠?yàn)楣芾韺?、業(yè)務(wù)運(yùn)營(yíng)人員、系統(tǒng)運(yùn)維人員及研發(fā)單位等不同對(duì)象進(jìn)行系統(tǒng)運(yùn)維運(yùn)營(yíng)分析提供數(shù)據(jù)支撐。
全景監(jiān)控系統(tǒng)整體架構(gòu)從下往上包含:監(jiān)控工具層、智能運(yùn)維中臺(tái)層、全鏈路監(jiān)控應(yīng)用層。
監(jiān)控工具層:涵蓋各類監(jiān)控工具,用于日志、運(yùn)行數(shù)據(jù)的監(jiān)控采集,如:日志分析、應(yīng)用性能監(jiān)控、網(wǎng)絡(luò)性能監(jiān)控、基礎(chǔ)設(shè)施監(jiān)控采集,作為智能運(yùn)維中臺(tái)的數(shù)據(jù)源,可用于各類全鏈路監(jiān)控場(chǎng)景。
智能運(yùn)維中臺(tái)層:包含數(shù)據(jù)平臺(tái),配置管理數(shù)據(jù)庫(kù),算法中心等,完成數(shù)據(jù)匯聚、處理、存儲(chǔ)等、賦能上層全鏈路監(jiān)控;
全鏈路監(jiān)控應(yīng)用層:主要完成全景全鏈路監(jiān)控,實(shí)現(xiàn)智能告警,工單管理大屏可視化展現(xiàn)。
全鏈路業(yè)務(wù)追蹤整體以運(yùn)維數(shù)據(jù)為基礎(chǔ)。通過集中數(shù)據(jù)采集、數(shù)據(jù)處理、數(shù)據(jù)存儲(chǔ)、規(guī)則模型、頂層場(chǎng)景的設(shè)計(jì),從而形成運(yùn)維場(chǎng)景各層級(jí)應(yīng)用系統(tǒng)的調(diào)用關(guān)聯(lián),做到端到端覆蓋,利用智能算法平臺(tái),形成業(yè)務(wù)場(chǎng)景全鏈路業(yè)務(wù)追蹤、健康度、多維分析IT指標(biāo)、業(yè)務(wù)層級(jí)拓?fù)涞牧Ⅲw化監(jiān)控。
2.2.1 數(shù)據(jù)采集與處理。全鏈路追蹤數(shù)據(jù)需要采集的運(yùn)維數(shù)據(jù)類型主要包括指標(biāo)數(shù)據(jù),追蹤數(shù)據(jù),日志數(shù)據(jù),整個(gè)數(shù)據(jù)流轉(zhuǎn)經(jīng)過數(shù)據(jù)采集、數(shù)據(jù)處理、數(shù)據(jù)存儲(chǔ)、全鏈路數(shù)據(jù)應(yīng)用[3]。同時(shí),針對(duì)數(shù)據(jù)采集器實(shí)現(xiàn)集中統(tǒng)一管理。
采集的整體技術(shù)方案架構(gòu)如下:
圖1 數(shù)據(jù)采集技術(shù)架構(gòu)圖
采集層支持Agent、OpenAPI、SDK等多種采集方式,針對(duì)云平臺(tái)組件及應(yīng)用監(jiān)控,則可集成arms、cms及sunfire等成熟監(jiān)控組件監(jiān)控能力,實(shí)現(xiàn)對(duì)各類日志、應(yīng)用全鏈路、IT基礎(chǔ)設(shè)備等數(shù)據(jù)進(jìn)行采集、清洗、轉(zhuǎn)換、發(fā)送、監(jiān)控和告警等操作,同時(shí)也對(duì)采集任務(wù)及行為進(jìn)行統(tǒng)一規(guī)范的調(diào)度和管控,避免不規(guī)范操作導(dǎo)致宕機(jī)等異常情況的發(fā)生,全面保障業(yè)務(wù)的正常運(yùn)行。
2.2.2 配置數(shù)據(jù)管理。CMDB是構(gòu)建自動(dòng)化運(yùn)維管理的基礎(chǔ),通過對(duì)Iaas、Paas到Saas層的運(yùn)維元數(shù)據(jù)的全面管理,可以為運(yùn)維監(jiān)控、服務(wù)管理和自動(dòng)化運(yùn)維等場(chǎng)景提供完整而準(zhǔn)確的元數(shù)據(jù)支撐。CMDB平臺(tái)的整體架構(gòu)可分為數(shù)據(jù)層、數(shù)據(jù)采集層、數(shù)據(jù)存儲(chǔ)層、服務(wù)層、數(shù)據(jù)應(yīng)用及接口層、數(shù)據(jù)消費(fèi)層,主要層級(jí)說明如下:
數(shù)據(jù)層[4]:主要負(fù)責(zé)基礎(chǔ)屬性數(shù)據(jù)、配置關(guān)系數(shù)據(jù)的接收和存儲(chǔ),mysql負(fù)責(zé)存儲(chǔ)模型的基礎(chǔ)屬性信息;arango負(fù)責(zé)存儲(chǔ)模型與模型、配置項(xiàng)與配置項(xiàng)之間的包含、位于、連接等關(guān)系信息,構(gòu)成業(yè)務(wù)拓?fù)浜瓦壿嬐負(fù)涞年P(guān)系基礎(chǔ);kafka則負(fù)責(zé)接收來自agent、api、snmp等方式和協(xié)議自動(dòng)采集的數(shù)據(jù),并通過建立不同的topic進(jìn)行數(shù)據(jù)分類供數(shù)據(jù)消費(fèi)和處理;redis的主要功能則是負(fù)責(zé)數(shù)據(jù)緩存。
服務(wù)層:資產(chǎn)配置管理平臺(tái)的核心能力層,通過其中包含的各類模塊實(shí)現(xiàn)對(duì)各層級(jí)資產(chǎn)對(duì)象的數(shù)據(jù)處理、數(shù)據(jù)標(biāo)記、數(shù)據(jù)導(dǎo)入、模型設(shè)置、拓?fù)涫崂?,并通過校驗(yàn)規(guī)則設(shè)置、數(shù)據(jù)字典添加等手段和方式完成了數(shù)據(jù)的準(zhǔn)確性檢驗(yàn)和保障。
接口層:通過相關(guān)接口的定義和開發(fā),為資產(chǎn)配置管理數(shù)據(jù)的高級(jí)應(yīng)用和二次消費(fèi)提供管道支撐,結(jié)合雙向的接口以及用戶現(xiàn)有IT環(huán)境中各類系統(tǒng)可以完成、資產(chǎn)管理的流程貫通、故障的精確定位、配置優(yōu)化等場(chǎng)景的應(yīng)用落地。
展示層:負(fù)責(zé)展示資源總數(shù)、資產(chǎn)類型、資產(chǎn)詳細(xì)屬性、配置關(guān)系、業(yè)務(wù)邏輯拓?fù)鋱D,以及各維度的統(tǒng)計(jì)概覽視圖。
基于告警信息和指標(biāo)、日志、追蹤等數(shù)據(jù),將海量的告警信息按照相似性整理為多個(gè)警報(bào),并將具有一定相關(guān)性的多個(gè)警報(bào)整理為一個(gè)事件,方便運(yùn)維人員選擇與自己相關(guān)的事件,被選擇的事件中不包含的告警信息被過濾。支持基于語(yǔ)義相似度告警降噪類算法、樹形搜索的告警降噪類算法、語(yǔ)義相似的告警關(guān)聯(lián)類算法、NER的告警富集類算法,通過靈活智能告警,可實(shí)時(shí)將準(zhǔn)確的告警推送給運(yùn)維人員,以支撐運(yùn)維人員及時(shí)發(fā)現(xiàn)異常。
此外,基于數(shù)據(jù)平臺(tái)存儲(chǔ)的多維數(shù)據(jù)及CMDB維護(hù)的關(guān)聯(lián)關(guān)系,依托MeTow、MeREx和Noran等算法,提取關(guān)聯(lián)的指標(biāo)序列,從時(shí)間的維度對(duì)指標(biāo)相關(guān)性進(jìn)行計(jì)算分析,以計(jì)算出可能的根因,同時(shí)算法可對(duì)運(yùn)維人員的反饋進(jìn)行方向?qū)W習(xí),以保證下次計(jì)算的結(jié)果的可靠性。同時(shí),結(jié)合數(shù)據(jù)立方搜索算法及AIOps場(chǎng)景特征,主動(dòng)挖掘多維度指標(biāo)隱含信息,快速定位KPI細(xì)分維度根因,進(jìn)一步提高平臺(tái)智能化分析能力。
本文針對(duì)云上信息系統(tǒng)運(yùn)維痛點(diǎn)分析了全景監(jiān)控需求及功能,提出了一種覆蓋全層級(jí)的全景全鏈路監(jiān)控平臺(tái)架構(gòu),研究了全景監(jiān)控的數(shù)據(jù)采集、智能分析定位技術(shù),有利于提高云上信息系統(tǒng)運(yùn)行狀態(tài)整體感知能力及故障定位效率,從而降低業(yè)務(wù)中斷的時(shí)間,保證業(yè)務(wù)持續(xù)安全穩(wěn)定運(yùn)行。后續(xù)可以結(jié)合具體信息系統(tǒng)業(yè)務(wù)特征,針對(duì)性開展個(gè)性化應(yīng)用場(chǎng)景設(shè)計(jì),進(jìn)一步提高全景監(jiān)控精益化分析能力。