楊猛 邵月 張冰
國家電網(wǎng)有限公司信息通信分公司 北京 100761
近年來,隨著國家電網(wǎng)有限公司數(shù)字化轉型快速發(fā)展,國網(wǎng)云平臺、數(shù)據(jù)中臺等基礎支撐平臺能力大幅增強,電力信息系統(tǒng)建設也朝著云上微服務架構快速演進,而云平臺屏蔽底層邏輯、資源彈性伸縮與動態(tài)調(diào)配的能力在給信息系統(tǒng)部署應用帶來便捷、靈活的同時,也給信息系統(tǒng)運行問題分析及定位引入了新的難題。一是云上應用租戶無法感知云平臺PaaS層、IaaS層以及相關云外主機、安全、網(wǎng)絡等軟硬件設備運行狀態(tài),跨專業(yè)、跨單位部門臨時協(xié)同排查效率低、溝通成本高;二是上層業(yè)務與下層應用組件、基礎平臺組件關聯(lián)關系不明晰;三是微服務數(shù)量大、跨省跨單位調(diào)用鏈路關系復雜;四是日志及告警數(shù)據(jù)量巨大,且冗余信息較多,這些都給系統(tǒng)故障分析定位處置增加了巨大難度[1]。因此,有必要針對云上微服務架構電力信息系統(tǒng)覆蓋業(yè)務、應用、云平臺、基礎軟硬件設備的全景監(jiān)控技術進行研究,將各層級監(jiān)控能力進行整合關聯(lián),構建基于全鏈路追蹤的全景監(jiān)控能力,實現(xiàn)對業(yè)務異常的快速發(fā)現(xiàn)、精準告警能力。
基于云上微服務架構的電力信息系統(tǒng)全景監(jiān)控系統(tǒng)從上到下需監(jiān)控的對象包含:業(yè)務層、應用層、PAAS層云組件及云外組件、IAAS層資源及云外硬件資源。
業(yè)務層監(jiān)控對象主要包含直接面向用戶的各類業(yè)務功能;應用層監(jiān)控對象主要包含后臺支撐實現(xiàn)業(yè)務功能的各微服務、微應用;PAAS層云組件及云外組件層主要包括對應用層提供支撐的平臺類組件,其中云上組件主要包括分布式應用服務EDAS、全局事務服務GTS、Redis、容器服務K8S、消息隊列MQ、負載均衡SLB、表格存儲OTS、ES、云數(shù)據(jù)庫RDS、分布式數(shù)據(jù)庫DRDS、數(shù)據(jù)倉庫、對象存儲、云服務器、分布式任務調(diào)度等各類云組件,云外相關組件主要包括:Oracle、Nginx、Tomcat等;IAAS層資源及云外硬件資源監(jiān)控對象主要包含虛擬計算資源、虛擬存儲資源、虛擬網(wǎng)絡資源,以及它們所依賴的底層物理服務器、物理存儲、物理網(wǎng)絡等硬件設備。
為保障云上微服務架構下電力信息系統(tǒng)業(yè)務穩(wěn)定運行,有效支撐運維人員掌握系統(tǒng)整體運行狀態(tài)、快速定位異常根因,設計構建的全景監(jiān)控系統(tǒng)應包含全景監(jiān)控能力、智能分析能力及監(jiān)控可視化能力。
全景監(jiān)控能力主要實現(xiàn)信息系統(tǒng)的全鏈路監(jiān)控,包括業(yè)務層監(jiān)控、應用層監(jiān)控、Paas層監(jiān)控、IaaS層等各層級縱向貫通監(jiān)控,以及覆蓋總部側到省側、系統(tǒng)本體到外部集成系統(tǒng)間的橫向兩級鏈路監(jiān)控,形成全景監(jiān)控能力。
智能分析能力主要實現(xiàn)對監(jiān)控運行狀態(tài)及告警數(shù)據(jù)的統(tǒng)一匯聚、展示、處理能力,實現(xiàn)智能化分析應用,包括異常智能檢測、告警智能收斂、故障原因分析、故障智能預警等能力,最終達到系統(tǒng)自描述、狀態(tài)自監(jiān)測、異常自診斷、故障自恢復的目的[2]。
監(jiān)控可視化能力主要實現(xiàn)信息系統(tǒng)運行狀態(tài)及告警可視化展現(xiàn)能力,包括對業(yè)務應用狀態(tài)、系統(tǒng)健康狀態(tài)、資源利用水位等進行統(tǒng)一可視化展示,結合監(jiān)控大屏、監(jiān)控報表能力,能夠為管理層、業(yè)務運營人員、系統(tǒng)運維人員及研發(fā)單位等不同對象進行系統(tǒng)運維運營分析提供數(shù)據(jù)支撐。
全景監(jiān)控系統(tǒng)整體架構從下往上包含:監(jiān)控工具層、智能運維中臺層、全鏈路監(jiān)控應用層。
監(jiān)控工具層:涵蓋各類監(jiān)控工具,用于日志、運行數(shù)據(jù)的監(jiān)控采集,如:日志分析、應用性能監(jiān)控、網(wǎng)絡性能監(jiān)控、基礎設施監(jiān)控采集,作為智能運維中臺的數(shù)據(jù)源,可用于各類全鏈路監(jiān)控場景。
智能運維中臺層:包含數(shù)據(jù)平臺,配置管理數(shù)據(jù)庫,算法中心等,完成數(shù)據(jù)匯聚、處理、存儲等、賦能上層全鏈路監(jiān)控;
全鏈路監(jiān)控應用層:主要完成全景全鏈路監(jiān)控,實現(xiàn)智能告警,工單管理大屏可視化展現(xiàn)。
全鏈路業(yè)務追蹤整體以運維數(shù)據(jù)為基礎。通過集中數(shù)據(jù)采集、數(shù)據(jù)處理、數(shù)據(jù)存儲、規(guī)則模型、頂層場景的設計,從而形成運維場景各層級應用系統(tǒng)的調(diào)用關聯(lián),做到端到端覆蓋,利用智能算法平臺,形成業(yè)務場景全鏈路業(yè)務追蹤、健康度、多維分析IT指標、業(yè)務層級拓撲的立體化監(jiān)控。
2.2.1 數(shù)據(jù)采集與處理。全鏈路追蹤數(shù)據(jù)需要采集的運維數(shù)據(jù)類型主要包括指標數(shù)據(jù),追蹤數(shù)據(jù),日志數(shù)據(jù),整個數(shù)據(jù)流轉經(jīng)過數(shù)據(jù)采集、數(shù)據(jù)處理、數(shù)據(jù)存儲、全鏈路數(shù)據(jù)應用[3]。同時,針對數(shù)據(jù)采集器實現(xiàn)集中統(tǒng)一管理。
采集的整體技術方案架構如下:

