李志剛,劉自強(qiáng),張 輝
(中國(guó)電子科技集團(tuán)公司第五十二研究所,浙江 杭州 311100)
隨著國(guó)內(nèi)信息化領(lǐng)域自主化和國(guó)產(chǎn)化戰(zhàn)略的穩(wěn)步推進(jìn),在各行業(yè)信息系統(tǒng)中已大力推動(dòng)國(guó)產(chǎn)平臺(tái)部署使用。在此情況下,國(guó)產(chǎn)平臺(tái)直接關(guān)系到國(guó)內(nèi)信息系統(tǒng)自主化進(jìn)展,其可靠穩(wěn)定運(yùn)行至關(guān)重要。目前國(guó)產(chǎn)平臺(tái)系統(tǒng)規(guī)模及復(fù)雜度越來(lái)越高,國(guó)產(chǎn)平臺(tái)的可靠運(yùn)行面臨著越來(lái)越大的挑戰(zhàn)。在國(guó)產(chǎn)平臺(tái)使用過(guò)程中,故障快速定位排查是保障平臺(tái)可靠運(yùn)行的有效手段。
該文設(shè)計(jì)了一種集日志分析、智能診斷和可視化監(jiān)測(cè)等多種技術(shù)的可視化分析診斷系統(tǒng),可有效提高國(guó)產(chǎn)平臺(tái)的故障排查速度和可靠運(yùn)行水平。
在國(guó)產(chǎn)平臺(tái)的運(yùn)行維護(hù)和故障診斷排查中,存在以下挑戰(zhàn)和問(wèn)題[1]:
(1)系統(tǒng)日志和應(yīng)用日志等記錄著系統(tǒng)和業(yè)務(wù)應(yīng)用運(yùn)行期間的詳細(xì)運(yùn)行時(shí)信息,可被用作系統(tǒng)異常檢測(cè)的主要數(shù)據(jù)源。對(duì)日志進(jìn)行分析,不僅可以了解到國(guó)產(chǎn)平臺(tái)中軟硬件的運(yùn)行狀況,還可了解報(bào)錯(cuò)日志的源頭,判斷錯(cuò)誤是由應(yīng)用引起的還是系統(tǒng)引起的,從而及時(shí)進(jìn)行故障恢復(fù),減少停機(jī)時(shí)間。
但系統(tǒng)中的日志存放分散、數(shù)據(jù)量巨大,且日志的格式和含義往往不明,管理人員往往難以快速?gòu)拇罅咳罩驹肼晹?shù)據(jù)中手動(dòng)識(shí)別關(guān)鍵信息以進(jìn)行異常檢測(cè)。
(2)目前國(guó)產(chǎn)平臺(tái)日趨復(fù)雜,多個(gè)應(yīng)用軟件間及數(shù)據(jù)間的關(guān)系更加緊密,影響其穩(wěn)定可靠運(yùn)行的因素眾多。硬件因素上涉及到計(jì)算、存儲(chǔ)、交換、電源以及其他專(zhuān)用硬件等;軟件因素上涉及到操作系統(tǒng)、驅(qū)動(dòng)、系統(tǒng)軟件、中間件、數(shù)據(jù)庫(kù)、應(yīng)用軟件等;同時(shí)由于硬件對(duì)環(huán)境依賴、軟硬件間依賴、應(yīng)用系統(tǒng)間依賴以及數(shù)據(jù)間依賴等關(guān)聯(lián)依賴,使問(wèn)題更加錯(cuò)綜復(fù)雜。
在此情況下,當(dāng)國(guó)產(chǎn)平臺(tái)系統(tǒng)出現(xiàn)故障時(shí),故障從何查起、需要查看哪些因素,以及如何快速診斷及排查故障變得愈加困難。
(3)國(guó)產(chǎn)平臺(tái)中可監(jiān)測(cè)數(shù)據(jù)眾多,包括傳感數(shù)據(jù)(電壓/電流/溫度等)、系統(tǒng)靜態(tài)信息(CPU/內(nèi)存/存儲(chǔ)/網(wǎng)絡(luò)配置信息等)、系統(tǒng)動(dòng)態(tài)信息(CPU占用率/內(nèi)存占用率/網(wǎng)絡(luò)流量等)、告警信息、故障信息、日志信息和應(yīng)用信息等,并且所有監(jiān)測(cè)的各種類(lèi)型的數(shù)據(jù)都有其相應(yīng)的意義和作用,不可或缺。
在此情況下,如何一目了然地以用戶易理解的方式可視化展現(xiàn)眾多監(jiān)測(cè)數(shù)據(jù),如何提高用戶對(duì)數(shù)據(jù)理解和處理效率變得非常重要[2]。
針對(duì)以上所述問(wèn)題,該文設(shè)計(jì)構(gòu)建可視化分析診斷系統(tǒng),通過(guò)日志分析、智能診斷和可視化監(jiān)測(cè)技術(shù)來(lái)解決上述3個(gè)問(wèn)題及挑戰(zhàn)。以下將從系統(tǒng)架構(gòu)、日志分析、智能診斷和可視化監(jiān)測(cè)等方面對(duì)該系統(tǒng)進(jìn)行論述。
基于國(guó)產(chǎn)平臺(tái)的可視化分析診斷系統(tǒng)以監(jiān)測(cè)數(shù)據(jù)為中心,對(duì)監(jiān)測(cè)數(shù)據(jù)進(jìn)行全生命周期管理分析,包括數(shù)據(jù)監(jiān)控采集、數(shù)據(jù)存儲(chǔ)管理及數(shù)據(jù)分析和可視化應(yīng)用等,結(jié)合國(guó)產(chǎn)平臺(tái)硬件及分層設(shè)計(jì)思想,可視化分析診斷系統(tǒng)架構(gòu)設(shè)計(jì)[3]如圖1所示。

