王蓓蓓 余晶鑫
(1.南京萊斯信息技術(shù)股份有限公司 江蘇省南京市 210007)
(2.中國民用航空新疆空中交通管理局 新疆維吾爾自治區(qū)烏魯木齊市 830016)
空管自動化系統(tǒng)作為民航空管部門實施對空指揮的核心系統(tǒng),通過處理雷達信號等監(jiān)視數(shù)據(jù),為管制員提供空中飛行態(tài)勢的顯示和各種飛行沖突以及各種異常的告警,通過處理飛行計劃和動態(tài)電報,為管制員提供飛行計劃和飛行動態(tài)相關(guān)信息以及管理手段,在確保民航空管對空指揮任務(wù)的安全實施中發(fā)揮著重要的作用。隨著空管裝備的升級換代,我國自主研發(fā)的空管自動化系統(tǒng)已經(jīng)能夠較好地滿足空中交通管理的各項需求,國產(chǎn)空管自動化系統(tǒng)作為主用、備用以及應(yīng)急系統(tǒng)的應(yīng)用越來越多。因此探討空管自動化系統(tǒng)結(jié)構(gòu)和工作方式,對系統(tǒng)進行精準且細粒度的監(jiān)控運維,對于保障系統(tǒng)穩(wěn)定可靠不間斷運行具有重要意義。
傳統(tǒng)監(jiān)控運維采用侵入式的方法,通過在各個服務(wù)器和終端上部署監(jiān)控代理,獲取必要的監(jiān)控指標數(shù)據(jù)。例如NUMEN-3000系統(tǒng),通過在監(jiān)控目標上部署監(jiān)控代理模塊,定時采集監(jiān)控目標的狀態(tài)數(shù)據(jù),通過專有的服務(wù)器實現(xiàn)狀態(tài)數(shù)據(jù)和告警配置的同步,實現(xiàn)告警判斷、模塊管理以及設(shè)備管理。除此以外,IT行業(yè)常用的分布式系統(tǒng)監(jiān)視解決方案Zabbix,以及互聯(lián)網(wǎng)行業(yè)廣泛使用的開源系統(tǒng)監(jiān)控工具Nagios和Open-Falcon在架構(gòu)上都是依賴客戶端或代理而實現(xiàn)的。如今隨著自動化系統(tǒng)功能日益全面,部署模塊逐漸增多,導(dǎo)致系統(tǒng)運行資源愈加緊張,部署侵入模塊,對運行安全也是重大風險,且侵入式方法很容易占用過多的運行資源。
除此之外通用航空以及無人機航空等新興領(lǐng)域的興起,必然導(dǎo)致空管自動化系統(tǒng)在未來面臨業(yè)務(wù)和架構(gòu)上出現(xiàn)巨大變革。虛擬化、容器、彈性計算以及人工智能等技術(shù)的成熟也為空管自動化系統(tǒng)的革新做好了充足的準備。這種技術(shù)架構(gòu)、軟硬件設(shè)施的巨大變革,以及業(yè)務(wù)復(fù)雜度、系統(tǒng)規(guī)模的全面提升,對空管自動化系統(tǒng)的監(jiān)控運維提出了嚴峻的挑戰(zhàn)。
當前空管自動化系統(tǒng)主要依靠技術(shù)監(jiān)控軟件模塊和監(jiān)控席位提供系統(tǒng)運維能力。技術(shù)監(jiān)控席位主要功能體現(xiàn)在能夠有效地監(jiān)視空管自動化系統(tǒng)的運行狀態(tài),明確系統(tǒng)中各種軟硬件資源的利用情況以及相對應(yīng)的預(yù)警信息。技術(shù)監(jiān)控席位的工作主要依賴于監(jiān)控軟件的監(jiān)視功能和控制功能,其中監(jiān)視功能負責將各種數(shù)據(jù)信息轉(zhuǎn)化為圖形呈現(xiàn),而控制功能則負責為監(jiān)控人員提供運維的操作入口。
以NUMEN-3000系統(tǒng)為例,該系統(tǒng)憑借SMP軟件為技術(shù)監(jiān)控席位提供監(jiān)控運維的基本能力。在監(jiān)視功能上,SMP軟件采用集中式監(jiān)視方案,首先通過代理模塊采集監(jiān)控目標(包括監(jiān)視源、外部鏈路、服務(wù)器、交換機、分區(qū)、席位、數(shù)據(jù)庫、運行日志等)的狀態(tài)信息,其次通過專有的數(shù)據(jù)庫實現(xiàn)數(shù)據(jù)和告警配置的同步,然后基于告警的配置定時的判斷狀態(tài)信息是否異常,如果出現(xiàn)異常向監(jiān)控席位發(fā)送對應(yīng)的告警通知;在控制功能上,SMP軟件提供了數(shù)據(jù)庫切換、雙機切換、監(jiān)視源切換、服務(wù)器席位批量重啟/關(guān)閉、服務(wù)器席位軟件批量重啟/關(guān)閉、全系統(tǒng)重啟/關(guān)閉、設(shè)備上下線、景象記錄調(diào)用等控制功能。
目前空管自動化系統(tǒng)的監(jiān)控運維體系仍然具備較大的改進空間,其中存在的問題主要集中在以下2個方面:
(1)侵入式部署和運行:隨著功能模塊的增多,系統(tǒng)運行資源愈加緊張,系統(tǒng)穩(wěn)定性可靠性論證的難度有所上升,侵入式方法不僅容易占用過多的運行資源,而且有可能影響到自動化系統(tǒng)核心業(yè)務(wù)的運行。
(2)缺乏對系統(tǒng)狀態(tài)進行預(yù)判的手段:現(xiàn)有監(jiān)控運維只具備事后分析的功能,無法對監(jiān)控數(shù)據(jù)進行收集整理形成運維經(jīng)驗,缺乏事前分析的手段。
針對以上問題,本文提出一種非侵入式的空管自動化系統(tǒng)智能運維方法,基于旁路審計監(jiān)聽系統(tǒng)的網(wǎng)絡(luò)端口捕獲鏡像流量,實現(xiàn)系統(tǒng)狀態(tài)數(shù)據(jù)清洗、服務(wù)器健康度評估、IO容量智能預(yù)測、運維可視化報表等功能。文章接下來的章節(jié)安排如下:闡述基于旁路審計的智能運維基礎(chǔ)框架和工作流程;介紹本方法的關(guān)鍵功能,包括系統(tǒng)狀態(tài)數(shù)據(jù)清洗、服務(wù)器健康度評估、IO容量智能預(yù)測、運維可視化報表等功能;總結(jié)了智能運維體系相關(guān)技術(shù)的研究現(xiàn)狀;最后總結(jié)探討了空管自動化系統(tǒng)智能運維的發(fā)展方向。
所謂旁路審計是指為最小程度避免影響原有系統(tǒng)運行,在無須植入插件或者代理模塊的前提下,利用交換機將網(wǎng)絡(luò)流量鏡像傳輸給審計模塊,通過監(jiān)聽各類業(yè)務(wù)端口,實現(xiàn)對網(wǎng)絡(luò)流量的全量解析和審計。
空管自動化系統(tǒng)的旁路審計組網(wǎng)方式如圖1所示。系統(tǒng)按業(yè)務(wù)功能劃分為數(shù)據(jù)交互區(qū)、業(yè)務(wù)核心區(qū)、終端接入?yún)^(qū)和運維管理區(qū),其中:
圖1:空管自動化系統(tǒng)旁路審計組網(wǎng)方式
(1)數(shù)據(jù)交互區(qū)、業(yè)務(wù)核心區(qū)以及終端接入?yún)^(qū)按照三網(wǎng)(LAN A、LAN B、LAN C)獨立運行方式,保證網(wǎng)絡(luò)數(shù)據(jù)的可靠傳輸;
(2)運維管理區(qū)采用旁路模式部署進原有網(wǎng)絡(luò),即通過接入LAN C交換機的鏡像端口,管理區(qū)內(nèi)的審計運維模塊對網(wǎng)絡(luò)內(nèi)的流量進行全量解析并生成運行日志,運維模塊對捕捉的流量進行管理與分析,實現(xiàn)系統(tǒng)狀態(tài)數(shù)據(jù)清洗、服務(wù)器健康度評估、IO容量智能預(yù)測、運維可視化報表等功能。
智能運維(Algorithmic IT Operations, AIOps)是由IT研究與顧問咨詢公司Gartner于2016年首次提出概念。所謂智能運維是指采用機器學習技術(shù)分析從多種運維工具收集到的大數(shù)據(jù),實時地、自動地檢測并應(yīng)對運維問題,從而增強運維的自動化水平和智能化水平。所謂智能并不是一種具體的算法,而是集成了許多算法(包括數(shù)據(jù)挖掘、統(tǒng)計分析、機器學習等算法)形成一套完善的、自動化的運維體系,輔助技術(shù)運維團隊提供可信的數(shù)據(jù)分析結(jié)果。
智能運維為空管自動化系統(tǒng)的運行保障體系建設(shè)提供了一種可行的解決方案。為了解決侵入式部署對系統(tǒng)影響大、缺乏對系統(tǒng)狀態(tài)進行預(yù)判的手段的問題,本文提出一種非侵入式的空管自動化系統(tǒng)智能運維方法,基于旁路審計監(jiān)聽系統(tǒng)的網(wǎng)絡(luò)端口捕獲鏡像流量,采集清洗并提取其中的日志數(shù)據(jù),設(shè)計算法實現(xiàn)對自動化系統(tǒng)的智能運維。體系結(jié)構(gòu)如圖2所示,在現(xiàn)有的空管自動化系統(tǒng)基礎(chǔ)上利用旁路審計提供數(shù)據(jù)庫審計、日志審計、態(tài)勢感知等管理功能,再以審計數(shù)據(jù)為基礎(chǔ),利用時間序列分析算法以及神經(jīng)網(wǎng)絡(luò)等機器學習算法實現(xiàn)系統(tǒng)狀態(tài)數(shù)據(jù)清洗、IO容量智能預(yù)測、服務(wù)器健康度評估以及運維可視化報表等智能運維功能。
圖2:體系結(jié)構(gòu)圖
旁路審計采集的相關(guān)數(shù)據(jù)來源為日志審計系統(tǒng)、數(shù)據(jù)庫審計系統(tǒng)以及態(tài)勢感知系統(tǒng)。本功能將這些系統(tǒng)作為數(shù)據(jù)源開展定時的清洗工作,其中主要包括:
(1)系統(tǒng)IO資源相關(guān)數(shù)據(jù):包括計算IO、存儲IO以及網(wǎng)絡(luò)IO等,數(shù)據(jù)源以日志審計系統(tǒng)采集數(shù)據(jù)為止;
(2)數(shù)據(jù)庫相關(guān):主要為數(shù)據(jù)資產(chǎn)數(shù)據(jù)以及與數(shù)據(jù)庫操作相關(guān)的數(shù)據(jù),包括數(shù)據(jù)資產(chǎn)、告警防護以及審計追溯等數(shù)據(jù),數(shù)據(jù)源為數(shù)據(jù)庫審計系統(tǒng);
(3)態(tài)勢感知系統(tǒng):主要收集系統(tǒng)安全防護相關(guān)的數(shù)據(jù),包括資產(chǎn)管理、流量分析以及終端安全等數(shù)據(jù)。
我們將清洗后得到的系統(tǒng)狀態(tài)數(shù)據(jù)按照數(shù)據(jù)大類、數(shù)據(jù)小類以及具體指標進行分類,如表1所示詳細列出了部分涉及的主要指標,用以后續(xù)服務(wù)器健康度評估、IO容量預(yù)測以及可視化報表的生成。
表1:系統(tǒng)狀態(tài)數(shù)據(jù)清洗獲取的主要指標
服務(wù)器健康度評估功能主要涵蓋以下4個模塊:
(1)服務(wù)器整體資源占用評估:對物理服務(wù)器、虛擬服務(wù)器的CPU使用率、MEM使用率、文件系統(tǒng)使用率、網(wǎng)絡(luò)帶寬占用率進行統(tǒng)計和轉(zhuǎn)換,對計算設(shè)備資源占用進行健康度評估,當占用比例過高時發(fā)出系統(tǒng)擴容建議。
(2)業(yè)務(wù)模塊進程資源占用評估:通過加載DBMS獲取不同設(shè)備上運行的業(yè)務(wù)進程,獲取不同時間點的業(yè)務(wù)進程狀態(tài)數(shù)據(jù)統(tǒng)計計算業(yè)務(wù)進程的狀態(tài)變化,對于經(jīng)常掉線、重啟、存在內(nèi)存泄漏的進程,發(fā)出相應(yīng)運維建議。
(3)網(wǎng)絡(luò)接口狀態(tài)評估:統(tǒng)計計算不同設(shè)備上的網(wǎng)卡管理狀態(tài)和運行狀態(tài),對于經(jīng)常出現(xiàn)狀態(tài)異常的網(wǎng)卡發(fā)出相應(yīng)的運維建議。
(4)服務(wù)器安全狀態(tài)評估:利用態(tài)勢感知系統(tǒng)收集的流量分析數(shù)據(jù)和終端安全數(shù)據(jù),統(tǒng)計評估服務(wù)器安全狀態(tài),對于安全狀態(tài)較低的服務(wù)器給出相應(yīng)的運維建議。
服務(wù)健康度模型的語義如圖3所示,即通過以上三個模塊得到的評估結(jié)果,共同構(gòu)成對服務(wù)器效用價值和保障價值的量化,從而最終基于效用價值和保障價值得到服務(wù)器的整體健康度量化評分,評分的功能原型展示如圖4所示。
圖3:服務(wù)器健康度模型語義
圖4:服務(wù)器健康度評估功能原型展示
IO容量智能預(yù)測功能是指對計算IO行為、存儲IO行為以及網(wǎng)絡(luò)IO行為進行解析,抽取出歷史數(shù)據(jù),對歷史數(shù)據(jù)進行分析,從而實現(xiàn)IO容量的準確預(yù)測。
IO容量智能預(yù)測功能主要涵蓋以下3個模塊:
(1)計算IO容量預(yù)測:包括對CPU使用率、CPU負載、上下文交換的歷史數(shù)據(jù)進行異常點標注,以及對未來的趨勢進行預(yù)測,例如在圖5所示的功能原型展示中,給出了CPU負載容量的歷史數(shù)據(jù)和未來容量的預(yù)測;
(2)存儲IO容量預(yù)測:包括對內(nèi)存占用率、交換區(qū)空間占用率、磁盤空間占用率的歷史數(shù)據(jù)進行異常點標注,以及對未來的趨勢進行預(yù)測,例如通過趨勢預(yù)測發(fā)現(xiàn)內(nèi)存占用逐漸增高,則發(fā)出可能存在內(nèi)存泄漏風險的運維建議;
(3)網(wǎng)絡(luò)接口速率預(yù)測:包括對網(wǎng)絡(luò)接口的讀寫行為進行解析,生成網(wǎng)絡(luò)接口的讀寫模式,通過模式判斷網(wǎng)絡(luò)接口狀態(tài)是否正常,預(yù)測某些時間段的網(wǎng)絡(luò)接口流量壓力。
運維可視化報表從全局級、業(yè)務(wù)級以及主機級別三種顆粒度提供配置報表、性能報表以及事件報表。
(1)配置報表:包括不同區(qū)域的設(shè)備數(shù)量、設(shè)備型號、操作系統(tǒng)的分布可視化;不同業(yè)務(wù)模塊的版本、設(shè)備數(shù)量、主機配置可視化;各服務(wù)器的資源配置、操作系統(tǒng)版本、運行模塊可視化。
(2)性能報表:包括全系統(tǒng)在某時間段的設(shè)備資源占用率、網(wǎng)絡(luò)資源占用率、磁盤讀寫速率分布可視化;不同設(shè)備在某個時間段的設(shè)備資源占用率、網(wǎng)絡(luò)資源占用率、磁盤讀寫速率分布可視化;不同業(yè)務(wù)模塊在某個時間段的設(shè)備資源占用率、網(wǎng)絡(luò)資源占用率、磁盤讀寫速率分布可視化。
(3)事件報表:全系統(tǒng)在某個時間段的告警數(shù)量及趨勢、告警嚴重程度分布可視化;不同設(shè)備在某個時間段的告警數(shù)量及趨勢、告警嚴重程度分布可視化;不同業(yè)務(wù)模塊在某個時間段的告警數(shù)量及趨勢、告警嚴重程度分布可視化。
時間序列是一種數(shù)據(jù)的表現(xiàn)形式,指將同一統(tǒng)計指標的數(shù)值按其發(fā)生的時間先后順序排列而成的數(shù)列。對于時間序列的數(shù)據(jù)挖掘起始于20世紀90年代,時間序列的研究涵蓋了相似性查詢、時序模式挖掘、時間序列分類和聚類、時間序列異常檢測等領(lǐng)域。其中時間序列異常檢測作為數(shù)據(jù)挖掘的重要領(lǐng)域,室各行各業(yè)尤其室大型工程項目密切關(guān)注的內(nèi)容。目前空管自動化系統(tǒng)在內(nèi)許多性能指標的表現(xiàn)形式都是時間序列。因此從服務(wù)器IO日志中抽取IO行為中涵蓋的數(shù)據(jù)構(gòu)成時間序列,利用時間序列分析算法對IO時間序列進行分析是構(gòu)建運維體系的關(guān)鍵技術(shù)之一。
時間序列分析的代表算法是差分整合移動平均自回歸模 型(Auto-Regressive Integrated Moving Average model,ARIMA),最初是用于氣象數(shù)據(jù)以及傳染病數(shù)據(jù)等具有明顯季節(jié)性或周期性的單維時間序列的異常檢測。序列平滑算法是一類快速的時間序列分析方法。傳統(tǒng)的平滑算法包括移動平均算法、權(quán)重移動平均算法,主要想法是基于前n個序列值的平均值逼近序列的運動趨勢,這一類平滑算法的思想較為樸素,一方面運動趨勢的預(yù)判極易收到離群點的影響,另一方面如何確定序列窗口n的大小是一個在實際應(yīng)用中值得思考的棘手問題。另一類時間序列分析算法是指數(shù)平滑,指數(shù)平滑假設(shè)之前所有的觀察值對當前的運動趨勢都會產(chǎn)生影響,通過遞歸的方式分析時間序列的運動趨勢。
在實際的運維場景中,時間序列往往表現(xiàn)為多維有序數(shù)據(jù)集的形式。多維時間序列帶來了維數(shù)災(zāi)難問題以及隨時間推移的信息膨脹問題。針對以上問題,不少學者提出了序列降維的方法。文獻提出了一種基于Galerkin的KL擴展(KL Expansion,KLE)計算方法實現(xiàn)時間序列降維并將其應(yīng)用于流量異常檢測中,實驗結(jié)果顯示能夠考慮時間的相關(guān)性,其異常檢測結(jié)果由比較顯著的改善。文獻提出了一種多元統(tǒng)計網(wǎng)絡(luò)監(jiān)測(Multivariate Statistical Network Monitoring,MSNM)方法,將多元統(tǒng)計過程控制技術(shù)運用到網(wǎng)絡(luò)監(jiān)測領(lǐng)域,實驗證明該方法能夠降低主成分分析對異常值的高敏感度。文獻提出了一種基于插值邊緣算子的時間序列分段線性表示(piecewise linear representation based on Interpolation Edge Operators,IEO)方法,不僅可以有效壓縮數(shù)據(jù),并且對數(shù)據(jù)噪聲以及陡峭點不敏感,在異常檢測中能夠具有更好的表現(xiàn)效果。
隨著空管自動化系統(tǒng)日趨復(fù)雜化、大型化和智能化,高效獲取準確、完備的監(jiān)控運維信息越來越困難。以往的智能運維技術(shù)很可能將不再滿足未來空管自動化系統(tǒng)的監(jiān)控運維需求,迫切需求能夠?qū)⒐收蠙C理、模型建立、特征提取與分析方法等相關(guān)問題相融合的智能運維技術(shù),而深度學習的出現(xiàn)為這一技術(shù)的實現(xiàn)提供了新的思路和途徑。典型的五種深度學習模型包括自動編碼器(Auto-Encoder,AE),深度置信網(wǎng)絡(luò)(Deep Belief Network,DBN)、卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)、循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)以及生成對抗網(wǎng)絡(luò)(Generative Adversarial Network,GAN)。下面按照模型分類分別介紹若干具有顯著參考意義的研究成果。
Lin等人考慮到日志文件標注的困難性,嘗試利用日志相似性對系統(tǒng)日志進行聚類實現(xiàn)無監(jiān)督的日志異常檢測。Qiu等人提出的SyslogDigest模型將非結(jié)構(gòu)化的日志消息映射到消息模板上以解析日志消息,然后基于消息模板的序列生成高層次的事件記錄。Zhang等人提出了一種稱為頻繁模板樹(Frequent Template Tree,F(xiàn)T-Tree)的模型,對消息日志當中不同單詞組合的頻率進行統(tǒng)計和排序,通過一個經(jīng)過剪裁的樹形結(jié)構(gòu)表示較為頻繁的單詞組合,并將其作為消息日志的模板,最后通過隱式半馬爾可夫模型實現(xiàn)基于日志序列的故障預(yù)測功能。文獻提出使用快速的n-gram語言模型對消息的類型進行預(yù)過濾,然后利用隱含狄利克雷分布(Latent Dirichlet Allocation,LDA)從大量未標記消息日志中構(gòu)建語義空間,最后使用標準的前饋神經(jīng)網(wǎng)絡(luò)來實現(xiàn)分類。張圣林等人基于GloVe框架提取日志中的語義信息并構(gòu)造了日志的模板向量,在一定程度上克服了不同語法造成的跨類型日志融合困難的問題。
在學術(shù)界,智能運維技術(shù)研究正在如火如荼的開展,相關(guān)的技術(shù)探索成果也隨之不斷涌現(xiàn),然而智能運維仍然存在很多的挑戰(zhàn)。空管自動化系統(tǒng)的大規(guī)模、多模態(tài)、多時段、時間相關(guān)性等特性給智能運維的技術(shù)研發(fā)更是帶來了難點,其中可能存在的問題包括:
(1)空管自動化系統(tǒng)的設(shè)備存在數(shù)量眾多、結(jié)構(gòu)復(fù)雜的特點,這對監(jiān)控數(shù)據(jù)的采集造成了一定的困難,且各地自動化系統(tǒng)處于信息孤島的狀態(tài),不利于支撐大規(guī)模的數(shù)據(jù)分析;
(2)海量數(shù)據(jù)中的有效信息有限,數(shù)據(jù)類別不平衡,例如極端工況下的故障樣本數(shù)目十分有限;
(3)現(xiàn)有技術(shù)大多關(guān)注某一設(shè)備的異?;蚬收希鄙賹Χ鄠€監(jiān)控目標的關(guān)聯(lián)分析;
(4)深度學習雖然在智能運維當中展現(xiàn)了很多的優(yōu)點并取得了一定的成績,但是現(xiàn)有的深度學習技術(shù)還無法執(zhí)行關(guān)于過程推理和模式解釋的高階運維任務(wù)。
隨著空管自動化系統(tǒng)的建設(shè)和發(fā)展,智能運維體系的探索必將成為其中不可或缺的重要組成部分。本文圍繞下一代空管自動化系統(tǒng)建設(shè),論述了基于智能運維的保障體系關(guān)鍵技術(shù),包括基于時間序列分析的方法、基于文本挖掘的方法以及基于深度學習的方法,整理總結(jié)各個技術(shù)領(lǐng)域的研究現(xiàn)狀。在未來,空管自動化系統(tǒng)智能運維有賴于以下方面的推動:
(1)民航數(shù)據(jù)治理在深度和廣度上的拓展:只有更加全面的數(shù)據(jù)支撐,才能更有效的推動智能運維水平的提升;
(2)數(shù)據(jù)挖掘以及人工智能技術(shù)層面的進步:當前溯因推理技術(shù)的研究有望突破目前深度學習的局限性,有利于提高智能運維的智能水平。