1所示,對在 線日志經過日志規范化、日志預處理、故障定界=方面的工作,定位出網絡故障發生的準確 時間,進而將故障時間通過分析報表反饋給檢測人員;其中,日志規范化主要包括:日志時 間標識規范化,其它標識規范化;日志預處理主要包括:日志聚類,用于將統一類型的日志 統一處理;故障定界主要是指:根據對離線日志進行數據挖掘與機器學習得到的故障時日 志的表現形式(如:頻率類型變化、日志模式變化),對經前兩方面處理后的日志進行分析, 找到故障發生時間。需要說明的是,圖1所示的原理框圖中,離線日志指本發明訓練使用的 日志,而在線日志指本發明應用的實際日志。
[0090] 其中,本發明提供的方法可由圖2所示的分析設備20執行,用于對網絡設備10進行 故障分析和定位。所述分析設備20可W為:交換機、路由器、網管設備、服務器、軟件定義網 絡(Software Defined化twork,SDN)控制器等設備中的任一種設備。具體的,如圖2所示, 所述分析設備20可W包括:處理器2011、存儲器2012、接收器2013、發送器2014W及至少一 個通信總線2015,用于實現運些裝置之間的連接和相互通信;
[0091] 接收器2013可用于與外部網元之間進行數據交互,如:收集分析設備20產生的網 絡日志。
[0092] 存儲器2012,可W是易失性存儲器(volatile memo巧),例如隨機存取存儲器 (random-access memoir ,RAM);或者非易失性存儲器(non-volatile memoir),例如只讀存 儲器(read-only memory,R0M),快閃存儲器(flash memoir),硬盤化 ard disk 化 ive,皿 D) 或固態硬盤(solid-s化te化ive,SSD);或者上述種類的存儲器的組合。
[0093] 處理器2011可能是一個中央處理器(cental processing unit,簡稱為CPU),也 可W是特定集成電路(Application Specific Integrated Cir州it,ASIC),或者是被配置 成實施本發明實施例的一個或多個集成電路,例如:一個或多個微處理器(digital singnal processor,DSP),或,一個或者多個現場可編程口陣列(Field Programmable Gate Array,FPGA);用于先對離線日志進行數據挖掘與機器學習得到的故障時日志的表現 形式,然后根據運種表現形式對在線日志進行實時分析,然后對在線日志進行日志規范化、 日志預處理,并根據故障時日志的表現形式對處理后的日志進行分析,完成故障定界,定位 出網絡故障發生的時間。
[0094] 發送器2014可用于與外部網元之間進行數據交互,如:可W為一人機交互界面,用 于將處理器2011定位出的故障時間反饋給檢測人員。
[00M] 通信總線2015可W分為地址總線、數據總線、控制總線等,可W是工業標準體系結 構(Industry Standard A;rchitec1:ure,ISA)總線、夕F部設備互連(Peripheral Component, PCI)總線或擴展工業標準體系結構化xtended IndustiT Standard A;rchitec1:ure,EISA) 總線等。為便于表示,圖2中僅用一條粗線表示,但并不表示僅有一根總線或一種類型的總 線。
[0096] 具體的,接收器2013,用于獲取網絡設備的至少一條日志信息。
[0097] 處理器2011,用于對所述接收器2013獲取到的至少一條日志信息進行處理,形成 日志行為矩陣;其中,所述日志行為矩陣包含M個日志行為向量,每個日志行為向量占用一 個時間間隔,每個日志行為向量包含N個元素;所述N為日志類型的個數,所述日志行為向量 中的第i個元素表示:在所述日志行為向量的時間間隔內且屬于第i類的日志信息的個數。
[0098] 處理器2011,用于根據預設模型對所述處理器2011形成的日志行為矩陣中的日志 行為向量進行計算,確定所述網絡設備的故障發生時間;其中,所述預設模型用于:篩選出 符合網絡設備發生故障時的行為特征的日志行為向量。
[0099] 由于,不同廠家不同設備和不同模塊產生的日志信息間存在一定的差別,給日志 內容的識別帶來了不便,因此,在對其進行統一分析處理之前,可W先對各條日志的不同信 息字段進行規范化處理,將日志信息轉換成為統一的易識別的日志格式,然后,將統一格式 后的日志信息中內容比較相似的日志W同一類信息對待,最后,將歸類后的至少一條日志 信息按照預定的時間間隔構建成日志行為矩陣,即所述處理器2011,具體用于:
[0100] 將每條日志信息的內容格式轉換為預設的日志格式;
[0101] 對格式轉換后的日志信息進行歸類,并用日志信息所屬的類別標識代替所述日志 信息,形成一個由類別標識組成的時間序列;
[0102] 按照預設時間間隔對所述時間序列進行劃分;
[0103] 對于每個時間間隔,將所述時間間隔內相同的類別標識進行計數統計,并將統計 個數排列成一個腺隹日志行為向量;
[0104] 將所有日志行為向量按照時間順序組成所述日志行為矩陣。
[0105] 進一步的,由于網絡設備在故障發生時經常會伴隨比較明顯的特征,為此,本發明 技術人員結合大量的故障分析報告,對大量故障時間附近產生的日志信息進行分析,挖掘 日志行為特征與故障發生的關聯性,最終,經過大量計算得到如下結論:(1)單位時間內產 生的日志信息的頻數和種類數與網絡設備故障的發生具有較強的關聯性,具體表現為:當 網絡設備發生故障時,單位時間內產生的日志信息的頻數和種類數會發生突變;(2)相鄰時 間間隔的日志行為模式的變化與網絡設備故障的發生具有較強的關聯性,具體表現為:當 網絡設備發生故障時,相鄰時間間隔對應的日志行為模式間的差異值會突然增大。
[0106] 即日志在頻率和種類數、或者行為模式上的變化通常為網絡設備發生故障時伴隨 的獨有特征,基于此理念,本發明技術人員提出了能夠篩選出符合網絡設備發生故障時的 行為特征的日志行為向量的預設模型,根據該模型對構建的日志行為矩陣進行計算,確定 出在頻率和種類數、或者行為模式上突變的日志信息,即網絡設備發生故障時產生的日志 信息,進而根據該日志信息所處的時間確定定界網絡故障時間;所W,所述處理器2011,具 體用于:
[0107] 分別計算所述日志行為矩陣中每個日志行為向量的日志頻率和日志種類;
[0108] 對于所述日志行為矩陣中的任一日志行為向量,計算所述日志行為向量和與所述 日志行為向量相鄰的至少一個日志行為向量間的日志頻率方差W及日志種類方差;
[0109] 若所述日志頻率方差和日志種類方差的均值大于預設闊值,則將所述日志行為向 量對應的時間間隔確定為所述網絡設備故障發生時間。
[0110] 其中,由于周期性日志中,單位時間內的發生的日志信息個數是不會發生改變,即 日志頻率是固定不變的,所W,對于周期性日志而言,在上述方式的故障檢測中頻數突變并 沒有意義,影響故障檢測結果,為了解決運個問題,在分別計算所述日志行為矩陣中每個日 志行為向量的日志頻率和日志種類之前,所述處理器2011,還用于:
[0111] 根據公式對每個日志行為向量中的第j個元素進 行加權賦值;
[0112] 其中,所述第j個元素為所述日志行為向量中的任一元素;nj為:第j類日志信息出 現的時間間隔的個數;StcK j)為:第j類日志信息的分布方差。
[0113] 或者,所述處理器2011,具體用于:
[0114] 遍歷所述M個日志行為向量中的每個日志行為向量,比較所述日志行為向量和在 所述日志行為向量時間之后與所述日志行為向量相鄰的日志行為向量之間的相似性,得到 與所述日志行為向量對應的比較值;
[0115] 將遍歷所述M個日志行為向量中的每個日志行為向量,得到的與所述M個日志行為 向量中的每個日志行為向量一一對應的比較值從大到小進行排列;
[0116] 將排列后的前k個值對應的日志行為向量的時間間隔確定為所述網絡設備故障發 生時間;其中,k為大于等于1的整數。
[0117] 如:可W根據公式
比較所述日志行為向量和在所述日志行為向量時 間之后與所述日志行為向量相鄰的日志行為向量之間的相似性,得到與所述日志行為向量 對應的比較值;其中,t為日志行為向量所處的時間間隔,Xt,1代表第t行日志行為向量的第i 個元素。
[0118] 其中,在本發明實施例中,k為大于等于1的整數,且個數k可W經驗進行選取,還可 W設定一闊值,將比較值中大于該闊值的k個日志行為向量確定為發生異常的日志行為向 量,為網絡設備故障發生點。
[0119] 需要說明的是,上述兩種方式可W單獨執行,也可W結合在一起執行,W更加準確 的定位網絡故障發生的確切時間,例如:可W先確定第1行、第5行日志行為向量的頻率和種 類發生突變,為故障發生點,然后,再僅對第1行、第5行的相似性進行比較,確定出第1行或 第5行為故障發生點,加快了網絡故障原因分析的效率。
[0120] 由上可知,本發明實施例提供一種分析設備,獲取網絡設備的至少一條日志信息; 對所述至少一條日志信息進行處理,形成日志行為矩陣;其中,所述日志行為矩陣包含M個 日志行為向量,每個日志行為向量占用一個時間間隔,每個日志行為向量包含N個元素;所 述N為日志類型的個數,所述日志行為向量中的第i個元素表示:在所述日志行為向量的時 間間隔內且屬于第i類的日志信息的個數;根據預設模型對所述日志行為矩陣中的日志行 為向量進行計算,確定所述網絡設備的故障發生時間;其中,所述預設模型用于:篩選出符 合網絡設備發生故障時的行為特征的日志行為向量。如此,對原始日志進行了壓縮處理,不 僅將相似的日志信息用同一種方式對待;而且基于在一定時間間隔內網絡設備的行為表現 基本上是相同的理念,將每個時間間隔內各種日志的分布作為一行,W行為單位用對日志 進行分析,大大減少了日志處理的代理,進而提升了網絡故障時間定位的效率。
[0121] 為了便于描述,W下實施例一W步驟的形式示出并詳細描述了本發明中分析設備 20執行的網絡故障時間定位方法,其中,示出的步驟也可W在除網絡故障設備20之外的諸 如一組可執行指令的計算機系統中執行,如:本發明所述的方法還可W由網絡設備10自身 執行,即圖2所示的分析設備20中包含的執行本發明提供的方法的單元可W包含在網絡設 備10中,由網絡設備10執行本發明提供的網絡故障時間定位方法。此外,雖然在圖中示出了 邏輯順序,但是在某些情況下,可W W不同于此處的順序執行所示出或描述的步驟。
[0122] 實施例一
[0123] 圖3為本發明實施例提供的網絡故障時間定位方法的流程圖,由圖2所示的分析設 備20執行