圖1 可視化分析診斷系統(tǒng)架構(gòu)示意圖
由圖1可知,可視化分析診斷系統(tǒng)采用分層架構(gòu)設(shè)計(jì),其中監(jiān)控層實(shí)現(xiàn)監(jiān)測(cè)數(shù)據(jù)的監(jiān)控采集;數(shù)據(jù)層實(shí)現(xiàn)監(jiān)測(cè)數(shù)據(jù)的存儲(chǔ)管理;應(yīng)用層實(shí)現(xiàn)對(duì)監(jiān)測(cè)數(shù)據(jù)的分析及可視化,各層間分工明確,相互獨(dú)立。
(1)硬件層基于國(guó)產(chǎn)基礎(chǔ)軟硬件構(gòu)建,主要包括計(jì)算模塊、交換模塊和存儲(chǔ)模塊等。其中計(jì)算模塊采用國(guó)產(chǎn)飛騰FT1500A/16處理器和銀河麒麟操作系統(tǒng),為系統(tǒng)業(yè)務(wù)應(yīng)用提供軟硬件運(yùn)行環(huán)境;交換模塊采用國(guó)產(chǎn)盛科交換芯片,實(shí)現(xiàn)以太網(wǎng)數(shù)據(jù)的交換轉(zhuǎn)發(fā);存儲(chǔ)模塊采用國(guó)產(chǎn)M.2電子盤(pán)組合提供TB級(jí)大容量存儲(chǔ)。
(2)監(jiān)控層主要實(shí)現(xiàn)對(duì)平臺(tái)系統(tǒng)、應(yīng)用、日志、事件/告警等進(jìn)行監(jiān)控。包括對(duì)各模塊資源使用率、系統(tǒng)負(fù)載、進(jìn)程運(yùn)行情況等進(jìn)行監(jiān)控以及對(duì)應(yīng)用進(jìn)程的資源占用情況進(jìn)行跟蹤監(jiān)控;日志管理實(shí)現(xiàn)系統(tǒng)日志、服務(wù)日志、應(yīng)用日志等內(nèi)容的搜集。事件/告警管理則是在以上監(jiān)控行為發(fā)生時(shí)按規(guī)則觸發(fā)事件/告警等事項(xiàng)。
(3)數(shù)據(jù)層主要是存儲(chǔ)并管理通過(guò)監(jiān)控層采集匯總的狀態(tài)數(shù)據(jù)、事件數(shù)據(jù)、日志數(shù)據(jù)、告警/故障數(shù)據(jù)等。
(4)應(yīng)用層實(shí)現(xiàn)對(duì)數(shù)據(jù)的分析利用及可視化應(yīng)用,主要實(shí)現(xiàn)日志分析、智能診斷和可視化監(jiān)測(cè)功能。
近年來(lái),隨著大數(shù)據(jù)、機(jī)器學(xué)習(xí)、深度學(xué)習(xí)等技術(shù)的興起,科研技術(shù)人員逐步將此類(lèi)技術(shù)應(yīng)用于日志分析中,如李飛飛等人[4]的系統(tǒng)事件日志解析,Wang Mengying[5]、Amey Agrawal[6]、Liu Xiaojian[7]、Rakesh Bahadur Yadav[8]等基于日志進(jìn)行的分析及異常檢測(cè)研究等,基于日志進(jìn)行系統(tǒng)問(wèn)題分析的工作取得了較大進(jìn)展。
日志分析主要包括日志解析、特征提取和異常檢測(cè)三個(gè)主要步驟。
(1)日志解析:日志是非結(jié)構(gòu)化的自由形式的文本,通過(guò)日志解析,每個(gè)日志消息都可以被解析成帶有一些特定參數(shù)(可變部分)的事件模板(恒定部分)。
(2)特征提取:在日志解析成單獨(dú)的事件后,進(jìn)一步將其編碼為數(shù)字特征向量,以便應(yīng)用機(jī)器學(xué)習(xí)模型。首先使用窗口技術(shù)將原始日志分割成一組日志序列,然后,對(duì)于每個(gè)日志序列,生成一個(gè)事件計(jì)數(shù)向量,表示每個(gè)事件的發(fā)生次數(shù)。
(3)異常檢測(cè):可將特征提取階段生成的一個(gè)個(gè)事件計(jì)數(shù)向量饋送給機(jī)器學(xué)習(xí)模型進(jìn)行訓(xùn)練,從而生成異常檢測(cè)模型,所構(gòu)建的模型可用于識(shí)別新進(jìn)入日志序列是否異常。
日志是由固定部分和可變部分組成的純文本,開(kāi)發(fā)人員在源代碼中預(yù)先定義了常量部分,變量部分通常是動(dòng)態(tài)生成的。日志解析的目的是將常量部分與變量部分分開(kāi),并形成一個(gè)日志事件,如下示例的“StopRecordProc ullChannel is <*>,ulChannelNum is <*>”。
如圖2所示,日志分析的第一步就是將無(wú)結(jié)構(gòu)的日志文本轉(zhuǎn)化成有結(jié)構(gòu)的數(shù)據(jù)。每個(gè)日志信息通過(guò)時(shí)間戳、日志級(jí)別和日志內(nèi)容等記錄一個(gè)具體的系統(tǒng)行為。日志內(nèi)容是由不變的字符串和可變的值構(gòu)成的。不變的部分是需提取的日志模板,可變的部分代表著動(dòng)態(tài)的運(yùn)行信息。通過(guò)日志數(shù)據(jù)結(jié)構(gòu)化可把每一個(gè)日志信息轉(zhuǎn)化成具體的模板和參數(shù),<*>就代表著每一個(gè)參數(shù)的位置,如圖2中EVENT TEMPLATE所示。

