劉宇,張鵬,王朝暉,孫強,周翔豪
(中國鐵路信息科技集團有限公司,北京 100038)
鐵路信息化經(jīng)過數(shù)十年發(fā)展,取得了顯著成績,鐵路信息系統(tǒng)在運輸組織、安全生產(chǎn)、客貨服務(wù)、經(jīng)營管理、建設(shè)管理等領(lǐng)域發(fā)揮著重要的支撐作用,已成為鐵路各單位、各部門不可或缺的重要手段[1]。近年來,隨著鐵路主數(shù)據(jù)中心的投入使用、鐵路云計算平臺的應(yīng)用以及“互聯(lián)網(wǎng)+”行動計劃的推進(jìn),鐵路信息技術(shù)(IT,Information Technology)環(huán)境日趨復(fù)雜,由中國鐵路信息科技集團有限公司(簡稱:國鐵集團信息中心)承擔(dān)運維服務(wù)的信息系統(tǒng)資源數(shù)量正在成倍增長。面對日趨復(fù)雜繁重的信息系統(tǒng)運維任務(wù),如何改善和優(yōu)化運維手段,提升運維工作效率,改善運維質(zhì)量,提供更加高效快捷的應(yīng)急服務(wù)能力成為國鐵集團信息中心的當(dāng)務(wù)之急。
信息系統(tǒng)運維是信息系統(tǒng)運營維護人員根據(jù)業(yè)務(wù)需求來規(guī)劃信息、網(wǎng)絡(luò)、服務(wù),通過網(wǎng)絡(luò)監(jiān)控、事件預(yù)警、業(yè)務(wù)調(diào)度、排障升級等手段,使信息系統(tǒng)處于長期穩(wěn)定可用的狀態(tài)。目前,鐵路信息系統(tǒng)運維工作已使用多種工具來實現(xiàn)大規(guī)模、批量式運維自動化,大幅消減了人力成本,有助于降低操作風(fēng)險,提高運維效率。然而,這些自動化運維工具仍在以分散、孤立的方式來部署,即便使用多種自動化技術(shù)組合產(chǎn)品,應(yīng)急處理以人工為主,導(dǎo)致信息系統(tǒng)運維部門疲于奔波、分身乏術(shù)。這種自動化運維方式的本質(zhì)依然是人與自動化工具相結(jié)合的運維模式,受限于人類自身的生理極限及認(rèn)知局限,無法持續(xù)地面向大規(guī)模、復(fù)雜的系統(tǒng)提供高質(zhì)量運維服務(wù)。鑒于鐵路各項業(yè)務(wù)對信息系統(tǒng)的高度依賴,為保證鐵路關(guān)鍵業(yè)務(wù)系統(tǒng)不間斷運行和鐵路正常運營,實現(xiàn)鐵路信息系統(tǒng)智能運維是必由之路。
智能運維(AIOps,Artificial Intelligence for IT Operations)是指通過機器學(xué)習(xí)等人工智能算法,自動地從海量運維數(shù)據(jù)中學(xué)習(xí)并總結(jié)規(guī)則,并做出決策的運維方式。將人工智能技術(shù)融入運維系統(tǒng)中,以大數(shù)據(jù)和機器學(xué)習(xí)為基礎(chǔ),從多數(shù)據(jù)源中采集海量運維數(shù)據(jù)(主要包括配置數(shù)據(jù)、監(jiān)測數(shù)據(jù)、日志數(shù)據(jù)和事件數(shù)據(jù)等)進(jìn)行實時或離線分析,通過高效率數(shù)據(jù)處理和智能分析,自動檢測信息系統(tǒng)異常狀態(tài),主動發(fā)現(xiàn)隱患和缺陷,提供集成化、可視化運維管理工具,顯著增強信息系統(tǒng)運維能力。
海量運維數(shù)據(jù)的采集、存儲和處理是實現(xiàn)智能運維的基礎(chǔ)。為此,本文立足于當(dāng)前鐵路信息技術(shù)環(huán)境演化和運維現(xiàn)狀,通過對鐵路信息系統(tǒng)資源進(jìn)行系統(tǒng)分類,全面分析各類監(jiān)控對象運維數(shù)據(jù)采集需求,提出鐵路信息系統(tǒng)智能運維監(jiān)測數(shù)據(jù)采集方案,為鐵路IT 智能運維管理系統(tǒng)[2]的開發(fā)奠定基礎(chǔ)。
近年來,隨著鐵路主數(shù)據(jù)中心的投入使用以及鐵路云計算平臺的應(yīng)用,鐵路信息化步入云計算時代。從企業(yè)數(shù)字化轉(zhuǎn)型和信息技術(shù)環(huán)境的演變過程來看,云計算、移動互聯(lián)應(yīng)用的快速發(fā)展,導(dǎo)致鐵路企業(yè)傳統(tǒng)內(nèi)外網(wǎng)邊界模糊化。盡管云計算和 移動互聯(lián)應(yīng)用可以為鐵路信息化技術(shù)創(chuàng)新提供強勁驅(qū)動力,同時也帶來了額外的挑戰(zhàn)、復(fù)雜度和風(fēng)險。
傳統(tǒng)的信息系統(tǒng)運維工作范圍主要包括:服務(wù)器管理(操作系統(tǒng)層面,比如重啟、下線)、軟件包管理、代碼上下線、日志管理和分析、監(jiān)控(區(qū)分系統(tǒng)、業(yè)務(wù))和告警、流量管理(分發(fā)、轉(zhuǎn)移、降級、限流等),以及一些日常的優(yōu)化、故障排查等。典型的企業(yè)云環(huán)境通常包含私有云、云下物理機、云下虛擬化等多種平臺、不同供應(yīng)商產(chǎn)品的組合,云上云下、內(nèi)外網(wǎng)、跨平臺的系統(tǒng)交互和集成都加劇了鐵路IT 環(huán)境的復(fù)雜度和關(guān)聯(lián)度。由于引入各種容器、開源框架,信息系統(tǒng)運維工作進(jìn)一步擴展到容量管理、彈性擴縮容、安全管理、故障分析和定位等范圍。
如果企業(yè)信息系統(tǒng)架構(gòu)設(shè)計不夠健壯,系統(tǒng)中任何一個小故障都可能導(dǎo)致企業(yè)信息系統(tǒng)整體性能下降、宕機,甚至致使業(yè)務(wù)中斷。因此,實施高效的信息系統(tǒng)運維管理已成為國鐵集團信息中心預(yù)防宕機和業(yè)務(wù)中斷的關(guān)鍵所在,這主要涉及到3 個方面的任務(wù):
(1)優(yōu)化企業(yè)信息系統(tǒng)和業(yè)務(wù)流程,為業(yè)務(wù)發(fā)展提供更多的創(chuàng)新支持和擴展能力;
(2)提升企業(yè)信息系統(tǒng)運維水平和能力,加快處理業(yè)務(wù)中斷和系統(tǒng)故障的應(yīng)急能力,降低事故造成的經(jīng)濟損失;
(3)降低企業(yè)信息系統(tǒng)運維的開銷,實現(xiàn)信息系統(tǒng)運維的標(biāo)準(zhǔn)化、自動化、高效化。
為此,亟需研究和開發(fā)一套鐵路IT 智能運維管理系統(tǒng),能夠全面支撐運維單位高效地實施基于人工智能(AI,Artificial Intelligence)的信息系統(tǒng)運維自動化技術(shù),通過細(xì)粒度運維數(shù)據(jù)的采集和智能分析,模擬運維工程師的故障處理操作,實現(xiàn)故障自動識別和用例自動化執(zhí)行,甚至能夠評估已部署的自動化用例并做出改進(jìn)。除了自動完成大量人工運維操作外,AI 運維工程師還能自動識別故障、優(yōu)化系統(tǒng)設(shè)置,消除系統(tǒng)缺陷,避免系統(tǒng)隱患,高效處理故障,極大地降低系統(tǒng)風(fēng)險。
鐵路IT 智能運維管理系統(tǒng)需要實現(xiàn)各類鐵路信息系統(tǒng)資源的統(tǒng)一管理、實時監(jiān)測、主動預(yù)警和自動化故障處置。當(dāng)前鐵路IT 資源種類繁多,根據(jù)鐵路IT 智能運維監(jiān)控對象的特性,將鐵路IT 資源劃分為場地基礎(chǔ)、物理設(shè)備、系統(tǒng)軟件、云資源4 大類別。
(1)場地基礎(chǔ)類監(jiān)控對象主要包括機房環(huán)境中的空氣調(diào)節(jié)、消防、給排水、消防及電力設(shè)施。
(2)硬件類監(jiān)控對象主要包括計算和存儲設(shè)備、網(wǎng)絡(luò)和安全設(shè)備,其中計算和存儲設(shè)備主要有服務(wù)器、小型機、存儲,網(wǎng)絡(luò)和安全設(shè)備主要有交換機、路由器、防火墻、VPN 設(shè)備、堡壘機等。
(3)系統(tǒng)軟件類監(jiān)控對象主要包括各類中間件、應(yīng)用負(fù)載均衡、操作系統(tǒng)和數(shù)據(jù)庫等。
(4)云資源類監(jiān)控對象主要包括VMware 云平臺、鐵路云平臺、虛擬機等。
為了適應(yīng)當(dāng)前鐵路信息系統(tǒng)虛擬化、云化的發(fā)展趨勢,研究開發(fā)一套鐵路IT 智能運維管理系統(tǒng),為鐵路信息系統(tǒng)智能運維工作提供統(tǒng)一的集成化管理工具。該系統(tǒng)采用B/S 架構(gòu),運維人員可以在客戶端對系統(tǒng)功能進(jìn)行訪問[3],支持在x86 服務(wù)器上運行,能夠在虛擬化和云化環(huán)境中部署,各功能模塊支持水平擴展以及集群化的部署方式,確保該系統(tǒng)的高性能和高可靠性。
鐵路IT 智能運維管理系統(tǒng)總體架構(gòu)劃分為3 個層次,分別為數(shù)據(jù)采集層、數(shù)據(jù)服務(wù)層和業(yè)務(wù)應(yīng)用層,如圖1 所示。
圖1 鐵路IT 智能運維管理系統(tǒng)總體架構(gòu)示意
(1)數(shù)據(jù)采集層:包括代理和運維數(shù)據(jù)采集控制平臺,主要負(fù)責(zé)從各類監(jiān)控對象采集原始運維數(shù)據(jù);代理可以駐留在監(jiān)控對象一側(cè),也可以部署在運維數(shù)據(jù)采集控制平臺一側(cè);部署在監(jiān)控對象一側(cè)的代理除了從監(jiān)控對象中抽取配置信息、監(jiān)控數(shù)據(jù)外,還具備運行自動化腳本命令的功能;部署在運維數(shù)據(jù)采集控制平臺一側(cè)的代理可以實現(xiàn)運維人員遠(yuǎn)程監(jiān)控,支持在遠(yuǎn)端進(jìn)行腳本的運行,并能提供對來自不同局域網(wǎng)數(shù)據(jù)匯聚能力,集中管理多個網(wǎng)絡(luò);另外,代理按照統(tǒng)一口徑進(jìn)行統(tǒng)計分析,從收集各類監(jiān)控對象的運行狀態(tài)數(shù)據(jù)(即原始運維監(jiān)控數(shù)據(jù)),生成運維監(jiān)控指標(biāo)數(shù)據(jù),與原始運維監(jiān)控數(shù)據(jù)一起上傳給采集控制平臺;采集控制平臺負(fù)責(zé)接收代理上傳的運維數(shù)據(jù),并對代理進(jìn)行調(diào)度管理。
(2)數(shù)據(jù)服務(wù)層:完成運維數(shù)據(jù)的存儲、處理、分析,包括從監(jiān)控對象采集得到的原始運維數(shù)據(jù),以及經(jīng)分析處理后的運維監(jiān)控指標(biāo)數(shù)據(jù)。為保證較高的數(shù)據(jù)存儲和處理性能,除采用傳統(tǒng)數(shù)據(jù)庫外,還采用文檔型數(shù)據(jù)庫MongoDB[4]和ElasticSearch[5]非關(guān)系型數(shù)據(jù)庫;MongoDB 用于存儲配置數(shù)據(jù)、事件數(shù)據(jù)和工單數(shù)據(jù)等具有靈活數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù),ElasticSearch 用于存儲監(jiān)控指標(biāo)、日志和運維知識等體量大、需高效檢索的數(shù)據(jù);對系統(tǒng)中訪問頻率較高的運維數(shù)據(jù),采用Redis 數(shù)據(jù)緩存[6]提升數(shù)據(jù)訪問響應(yīng)的及時性。運維數(shù)據(jù)的處理與分析主要通過Spark[7]實現(xiàn),基于歷史運維數(shù)據(jù),采用智能算法實現(xiàn)各種監(jiān)控對象運行狀態(tài)的趨勢預(yù)測。
(3)業(yè)務(wù)應(yīng)用層:完成運維指標(biāo)數(shù)據(jù)的關(guān)聯(lián)分析和智能分析,提供運維數(shù)據(jù)可視化展示和運維統(tǒng)計報表,支持靈活的告警分類及分派策略,將不同級別、類別的告警分配給最合適的運維人員,通過排班和自動化升級機制,組織起高效的階梯式團隊[8](包括運維管理人員及一線、二線、三線運維人員),為異常檢測、故障分析、運維輔助決策等運維業(yè)務(wù)提供強有力支持,建立起7×24 h 應(yīng)急響應(yīng)機制。
信息系統(tǒng)資源監(jiān)控對象類型和數(shù)量眾多,每一類監(jiān)控對象的運維數(shù)據(jù)主要包括4 類:配置數(shù)據(jù)、監(jiān)控數(shù)據(jù)、日志數(shù)據(jù)和事件數(shù)據(jù)[9]。其中,配置數(shù)據(jù)描述資源對象的配置屬性,包含資源對象本身的屬性以及資源對象間關(guān)聯(lián)關(guān)系,這類數(shù)據(jù)僅在監(jiān)控對象的屬性或?qū)ο箝g關(guān)聯(lián)關(guān)系發(fā)生變更時才有變化;監(jiān)控數(shù)據(jù)主要是各類監(jiān)控對象運行過程中產(chǎn)生時序指標(biāo)數(shù)據(jù),主要表征系統(tǒng)和業(yè)務(wù)的運行狀態(tài)及性能,隨著時間積累快速增長;日志數(shù)據(jù)一般是文本類型數(shù)據(jù),通常包括監(jiān)控對象的運行日志和業(yè)務(wù)應(yīng)用的運行日志,可通過關(guān)鍵字或正則匹配從中發(fā)現(xiàn)關(guān)鍵信息;事件數(shù)據(jù)是運維過程中發(fā)生的特定事件的相關(guān)信息,如報警、異常、上線變更、任務(wù)調(diào)度等。
場地監(jiān)控類監(jiān)控對象通常包括電力設(shè)施、消防設(shè)施、空調(diào)、給排水設(shè)備等,代理通過SNMP 協(xié)議連接數(shù)據(jù)中心基礎(chǔ)設(shè)施管理(DCIM,Data Center Infrastructure Management)[10]系統(tǒng),從DCIM 系統(tǒng)提供的接口獲取運維數(shù)據(jù),對應(yīng)的運維數(shù)據(jù)采集內(nèi)容如表1 所示。
表1 場地基礎(chǔ)類運維數(shù)據(jù)采集內(nèi)容和采集方式
物理設(shè)備類監(jiān)控對象劃分為網(wǎng)絡(luò)設(shè)備、計算與存儲設(shè)備;其中,網(wǎng)絡(luò)設(shè)備主要包括交換機、路由器、防火墻、VPN、堡壘機,計算與存儲設(shè)備主要包括服務(wù)器、小型機和存儲設(shè)備,對應(yīng)的運維數(shù)據(jù)采集內(nèi)容如表2 所示。
表2 物理設(shè)備類運維數(shù)據(jù)采集內(nèi)容
系統(tǒng)軟件類監(jiān)控對象主要包括中間件、應(yīng)用負(fù)載均衡、操作系統(tǒng)和數(shù)據(jù)庫,對應(yīng)的數(shù)據(jù)采集內(nèi)容如表3 所示。
表3 系統(tǒng)軟件運維數(shù)據(jù)采集內(nèi)容
監(jiān)控代理通過SNMP、HTTP、TCP 等協(xié)議對Weblogic、HTTP 服務(wù)、IBM MQ 等中間件進(jìn)行數(shù)據(jù)采集,使用TCP 協(xié)議對操作系統(tǒng)和負(fù)載均衡運行數(shù)據(jù)進(jìn)行采集,使用JDBC 協(xié)議對數(shù)據(jù)庫數(shù)據(jù)進(jìn)行采集,監(jiān)控代理使用TCP 協(xié)議將數(shù)據(jù)上傳至監(jiān)控代理接收組件。
云資源監(jiān)控對象主要包括VMware 云平臺、鐵路云平臺、虛擬機,對應(yīng)的運維數(shù)據(jù)采集內(nèi)容如表4所示。
表4 云資源運維數(shù)據(jù)采集內(nèi)容
鐵路IT 智能運維管理系統(tǒng)旨在實現(xiàn)鐵路各類信息系統(tǒng)資源的統(tǒng)一管理、實時監(jiān)測、主動預(yù)警和自動化故障處置,開展全域、細(xì)粒度運維數(shù)據(jù)的采集是鐵路IT 智能運維管理系統(tǒng)研發(fā)中最為基礎(chǔ)性的工作;按照4 類運維數(shù)據(jù)(即配置數(shù)據(jù)、監(jiān)控數(shù)據(jù)、日志數(shù)據(jù)和事件數(shù)據(jù))劃分,全面、細(xì)致地分析鐵路信息系統(tǒng)資源各類監(jiān)控對象的數(shù)據(jù)采集內(nèi)容及采集方式。
下一步,將結(jié)合各類監(jiān)控對象運維數(shù)據(jù)的采集任務(wù),開展相應(yīng)的運維大數(shù)據(jù)分析和智能算法研究,實現(xiàn)故障自動定位、故障自愈、智能閾值配置等功能,以提高運維工作的整體效率,提升鐵路信息系統(tǒng)運維水平。