圖1 數(shù)據(jù)采集技術架構圖
采集層支持Agent、OpenAPI、SDK等多種采集方式,針對云平臺組件及應用監(jiān)控,則可集成arms、cms及sunfire等成熟監(jiān)控組件監(jiān)控能力,實現(xiàn)對各類日志、應用全鏈路、IT基礎設備等數(shù)據(jù)進行采集、清洗、轉換、發(fā)送、監(jiān)控和告警等操作,同時也對采集任務及行為進行統(tǒng)一規(guī)范的調(diào)度和管控,避免不規(guī)范操作導致宕機等異常情況的發(fā)生,全面保障業(yè)務的正常運行。
2.2.2 配置數(shù)據(jù)管理。CMDB是構建自動化運維管理的基礎,通過對Iaas、Paas到Saas層的運維元數(shù)據(jù)的全面管理,可以為運維監(jiān)控、服務管理和自動化運維等場景提供完整而準確的元數(shù)據(jù)支撐。CMDB平臺的整體架構可分為數(shù)據(jù)層、數(shù)據(jù)采集層、數(shù)據(jù)存儲層、服務層、數(shù)據(jù)應用及接口層、數(shù)據(jù)消費層,主要層級說明如下:
數(shù)據(jù)層[4]:主要負責基礎屬性數(shù)據(jù)、配置關系數(shù)據(jù)的接收和存儲,mysql負責存儲模型的基礎屬性信息;arango負責存儲模型與模型、配置項與配置項之間的包含、位于、連接等關系信息,構成業(yè)務拓撲和邏輯拓撲的關系基礎;kafka則負責接收來自agent、api、snmp等方式和協(xié)議自動采集的數(shù)據(jù),并通過建立不同的topic進行數(shù)據(jù)分類供數(shù)據(jù)消費和處理;redis的主要功能則是負責數(shù)據(jù)緩存。
服務層:資產(chǎn)配置管理平臺的核心能力層,通過其中包含的各類模塊實現(xiàn)對各層級資產(chǎn)對象的數(shù)據(jù)處理、數(shù)據(jù)標記、數(shù)據(jù)導入、模型設置、拓撲梳理,并通過校驗規(guī)則設置、數(shù)據(jù)字典添加等手段和方式完成了數(shù)據(jù)的準確性檢驗和保障。
接口層:通過相關接口的定義和開發(fā),為資產(chǎn)配置管理數(shù)據(jù)的高級應用和二次消費提供管道支撐,結合雙向的接口以及用戶現(xiàn)有IT環(huán)境中各類系統(tǒng)可以完成、資產(chǎn)管理的流程貫通、故障的精確定位、配置優(yōu)化等場景的應用落地。
展示層:負責展示資源總數(shù)、資產(chǎn)類型、資產(chǎn)詳細屬性、配置關系、業(yè)務邏輯拓撲圖,以及各維度的統(tǒng)計概覽視圖。
基于告警信息和指標、日志、追蹤等數(shù)據(jù),將海量的告警信息按照相似性整理為多個警報,并將具有一定相關性的多個警報整理為一個事件,方便運維人員選擇與自己相關的事件,被選擇的事件中不包含的告警信息被過濾。支持基于語義相似度告警降噪類算法、樹形搜索的告警降噪類算法、語義相似的告警關聯(lián)類算法、NER的告警富集類算法,通過靈活智能告警,可實時將準確的告警推送給運維人員,以支撐運維人員及時發(fā)現(xiàn)異常。
此外,基于數(shù)據(jù)平臺存儲的多維數(shù)據(jù)及CMDB維護的關聯(lián)關系,依托MeTow、MeREx和Noran等算法,提取關聯(lián)的指標序列,從時間的維度對指標相關性進行計算分析,以計算出可能的根因,同時算法可對運維人員的反饋進行方向?qū)W習,以保證下次計算的結果的可靠性。同時,結合數(shù)據(jù)立方搜索算法及AIOps場景特征,主動挖掘多維度指標隱含信息,快速定位KPI細分維度根因,進一步提高平臺智能化分析能力。
本文針對云上信息系統(tǒng)運維痛點分析了全景監(jiān)控需求及功能,提出了一種覆蓋全層級的全景全鏈路監(jiān)控平臺架構,研究了全景監(jiān)控的數(shù)據(jù)采集、智能分析定位技術,有利于提高云上信息系統(tǒng)運行狀態(tài)整體感知能力及故障定位效率,從而降低業(yè)務中斷的時間,保證業(yè)務持續(xù)安全穩(wěn)定運行。后續(xù)可以結合具體信息系統(tǒng)業(yè)務特征,針對性開展個性化應用場景設計,進一步提高全景監(jiān)控精益化分析能力。