圖2 日志數(shù)據(jù)結(jié)構(gòu)化示意圖
該步驟的主要目的是從日志事件中提取有價(jià)值的特征,這些特征可以被輸入異常檢測(cè)模型。特征提取的輸入是日志數(shù)據(jù)以及日志解析中生成的日志事件,輸出是事件計(jì)數(shù)向量。
為了提取特征,首先將日志數(shù)據(jù)分成不同的組,其中每個(gè)組代表一個(gè)日志序列。可采用窗口技術(shù)將日志數(shù)據(jù)集劃分成有限塊,同一窗口中發(fā)生的日志被視為日志序列[8]。
目前常用的窗口技術(shù)有固定窗口、滑動(dòng)窗口和會(huì)話窗口,考慮到通用性及異常檢測(cè)的準(zhǔn)確性,選擇基于滑動(dòng)窗口的方式對(duì)日志數(shù)據(jù)集進(jìn)行劃分,生成多組日志序列。
在利用窗口技術(shù)構(gòu)建日志序列之后,對(duì)每個(gè)日志序列,可計(jì)算每個(gè)日志事件發(fā)生次數(shù),形成事件計(jì)數(shù)向量。例如事件計(jì)數(shù)向量[0,1,3,0,0,1,0],這意味著在這個(gè)日志序列中,事件2發(fā)生了1次,事件3發(fā)生了3次,事件6發(fā)生了1次。
由上可知,日志序列通過(guò)特征提取生成事件計(jì)數(shù)向量,其可作為聚類(lèi)模型的輸入。聚類(lèi)模型選擇K-Means算法來(lái)設(shè)計(jì)實(shí)現(xiàn),其基本思想是先從樣本集中隨機(jī)選取K個(gè)樣本作為簇中心,并計(jì)算所有樣本與這K個(gè)簇中心的距離,對(duì)于每一個(gè)樣本,將其劃分到與其距離最近的簇中心所在的類(lèi)別中,對(duì)于新的簇計(jì)算各個(gè)簇的新的簇中心。
在系統(tǒng)運(yùn)行期間,日志數(shù)據(jù)不斷產(chǎn)生,通過(guò)日志解析和特征提取生成的事件計(jì)數(shù)向量被一個(gè)接一個(gè)地添加到異常檢測(cè)聚類(lèi)模型中。對(duì)于新日志序列的狀態(tài),可根據(jù)其所生成的事件計(jì)數(shù)向量,計(jì)算它和現(xiàn)有代表向量之間的距離。如果最小距離大于閾值,則日志序列被報(bào)告為異常。
近年來(lái)隨著信息系統(tǒng)的日益復(fù)雜,故障定位及診斷難度進(jìn)一步加大。在此情況下,國(guó)內(nèi)外技術(shù)人員在故障快速定位和有效診斷方面投入了較多的研究。如PHM技術(shù)研究[9-10]、時(shí)序診斷技術(shù)研究[11]、故障預(yù)測(cè)技術(shù)研究[12]、貝葉斯網(wǎng)絡(luò)系統(tǒng)[13]和專(zhuān)家系統(tǒng)研究[14-15]等。
文中智能診斷采用基于規(guī)則的故障診斷專(zhuān)家系統(tǒng)模式,主要由知識(shí)庫(kù)管理模塊、推理診斷模塊、數(shù)據(jù)庫(kù)和人機(jī)交互模塊等組成,如圖3所示。

圖3 智能診斷系統(tǒng)各模塊交互圖
其中:
(1)數(shù)據(jù)庫(kù)主要用于記錄存儲(chǔ)和管理系統(tǒng)實(shí)時(shí)監(jiān)控?cái)?shù)據(jù)、用戶配置閾值信息、系統(tǒng)告警/故障信息、設(shè)備診斷專(zhuān)業(yè)知識(shí)信息以及推理過(guò)程中的中間信息與診斷結(jié)果等數(shù)據(jù)。
(2)知識(shí)庫(kù)管理模塊主要用于通過(guò)外部獲取設(shè)備診斷專(zhuān)業(yè)知識(shí),處理后形成規(guī)則,根據(jù)不同設(shè)備類(lèi)型、不同知識(shí)類(lèi)型存入數(shù)據(jù)庫(kù)表中,同時(shí)具備知識(shí)檢索、修改、增加、刪除等管理功能。
(3)推理診斷模塊作為診斷過(guò)程中的核心部分,根據(jù)設(shè)備觸發(fā)各告警/故障信息,通過(guò)關(guān)鍵詞表提取后,選擇相關(guān)聯(lián)的數(shù)據(jù)庫(kù)表提取規(guī)則進(jìn)行匹配推理,并得出診斷結(jié)果。
(4)人機(jī)交互模塊主要用于執(zhí)行用戶下發(fā)的診斷指令、返回診斷結(jié)果并進(jìn)行可視化展示,還可通過(guò)人機(jī)交互模塊進(jìn)行知識(shí)錄入、修改、刪除、查詢等。
系統(tǒng)首先通過(guò)可視化的人機(jī)交互模塊展示出各模塊當(dāng)前運(yùn)行狀態(tài)趨勢(shì),并實(shí)時(shí)獲取告警系統(tǒng)觸發(fā)的告警/故障信息列表。用戶選擇指定告警/故障信息進(jìn)行診斷分析時(shí),人機(jī)交互模塊將告警/故障事件發(fā)送給推理診斷模塊進(jìn)行推理診斷。
推理診斷模塊接收到診斷請(qǐng)求后,根據(jù)關(guān)鍵詞表對(duì)告警/故障信息進(jìn)行關(guān)鍵詞提取,然后采用樹(shù)狀結(jié)構(gòu)將知識(shí)庫(kù)中的規(guī)則構(gòu)建成規(guī)則集,并與告警/故障信息關(guān)鍵詞進(jìn)行匹配,得出初步診斷結(jié)論,再將得出的結(jié)論緩存到內(nèi)存中,再次進(jìn)行規(guī)則的搜索與匹配,直到緩存的數(shù)據(jù)不再發(fā)生變化為止,得到最終的推理結(jié)論,并進(jìn)行驗(yàn)證,得出診斷結(jié)果。
最后推理診斷模塊將推理診斷結(jié)果推送給人機(jī)交互模塊進(jìn)行展示,以便用戶或系統(tǒng)管理人員進(jìn)行維護(hù)處理。
系統(tǒng)中存儲(chǔ)的數(shù)據(jù)類(lèi)型分為綜合數(shù)據(jù)庫(kù)和知識(shí)庫(kù)兩類(lèi)。其中綜合數(shù)據(jù)庫(kù)主要存儲(chǔ)用于監(jiān)控?cái)?shù)據(jù)、閾值信息、告警/故障信息等,數(shù)據(jù)按照不同類(lèi)型進(jìn)行分表,主要存儲(chǔ)信息如表1所示。

表1 綜合數(shù)據(jù)庫(kù)信息列表
知識(shí)庫(kù)主要存儲(chǔ)用于推理診斷的規(guī)則信息,其組織結(jié)構(gòu)對(duì)推理效率有很大的影響,該系統(tǒng)采用高效分層模式對(duì)知識(shí)庫(kù)進(jìn)行管理分類(lèi)。根據(jù)設(shè)備類(lèi)型分為通用服務(wù)器知識(shí)庫(kù)、通信設(shè)備知識(shí)庫(kù)、專(zhuān)用設(shè)備知識(shí)庫(kù)等若干個(gè)子庫(kù),再根據(jù)監(jiān)控屬性對(duì)子知識(shí)庫(kù)進(jìn)行分表,從而形成具有樹(shù)狀層次結(jié)構(gòu)的知識(shí)庫(kù)。
知識(shí)作為故障診斷的理論依據(jù),是智能診斷系統(tǒng)的核心要素之一。知識(shí)庫(kù)中的規(guī)則集決定了診斷系統(tǒng)推理的正確性與全面性。知識(shí)庫(kù)的管理主要包括知識(shí)獲取、知識(shí)表達(dá)與規(guī)則管理三個(gè)方面。
(1)知識(shí)獲取:操作人員采用與領(lǐng)域技術(shù)專(zhuān)家溝通交流或從文獻(xiàn)資料中提取的方式獲取相關(guān)知識(shí),形成規(guī)則后編入知識(shí)庫(kù),并根據(jù)系統(tǒng)實(shí)際部署和運(yùn)行狀況進(jìn)行擴(kuò)充或修正;同時(shí),還可以根據(jù)歷史診斷結(jié)論的驗(yàn)證結(jié)果對(duì)知識(shí)庫(kù)進(jìn)行修正。
(2)知識(shí)表達(dá):采用基于確定性規(guī)則知識(shí)的產(chǎn)生式表示法將知識(shí)形成規(guī)則,即當(dāng)某一條規(guī)則的條件被滿足時(shí),觸發(fā)規(guī)則,然后執(zhí)行下一步的推理直到給出最終結(jié)論[15]。例如,系統(tǒng)負(fù)載過(guò)高會(huì)導(dǎo)致板卡溫度異常升高的知識(shí),通過(guò)規(guī)則表達(dá)如下:
IF板卡溫度過(guò)高;
AND風(fēng)扇轉(zhuǎn)速正常;
AND板卡散熱正常;
AND系統(tǒng)CPU占用;
THEN觸發(fā)板卡溫度異常的原因?yàn)橄到y(tǒng)負(fù)載過(guò)高。
通過(guò)上述規(guī)則得出導(dǎo)致板卡溫度異常的原因?yàn)橄到y(tǒng)負(fù)載過(guò)高后,再根據(jù)由系統(tǒng)負(fù)載相關(guān)知識(shí)形成的規(guī)則進(jìn)一步推理,最終得出導(dǎo)致板卡溫度異常的原因。
(3)規(guī)則管理:采用基于故障樹(shù)的結(jié)構(gòu)對(duì)規(guī)則進(jìn)行組織管理[15],如圖4所示。

圖4 規(guī)則推理樹(shù)結(jié)構(gòu)示例圖
當(dāng)推理診斷模塊進(jìn)行故障診斷時(shí),首先從知識(shí)庫(kù)中查找匹配故障現(xiàn)象的數(shù)據(jù)庫(kù)表,然后將表中的規(guī)則集加載到內(nèi)存中,組織形成故障樹(shù),并以根節(jié)點(diǎn)為故障樹(shù)的當(dāng)前節(jié)點(diǎn),根據(jù)故障現(xiàn)象逐步判斷故障是否滿足各子節(jié)點(diǎn)規(guī)則,并根據(jù)各規(guī)則的關(guān)聯(lián)關(guān)系,逐層遞進(jìn),最終得出診斷結(jié)論。
推理診斷模塊是智能診斷系統(tǒng)中實(shí)施問(wèn)題求解的核心執(zhí)行模塊。其主要任務(wù)是通過(guò)輸入流從人機(jī)交互模塊中獲取告警信息,根據(jù)預(yù)先保存在配置文件中的關(guān)鍵詞表提取關(guān)鍵字后,選擇相關(guān)聯(lián)的知識(shí)庫(kù),并將規(guī)則加載到內(nèi)存,按照程序既定的步驟進(jìn)行推理診斷,步驟如圖5所示。

圖5 推理診斷模塊診斷流程
可視化監(jiān)測(cè)基于數(shù)據(jù)可視化技術(shù),借助圖形化的手段,可以將各種監(jiān)控?cái)?shù)據(jù)清晰高效地傳達(dá)給用戶或系統(tǒng)管理人員,以便于用戶對(duì)設(shè)備狀態(tài)進(jìn)行管理維護(hù)。
數(shù)據(jù)可視化技術(shù)采用圖元對(duì)數(shù)據(jù)集中的數(shù)據(jù)進(jìn)行表示,數(shù)據(jù)項(xiàng)中的每個(gè)屬性以多維數(shù)據(jù)的形式存儲(chǔ)在圖元中,然后整合成圖像,如柱形圖、條形圖、餅圖、環(huán)形圖、線圖、散點(diǎn)圖、面積圖、雷達(dá)圖、K線圖、地圖等圖表[16],通過(guò)可視化界面進(jìn)行展示,可實(shí)現(xiàn)監(jiān)測(cè)數(shù)據(jù)多維度分析,提高數(shù)據(jù)分析效率及直觀性。
在可視化監(jiān)測(cè)界面設(shè)計(jì)時(shí)主要遵循以下設(shè)計(jì)原則[17]:
(1)注重用戶體驗(yàn)。
無(wú)論是風(fēng)格、元素、配色、文字、交互上還是細(xì)節(jié)上,可視化界面在設(shè)計(jì)時(shí)需注重用戶的視覺(jué)體驗(yàn),讓用戶一目了然。
(2)親密性分組。
在可視化設(shè)計(jì)時(shí),要表達(dá)的內(nèi)容不能是無(wú)序呈現(xiàn),這樣會(huì)給用戶造成理解上的混亂。
可視化界面應(yīng)遵循多數(shù)用戶所能理解的思維邏輯,將內(nèi)容分成幾部分按順序一步一步地表達(dá)出來(lái)。相同部分的內(nèi)容,彼此相關(guān),應(yīng)當(dāng)靠近,放在一起。不同部分的內(nèi)容,應(yīng)當(dāng)明顯地隔開(kāi)。
(3)對(duì)齊。
在版式布局上,任何元素的擺放都可能會(huì)影響甚至主導(dǎo)用戶的視覺(jué)流程。因此,任何元素都不能隨意擺放,否則會(huì)造成混亂,而混亂會(huì)令人不適。
對(duì)齊使每個(gè)元素都與其他元素建立起某種視覺(jué)聯(lián)系,也可使可視化界面更加清晰、精巧、清爽。
(4)重復(fù)/統(tǒng)一。
在可視化界面中反復(fù)使用一些視覺(jué)要素,建立上下文之間的聯(lián)系,增加條理性,保持視覺(jué)上的統(tǒng)一。任何視覺(jué)元素都可以在同一系統(tǒng)中重復(fù)使用,例如顏色、形狀、材質(zhì)、空間關(guān)系、線寬、字體、大小和圖片等等。
(5)對(duì)比/強(qiáng)調(diào)。
在做可視化設(shè)計(jì)時(shí),初衷是以圖文的形式把所要表達(dá)的信息清晰地傳遞給用戶,讓用戶一目了然,盡量不需要太多思考和理解。為了達(dá)到這個(gè)目的,需強(qiáng)調(diào)重點(diǎn),弱化次要,避免系統(tǒng)中所有的元素看起來(lái)重要程度都一樣。
(6)表達(dá)力求準(zhǔn)確且簡(jiǎn)潔易懂。
當(dāng)用戶看到可視化界面時(shí),需保證所表達(dá)的信息能被用戶正確理解。除使用上面幾個(gè)原則外,還要附加一些輔助信息,例如文字、箭頭等。文字的表達(dá),要準(zhǔn)確、到位、簡(jiǎn)潔、易懂,要能引導(dǎo)用戶正確地理解圖表的意思,不引起任何歧義。
基于以上設(shè)計(jì)原則,在整個(gè)可視化分析診斷系統(tǒng)設(shè)計(jì)時(shí),可視化監(jiān)測(cè)界面采用扁平化設(shè)計(jì)風(fēng)格,界面背景選用深色調(diào),數(shù)據(jù)部分則采用亮色系,使內(nèi)容與背景有足夠的對(duì)比,從而起到弱化背景,聚焦內(nèi)容的作用。整個(gè)界面以極簡(jiǎn)的線面為主,大量使用色彩飽和度較高的可視化數(shù)據(jù)圖表,實(shí)現(xiàn)系統(tǒng)拓?fù)湔故尽⑾到y(tǒng)狀態(tài)及告警展示和日志分析可視化展示等功能。
其中系統(tǒng)拓?fù)湔故窘缑嬉詫?shí)際的硬件架構(gòu)為原型,結(jié)合對(duì)應(yīng)的CAD圖紙,通過(guò)三維立體模型展示各模塊位置及拓?fù)溥B接關(guān)系,場(chǎng)景真實(shí)直觀,便于用戶對(duì)整個(gè)系統(tǒng)進(jìn)行監(jiān)控和管理。同時(shí)實(shí)現(xiàn)對(duì)各個(gè)模塊的基本信息分別展示。當(dāng)用戶關(guān)注點(diǎn)聚焦于單個(gè)模塊時(shí),界面會(huì)將整個(gè)系統(tǒng)進(jìn)行重構(gòu),將其他模塊虛化展示,突顯當(dāng)前模塊的狀態(tài)結(jié)構(gòu),實(shí)現(xiàn)可視化動(dòng)態(tài)展示該模塊負(fù)載、網(wǎng)絡(luò)流量及環(huán)境傳感等信息。
系統(tǒng)狀態(tài)及告警展示采用可視化數(shù)據(jù)大屏形式,通過(guò)不同的圖元模型對(duì)系統(tǒng)監(jiān)管要素進(jìn)行多維實(shí)時(shí)展示,先進(jìn)行核心數(shù)據(jù)(如系統(tǒng)負(fù)載、故障、告警、統(tǒng)計(jì)等信息)展示,再逐級(jí)瀏覽二三級(jí)內(nèi)容,并隱藏部分細(xì)節(jié)數(shù)據(jù),確保用戶聚焦關(guān)鍵數(shù)據(jù)。當(dāng)系統(tǒng)監(jiān)測(cè)到設(shè)備發(fā)生告警或模塊的某一指標(biāo)偏離正常值時(shí),系統(tǒng)會(huì)自動(dòng)將展示界面切換到該模塊的最佳查看視角,并自動(dòng)彈出該模塊當(dāng)前運(yùn)行參數(shù)的概要信息,以便于用戶或管理人員進(jìn)行故障排查。
日志分析可視化則通過(guò)圖表形式對(duì)日志查詢及日志聚類(lèi)分析的結(jié)果進(jìn)行綜合展現(xiàn)。針對(duì)海量的日志查詢結(jié)果,界面通過(guò)高亮顯示標(biāo)記出關(guān)鍵詞組,可以方便用戶快速識(shí)別關(guān)鍵信息并定位分析。針對(duì)日志聚類(lèi)分析結(jié)果,界面支持通過(guò)多種圖表形式對(duì)分析結(jié)果進(jìn)行不同維度的統(tǒng)計(jì)展示。
針對(duì)國(guó)產(chǎn)平臺(tái)系統(tǒng)規(guī)模及復(fù)雜度高、故障排查診斷困難、系統(tǒng)可靠運(yùn)行要求高的情況,提出一種集日志分析、智能診斷和可視化監(jiān)測(cè)等多種技術(shù)相融合的可視化分析診斷系統(tǒng)。該系統(tǒng)基于日志分析可從大量零散、非結(jié)構(gòu)化日志文本中自動(dòng)識(shí)別關(guān)鍵信息并進(jìn)行異常檢測(cè);通過(guò)知識(shí)管理、數(shù)據(jù)庫(kù)構(gòu)建以及推理診斷,可實(shí)現(xiàn)在錯(cuò)綜復(fù)雜環(huán)境中故障的快速診斷及排查,通過(guò)基于數(shù)據(jù)可視化技術(shù)的多維度監(jiān)測(cè),以用戶易懂的方式可視化展現(xiàn)眾多監(jiān)測(cè)數(shù)據(jù),可提高用戶對(duì)系統(tǒng)整體運(yùn)行狀態(tài)的理解和把控。
該系統(tǒng)在傳統(tǒng)監(jiān)控的基礎(chǔ)上,融入日志聚類(lèi)異常檢測(cè)技術(shù)、專(zhuān)家推理診斷技術(shù)和數(shù)據(jù)可視化技術(shù),可有效提高國(guó)產(chǎn)平臺(tái)的故障排查速度和可靠運(yùn)行水平。