本發(fā)明屬于網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,具體涉及一種基于概率統(tǒng)計的網(wǎng)絡(luò)設(shè)備告警消息風(fēng)暴的處理方法和裝置。
背景技術(shù):
隨著移動通信網(wǎng)絡(luò)的迅猛商用,2G、3G、LTE網(wǎng)絡(luò)逐步實現(xiàn)融合,網(wǎng)絡(luò)結(jié)構(gòu)日益復(fù)雜,網(wǎng)絡(luò)所承載的業(yè)務(wù)量逐年遞增。當(dāng)某個關(guān)鍵設(shè)備出現(xiàn)故障時,會產(chǎn)生大量消息上報到網(wǎng)絡(luò)設(shè)備故障管理系統(tǒng),此時可能會導(dǎo)致故障監(jiān)控不及時、甚至無法監(jiān)控,繼而導(dǎo)致故障處理不及時,如果消息數(shù)量超過系統(tǒng)的處理容量,則會給系統(tǒng)造成巨大的壓力,甚至癱瘓。及時有效地監(jiān)控網(wǎng)絡(luò)故障,并在第一時間進行處理,成為當(dāng)代運營商面臨的首要問題,對故障監(jiān)控系統(tǒng)所提供數(shù)據(jù)的及時性、準確性、有效性、高可靠性提出了更高的要求。目前的故障管理系統(tǒng)雖然日臻完善,但是,當(dāng)網(wǎng)絡(luò)出現(xiàn)重大告警,告警數(shù)據(jù)量激增,即出現(xiàn)消息風(fēng)暴時,消息量達到故障管理系統(tǒng)瓶頸時,故障管理系統(tǒng)提供給監(jiān)控人員數(shù)據(jù)還是會出現(xiàn)數(shù)據(jù)處理緩慢、告警上報延遲、監(jiān)控不及時、處理不及時,甚至故障管理系統(tǒng)癱瘓等問題。
例如:當(dāng)某個運營支持系統(tǒng)(OSS,Operation and support system)在短時間內(nèi)出現(xiàn)某個網(wǎng)元的大量告警時,會產(chǎn)生如下三方面影響:
(1)大量無實際意義的告警消息出現(xiàn)在監(jiān)控臺,影響了監(jiān)控人員發(fā)現(xiàn)并處理正常的網(wǎng)元告警,包括網(wǎng)元重大告警。
(2)對大量的風(fēng)暴告警的解析,消耗了大量的CPU時間,可能會在解析時發(fā)生內(nèi)存溢出,導(dǎo)致告警監(jiān)控延遲。
(3)由于采集缺少對告警風(fēng)暴進行一定的預(yù)測與消息歸并的機制,遇到消息風(fēng)暴時,整個故障管理系統(tǒng)系統(tǒng)處于被動的高負荷狀態(tài)。
目前,針對告警消息風(fēng)暴目前的處理方案主要有三種:
(1)消息風(fēng)暴同正常消息相同處理。然而,該方案無法預(yù)知網(wǎng)絡(luò)故障,當(dāng)發(fā)生消息風(fēng)暴時,采用無風(fēng)暴時的處理方案,將消息風(fēng)暴等同于正常消息來處理。此方案導(dǎo)致進程消耗大量的硬件資源,包括大量CPU、內(nèi)存、存儲、以及時間,并且可能會導(dǎo)致解析消息時內(nèi)存溢出、處理滯后。同時,監(jiān)控臺出現(xiàn)大量故障的重復(fù)信息,導(dǎo)致處理不及時,最終延誤了重大故障的監(jiān)控和處理,給運營商帶來一定的經(jīng)濟損失。
(2)人為設(shè)置告警過濾規(guī)則,將滿足此規(guī)則的告警消息過濾掉,即直接將滿足此規(guī)則的告警數(shù)據(jù)丟棄。然而,此方案同樣增加了消息處理的負荷,并且造成了告警數(shù)據(jù)丟失,影響了告警數(shù)據(jù)的完整性。此方案只能根據(jù)經(jīng)驗來設(shè)置告警過濾規(guī)則,當(dāng)規(guī)則預(yù)設(shè)置不當(dāng)時,同樣會造成故障管理系統(tǒng)的壓力,浪費系統(tǒng)資源。
(3)人為設(shè)置閾值作為告警消息的風(fēng)暴數(shù)量閾值,如果消息風(fēng)暴超過此閾值,那么直接丟棄后續(xù)消息不處理。然而,此方案需要根據(jù)經(jīng)驗預(yù)先設(shè)定閾值,但是消息風(fēng)暴的閾值一般很難預(yù)定。如果閾值過小,那么正常消息會被丟棄,正常告警無法監(jiān)控;如果閾值過大,那么當(dāng)實際產(chǎn)生告警風(fēng)暴時,無法將告警消息風(fēng)暴過濾掉。
然而,以上方案依然不能完美地解決告警風(fēng)暴出現(xiàn)時面臨的問題和帶來的影響。
技術(shù)實現(xiàn)要素:
為解決以上現(xiàn)有技術(shù)中存在的問題,本發(fā)明提出了一種基于概率統(tǒng)計的網(wǎng)絡(luò)設(shè)備告警消息風(fēng)暴的處理方法和裝置。
根據(jù)本發(fā)明的一個方面,本發(fā)明提供了一種網(wǎng)絡(luò)設(shè)備告警消息風(fēng)暴的處理方法,所述方法包括如下步驟:
(1)設(shè)定被監(jiān)控網(wǎng)元,建立網(wǎng)元模型;
(2)創(chuàng)建網(wǎng)元告警規(guī)則引擎,基于源告警信息實時生成適配規(guī)則的網(wǎng)元告警數(shù)據(jù);
(3)取當(dāng)前滑動時間窗口中的網(wǎng)元告警數(shù)據(jù)實時統(tǒng)計網(wǎng)元告警數(shù)量,使用概率統(tǒng)計方法動態(tài)生成置信區(qū)間和閾值,所述的滑動時間窗口包括多個順序的時間單位;
(4)根據(jù)所述告警數(shù)量和閾值判斷當(dāng)前滑動時間窗口后一條告警消息的類型,如果告警數(shù)量高于上限閾值則所述告警消息為風(fēng)暴消息并進行風(fēng)暴預(yù)警,如果告警數(shù)量低于下限閾值則所述告警消息為解除風(fēng)暴消息并解除風(fēng)暴預(yù)警,否則為正常告警消息;
(5)基于當(dāng)前滑動時間窗口向后滑動一個時間單位,進入下一個滑動時間窗口,轉(zhuǎn)到上述步驟(3)。
優(yōu)選的,所述步驟(3)中的方法為:
(31)根據(jù)步驟(2)獲取的網(wǎng)元告警數(shù)據(jù),計算當(dāng)前滑動時間窗口中的每個時間單位的網(wǎng)元告警數(shù)量,并作為統(tǒng)計參數(shù);
(32)將統(tǒng)計參數(shù)進行均值計算、標準差計算、置信區(qū)間計算,求得置信區(qū)間的上下限,得到統(tǒng)計閾值;
(33)確定當(dāng)前置信區(qū)間的上限為告警風(fēng)暴的閾值,確定當(dāng)前置信區(qū)間的下限為解除告警風(fēng)暴的閾值。
優(yōu)選的,所述步驟(4)中判斷告警消息類型后進一步的方法為:
如果告警消息類型為風(fēng)暴消息則生成風(fēng)暴預(yù)警消息,通知直通監(jiān)控窗口直接呈現(xiàn);如果告警消息類型為解除風(fēng)暴消息則生成解除風(fēng)暴預(yù)警消息,通知直通監(jiān)控窗口直接呈現(xiàn);如果告警消息類型為正常消息,則輸出到普通窗口中顯示。
優(yōu)選的,所述步驟(4)中的通知直通監(jiān)控窗口直接呈現(xiàn)的具體方法為:將風(fēng)暴預(yù)警消息和/或解除風(fēng)暴預(yù)警消息通知監(jiān)控客戶端,觸發(fā)監(jiān)控客戶端彈出直通監(jiān)控窗口,將風(fēng)暴預(yù)警消息和/或解除風(fēng)暴預(yù)警消息及發(fā)生風(fēng)暴的網(wǎng)元模型信息在直通監(jiān)控窗口直接呈現(xiàn)。
優(yōu)選的,所述步驟(2)具體為:
(21)根據(jù)網(wǎng)元模型數(shù)據(jù)生成網(wǎng)元告警規(guī)則;
(22)獲取源告警信息并執(zhí)行所述網(wǎng)元告警規(guī)則,得到適配的網(wǎng)元告警消息;
(23)將適配的網(wǎng)元告警消息保存到網(wǎng)元告警數(shù)據(jù)緩沖區(qū)。
優(yōu)選的,所述的網(wǎng)元告警數(shù)據(jù)緩沖區(qū)是一個網(wǎng)元告警數(shù)據(jù)檢索鏈表。
優(yōu)選的,滑動時間窗口設(shè)為1或2小時,時間單位設(shè)為半分鐘或1分鐘。
根據(jù)本發(fā)明的另一個方面,本發(fā)明還提供了一種網(wǎng)絡(luò)設(shè)備告警消息風(fēng)暴的處理裝置,所述裝置包括如下模塊:
網(wǎng)元模型建立模塊,用于設(shè)定被監(jiān)控網(wǎng)元,建立網(wǎng)元模型。
告警規(guī)則引擎模塊,用于創(chuàng)建網(wǎng)元告警規(guī)則引擎,基于源告警信息實時生成適配規(guī)則的網(wǎng)元告警數(shù)據(jù);
統(tǒng)計和閾值生成模塊,取當(dāng)前滑動時間窗口中的網(wǎng)元告警數(shù)據(jù)實時統(tǒng)計網(wǎng)元告警數(shù)量,使用概率統(tǒng)計方法動態(tài)生成置信區(qū)間和閾值,所述的滑動時間窗口包括多個順序的時間單位;
判斷和預(yù)警模塊,根據(jù)告警數(shù)量和統(tǒng)計和閾值生成模塊生成的閾值判斷當(dāng)前滑動時間窗口后一條告警消息的類型,如果告警數(shù)量高于上限閾值則所述告警消息為風(fēng)暴消息并進行風(fēng)暴預(yù)警,如果告警數(shù)量低于下限閾值則所述告警消息為解除風(fēng)暴消息并解除風(fēng)暴預(yù)警,否則為正常告警消息;
調(diào)整滑動時間窗口模塊,基于當(dāng)前滑動時間窗口向后滑動一個時間單位,形成下一個滑動時間窗口,轉(zhuǎn)到統(tǒng)計和閾值生成模塊。
優(yōu)選的,所述告警規(guī)則引擎模塊,包括規(guī)則生成模塊、規(guī)則執(zhí)行模塊、寫緩沖區(qū)模塊;
其中,規(guī)則生成模塊,根據(jù)網(wǎng)元模型數(shù)據(jù)生成網(wǎng)元告警規(guī)則;
規(guī)則執(zhí)行模塊,獲取源告警信息并執(zhí)行所述網(wǎng)元告警規(guī)則,得到適配的網(wǎng)元告警消息;
寫緩沖區(qū)模塊將所述適配的網(wǎng)元告警消息保存到網(wǎng)元告警數(shù)據(jù)緩沖區(qū)。
優(yōu)選的,統(tǒng)計和閾值生成模塊包括:
統(tǒng)計參數(shù)獲取模塊,根據(jù)告警規(guī)則引擎模塊獲得的網(wǎng)元告警數(shù)據(jù),計算當(dāng)前滑動時間窗口中的每個時間單位的網(wǎng)元告警數(shù)量,并作為統(tǒng)計參數(shù);
統(tǒng)計閾值計算模塊,將統(tǒng)計參數(shù)進行均值計算、標準差計算、置信區(qū)間計算,求得置信區(qū)間的上下限,得到統(tǒng)計閾值;
閾值確定模塊,確定當(dāng)前置信區(qū)間的上限為告警風(fēng)暴的閾值,確定當(dāng)前置信區(qū)間的下限為解除告警風(fēng)暴的閾值。
優(yōu)選的,所述的判斷和預(yù)警模塊還具有如下功能:
如果告警消息類型為風(fēng)暴消息則生成風(fēng)暴預(yù)警消息,通知直通監(jiān)控窗口直接呈現(xiàn);如果告警消息類型為解除風(fēng)暴消息則生成解除風(fēng)暴預(yù)警消息,通知直通監(jiān)控窗口直接呈現(xiàn);如果告警消息類型為正常消息,則輸出到普通窗口中顯示。
優(yōu)選的,所述的網(wǎng)元告警數(shù)據(jù)緩沖區(qū)是一個網(wǎng)元告警數(shù)據(jù)檢索鏈表。
本發(fā)明具有如下特點及優(yōu)勢:
(1)采用規(guī)則引擎,來適配各類網(wǎng)元的告警消息,使每個網(wǎng)元告警都可以有效監(jiān)控。
(2)采用概率統(tǒng)計算法對告警消息量做統(tǒng)計和分析,計算單位時間內(nèi)某個網(wǎng)元的消息量,自動生成其預(yù)警閾值。并采用移動窗口,自動更改所生成的閾值。
(3)在保證告警數(shù)據(jù)的完整性和及時性的基礎(chǔ)上實現(xiàn)了自動地、及時地監(jiān)控和處理故障。
本方法及裝置能根據(jù)不同網(wǎng)元在不同時間段動態(tài)自動生成風(fēng)暴閾值,進一步地以滑動的觀察窗口方式產(chǎn)生某個時間段的相對閾值,很好地控制了當(dāng)前觀察窗口的告警風(fēng)暴的數(shù)量,因此,當(dāng)網(wǎng)絡(luò)設(shè)備發(fā)生告警消息風(fēng)暴時,可以降低故障管理系統(tǒng)的數(shù)據(jù)處理壓力。
上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點能夠更明顯易懂,以下特舉本發(fā)明的具體實施方式。
附圖說明
通過閱讀下文優(yōu)選實施方式的詳細描述,各種其他的優(yōu)點和益處對于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實施方式的目的,而并不認為是對本發(fā)明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:
圖1為本發(fā)明優(yōu)選實施例一的一種基于概率統(tǒng)計的網(wǎng)絡(luò)設(shè)備告警消息風(fēng)暴的處理方法流程圖。
圖2為網(wǎng)元的數(shù)據(jù)結(jié)構(gòu)示意圖。
圖3為本發(fā)明優(yōu)選實施例的統(tǒng)計閾值計算的流程圖。
圖4為本發(fā)明優(yōu)選實施例的風(fēng)暴告警時直通窗口呈現(xiàn)效果圖。
圖5為本發(fā)明優(yōu)選實施例的風(fēng)暴預(yù)警解除時直通窗口呈現(xiàn)的效果圖。
圖6為本發(fā)明的告警消息正文示意圖。
圖7為當(dāng)收到實時的新告警消息時解析具體的告警正文結(jié)果圖。
圖8為本發(fā)明優(yōu)選實施例的一種基于概率統(tǒng)計的網(wǎng)絡(luò)設(shè)備告警消息風(fēng)暴的處理裝置的模塊圖。
圖9為本發(fā)明優(yōu)選實施例的統(tǒng)計閾值計算模塊的結(jié)構(gòu)示意圖。
具體實施方式
下面將參照附圖更詳細地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應(yīng)當(dāng)理解,可以以各種形式實現(xiàn)本公開而不應(yīng)被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達給本領(lǐng)域的技術(shù)人員。
首先,本發(fā)明中使用了如下所述的技術(shù)手段,以下對本發(fā)明中出現(xiàn)的基礎(chǔ)數(shù)理概念做出簡介,而在后續(xù)的具體實施例中不再贅述:
本發(fā)明采用均值、標準差、置信區(qū)間等概率論與數(shù)理統(tǒng)計的工具,實現(xiàn)了消息風(fēng)暴發(fā)生閾值/告警風(fēng)暴解除閾值的自動計算、動態(tài)生成。
均值(Expected Mean),又叫期望、平均數(shù),表示樣本統(tǒng)計量的集中趨勢的程度,是指在一組數(shù)據(jù)中所有數(shù)據(jù)之和,再除以這組數(shù)據(jù)的個數(shù)。均值是反映數(shù)據(jù)集中趨勢的一項指標。
標準差(Standard Deviation),作為統(tǒng)計的分布程度的測量,是每個個體的測量值與總體均值之差的平方和的算術(shù)平方根,反映了總體內(nèi)個體的偏離程度。
置信區(qū)間(Confidence interval),是指由樣本統(tǒng)計量所構(gòu)造的總體參數(shù)的區(qū)間估計,展現(xiàn)了總體參數(shù)的真實值,有多大概率落在測量結(jié)果的周圍范圍的程度。
總體(Population),是指客觀存在的、在同一性質(zhì)基礎(chǔ)上結(jié)合起來的許多個別單位的整體,即研究對象的某項指標的取值的集合或全體。總體參數(shù)是指總體中對某變量的概括性描述,比如說總體的均值、標準差等。樣本(Sample)是從總體中抽出的一部分個體。本發(fā)明中,以所有的告警消息,作為總體;以一個滑動窗口(60分鐘為例)的告警消息作為樣本,計算其均值、標準差,來推斷總體的均值、標準差。
具體地,根據(jù)本發(fā)明的一個方面,如圖1所示,提供了一種基于概率統(tǒng)計的網(wǎng)絡(luò)設(shè)備告警消息風(fēng)暴的處理方法,所述方法包括如下步驟:
S101、設(shè)定被監(jiān)控網(wǎng)元,建立網(wǎng)元模型。
本發(fā)明以網(wǎng)元為監(jiān)控對象,因此,首先要建立網(wǎng)元模型,包括網(wǎng)元名稱、網(wǎng)元類型、網(wǎng)元id、采集點、設(shè)備廠家、所屬地市等資源信息,保存到配置文件。網(wǎng)元的數(shù)據(jù)結(jié)構(gòu)示例如圖2所示。
S102、創(chuàng)建網(wǎng)元告警規(guī)則引擎,基于源告警信息實時生成適配規(guī)則的網(wǎng)元告警數(shù)據(jù)。
一般來說,源告警信息通過告警采集系統(tǒng)得到。
由于源告警信息中包含了大量的各種各樣的告警信息,為了迅速找出S101所設(shè)定的網(wǎng)元的告警信息,過濾掉其他非關(guān)注信息,利用規(guī)則匹配的方法是快捷的。因此要創(chuàng)建規(guī)則引擎,用于建立網(wǎng)元告警規(guī)則,通過正則表達式選擇出相關(guān)網(wǎng)元的告警,這包括網(wǎng)元告警規(guī)則的生成與規(guī)則執(zhí)行兩部分。
S103、取當(dāng)前滑動時間窗口中的網(wǎng)元告警數(shù)據(jù)實時統(tǒng)計網(wǎng)元告警數(shù)量,使用概率統(tǒng)計方法動態(tài)生成置信區(qū)間和閾值,所述的滑動時間窗口包括多個順序的時間單位。
滑動時間窗口是指按時間順序取的觀察窗口,再滑動一個時間單位再次形成下一個滑動時間窗口。例如,步驟S102獲取了100分鐘的告警數(shù)據(jù),那么取第1分鐘-第60分鐘為第一個滑動時間窗口,然后取第2分鐘-第61分鐘為第二個滑動時間窗口,以此類推?;瑒訒r間窗口可以根據(jù)實際需要設(shè)定,如設(shè)為60分鐘,時間單位設(shè)為1分鐘。
本步驟使用概率統(tǒng)計方法每次動態(tài)生成當(dāng)前滑動時間窗口內(nèi)的告警數(shù)據(jù)的置信區(qū)間和閾值,隨著滑動時間窗口的移動,每次生成的置信區(qū)間和閾值有所不同。
S104、根據(jù)所述告警數(shù)量和閾值判斷當(dāng)前滑動時間窗口后一條告警消息的類型,如果告警數(shù)量高于上限閾值則所述告警消息為風(fēng)暴消息并進行風(fēng)暴預(yù)警,如果告警數(shù)量低于下限閾值則所述告警消息為解除風(fēng)暴消息并解除風(fēng)暴預(yù)警,否則為正常告警消息。
當(dāng)?shù)?分鐘-第60分鐘的滑動時間窗口中告警數(shù)量的上下限閾值計算出來之后,此步驟判斷第61分鐘的告警消息類型,進行風(fēng)暴預(yù)警,或者解除風(fēng)暴預(yù)警,或者不預(yù)警。
S105、基于當(dāng)前滑動時間窗口向后滑動一個時間單位,進入下一個滑動時間窗口,轉(zhuǎn)到上述步驟S103。
此方法技術(shù)方案實現(xiàn)了實時生成消息風(fēng)暴的產(chǎn)生和解除的閾值,采用滑動窗口動態(tài)計算,解決了不同網(wǎng)元對于消息風(fēng)暴產(chǎn)生不同閾值、分別動態(tài)生成閾值的問題。
以下具體說明使用概率統(tǒng)計方法動態(tài)生成置信區(qū)間和閾值的過程:
步驟S1031、根據(jù)上述步驟S102獲取的網(wǎng)元告警數(shù)據(jù),計算當(dāng)前滑動時間窗口中的每個時間單位的網(wǎng)元告警數(shù)量,并作為統(tǒng)計參數(shù);
在本實施例中,將滑動時間窗口設(shè)為1小時,將當(dāng)前窗口即最近的一個小時中某個網(wǎng)元的告警消息作為總體,統(tǒng)計每分鐘的消息量,即總體中包含60個統(tǒng)計參數(shù),N=60。在下一分鐘到來后,在時間軸上,將60個統(tǒng)計參數(shù),整體平移1分鐘,向右滑動一個窗口,丟棄前面第1分鐘的統(tǒng)計值。如此,始終保持最近60分鐘的消息量,作為總體。
步驟S1032、將統(tǒng)計參數(shù)進行均值計算、標準差計算、置信區(qū)間計算,求得置信區(qū)間的上下限,得到統(tǒng)計閾值;
如圖3所示,統(tǒng)計閾值計算包括如下三個子步驟:
S10321、均值計算
均值,是把總體中所有的觀測值求和,除以總體中觀察值的個數(shù)。計算公式為:
其中Xi是第i分鐘的告警消息總數(shù)。
以網(wǎng)元CDHSS1為例,最近1小時里,每分鐘的告警消息數(shù)(60個測量值)的均值為200個。
S10322、標準差計算
實驗結(jié)果在期望值附近的分散程度,由標準差來衡量。
其中μ為總體平均值,N為總體中的觀測值的個數(shù)。
以網(wǎng)元CDHSS1為例,最近1小時里,每分鐘的告警消息數(shù)的標準差為103。
S10323、置信區(qū)間計算與閾值生成
根據(jù)數(shù)理統(tǒng)計,當(dāng)總體方差已知時,采用z標準正態(tài)分布,來構(gòu)建總體均值的置信區(qū)間??傮w均值μ的(1-α)置信區(qū)間是:
其中α表示顯著性水平,是估計總體參數(shù)落在某一區(qū)間內(nèi),可能犯錯誤的概率。此發(fā)明中,設(shè)定α=5%,即以95%(1-5%)作為置信度。查標準正態(tài)分布表,Z0.05/2=1.96。
置信區(qū)間的下限為:
置信區(qū)間的上限為:
也就是說,有95%的置信度,每分鐘的告警消息量,應(yīng)該在(172,233)的區(qū)間范圍內(nèi)。
步驟S1033、確定當(dāng)前置信區(qū)間的上限為告警風(fēng)暴的閾值,確定當(dāng)前置信區(qū)間的下限為解除告警風(fēng)暴的閾值。
將置信區(qū)間上限233,作為告警風(fēng)暴的閾值。如果最近1分鐘的消息量超過前60分鐘的平均值233,那么認為發(fā)生了告警風(fēng)暴。將置信區(qū)間下限172,作為解除告警風(fēng)暴的閾值。如果消息量小于172,則認為告警風(fēng)暴已經(jīng)解除。
然后,總體統(tǒng)計值的時間窗口,整體平移1分鐘,加入新近1分鐘的消息量,去掉前面第1分鐘的消息量,重新計算出總體的新的均值和標準差,生成下1分鐘的消息量的置信區(qū)間。
當(dāng)判斷出有告警風(fēng)暴時,為了迅速觀察到告警風(fēng)暴的情況,通過下述進一步方法給運營維護人員直觀的通知。
如果告警消息類型為風(fēng)暴消息則生成風(fēng)暴預(yù)警消息,通知直通監(jiān)控窗口直接呈現(xiàn);如果告警消息類型為解除風(fēng)暴消息則生成解除風(fēng)暴預(yù)警消息,通知直通監(jiān)控窗口直接呈現(xiàn);如果告警消息類型為正常消息,則輸出到普通窗口中顯示。
如圖4所示,當(dāng)告警數(shù)據(jù)累加最近1分鐘的告警消息個數(shù)達到240,即超過風(fēng)暴閾值上限233,為本實施例的風(fēng)暴告警時直通窗口呈現(xiàn)效果圖,可見,由該效果圖可以直觀的顯示風(fēng)暴消息,從而解決了由于經(jīng)過其他環(huán)節(jié)繁瑣處理導(dǎo)致消息延遲、大量無用消息在監(jiān)控臺呈現(xiàn)、正常消息無法正常監(jiān)控、大量占用系統(tǒng)資源的問題。
風(fēng)暴數(shù)量小于置信區(qū)間的下限時,則清除掉此網(wǎng)元的風(fēng)暴預(yù)警,通知直通窗口,并自動解除該網(wǎng)元消息的正常解析。如圖5所述,為風(fēng)暴預(yù)警解除時直通窗口呈現(xiàn)的效果圖。
正常告警消息時啟動普通監(jiān)控窗口。該狀態(tài)是平時當(dāng)告警消息風(fēng)暴沒有出現(xiàn)時的普通狀態(tài),對正常消息保持著普通監(jiān)控即可。
進一步地,通知直通監(jiān)控窗口直接呈現(xiàn)的具體方法為:將預(yù)警消息通知監(jiān)控客戶端,觸發(fā)監(jiān)控客戶端彈出直通監(jiān)控窗口,將風(fēng)暴預(yù)警消息和/或解除風(fēng)暴預(yù)警消息及發(fā)生風(fēng)暴的網(wǎng)元模型信息在直通監(jiān)控窗口直接呈現(xiàn)。
本發(fā)明實施例通過觸發(fā)監(jiān)控客戶端自動彈出風(fēng)暴監(jiān)控直通窗口,能夠及時發(fā)送告警風(fēng)暴預(yù)警通知,自動彈出的監(jiān)控窗口,將消息完整上送,通知監(jiān)控臺。由于繞過其他處理環(huán)節(jié),保證了故障的及時監(jiān)控,從而及時提示使用者處理故障。
所述創(chuàng)建網(wǎng)元告警規(guī)則引擎,基于源告警信息實時生成適配規(guī)則的網(wǎng)元告警數(shù)據(jù)的方法,可以分三步實現(xiàn),舉例:
S1021、根據(jù)網(wǎng)元模型數(shù)據(jù)生成網(wǎng)元告警規(guī)則;
根據(jù)網(wǎng)元模型信息,生成匹配網(wǎng)元的正則表達式描述為如下形式,可以保存到網(wǎng)元適配文件中:
extract_pattern=$userlabel"網(wǎng)元名稱\s*=\s*([^\n]+)\n"
extract_pattern=$object_class"網(wǎng)元類型\s*=\s*(\S+)\s*\n"
extract_pattern=$ne_mark"網(wǎng)元標識\s*=\s*([^\n]+)\n"
所述的正則表達式將相關(guān)網(wǎng)元的告警關(guān)鍵信息(比如網(wǎng)元名稱、網(wǎng)元類型、告警發(fā)生時間等),抽象成模式匹配規(guī)則。
S1022、獲取源告警信息并執(zhí)行所述網(wǎng)元告警規(guī)則,得到適配的網(wǎng)元告警消息;
執(zhí)行S1021建立的網(wǎng)元告警規(guī)則引擎,實時地獲取源告警信息并處理,如圖6收到實時的新告警消息,從新告警信息找出與規(guī)則適配的相關(guān)網(wǎng)元告警信息,圖7是告警正文解析的結(jié)果。
S1023、將適配的網(wǎng)元告警消息保存到網(wǎng)元告警數(shù)據(jù)緩沖區(qū)。
將每一個單位時間的網(wǎng)元告警信息按時間順序?qū)懭刖W(wǎng)元告警緩存區(qū)。
例如存入網(wǎng)元數(shù)據(jù)檢索鏈表,包括網(wǎng)元模型信息和網(wǎng)元相關(guān)告警信息。這是一個靈活的便于在尾部增加數(shù)據(jù),在頭部去掉數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu),對于本實施例的實現(xiàn)效果突出,方便快捷。
根據(jù)本發(fā)明的另一個方面如圖8所示,還提供了一種基于概率統(tǒng)計的網(wǎng)絡(luò)設(shè)備告警消息風(fēng)暴的處理裝置,所述裝置包括如下模塊:
網(wǎng)元模型建立模塊M101,用于設(shè)定被監(jiān)控網(wǎng)元,建立網(wǎng)元模型。
在這個模塊中,以網(wǎng)元為監(jiān)控對象建立網(wǎng)元模型,建立網(wǎng)元的數(shù)學(xué)結(jié)構(gòu),保存各類網(wǎng)元的屬性,包括網(wǎng)元名稱、采集點、設(shè)備廠家、所屬地市等資源信息??梢员4娴脚渲梦募?。網(wǎng)元的數(shù)據(jù)結(jié)構(gòu)示例如圖2所示。
告警規(guī)則引擎模塊M102,用于創(chuàng)建網(wǎng)元告警規(guī)則引擎,基于源告警信息實時獲取適配規(guī)則的網(wǎng)元告警數(shù)據(jù)。
由于源告警信息中包含了大量的各種各樣的告警信息,為了迅速找出S101所設(shè)定的網(wǎng)元的告警信息,過濾掉其他非關(guān)注信息,利用規(guī)則匹配的方法是快捷的。因此要創(chuàng)建規(guī)則引擎,用于建立網(wǎng)元告警規(guī)則并選擇出相關(guān)網(wǎng)元的告警,這包括網(wǎng)元告警規(guī)則的生成與規(guī)則執(zhí)行兩部分。
統(tǒng)計和閾值生成模塊M103,取當(dāng)前滑動時間窗口中的網(wǎng)元告警數(shù)據(jù)實時統(tǒng)計網(wǎng)元告警數(shù)量,使用概率統(tǒng)計方法動態(tài)生成置信區(qū)間和閾值,所述的滑動時間窗口包括多個順序的時間單位。
滑動時間窗口是指按時間順序取的觀察窗口,再滑動一個時間單位再次形成下一個滑動時間窗口。例如,步驟S102獲取了100分鐘的告警數(shù)據(jù),那么取第1分鐘-第60分鐘為第一個滑動時間窗口,然后取第2分鐘-第61分鐘為第二個滑動時間窗口,以此類推。滑動時間窗口可以根據(jù)實際需要設(shè)定,如設(shè)為60分鐘,時間單位設(shè)為1分鐘。
本模塊使用概率統(tǒng)計方法每次動態(tài)生成當(dāng)前滑動時間窗口內(nèi)的告警數(shù)據(jù)的置信區(qū)間和閾值,隨著滑動時間窗口的移動,每次生成的置信區(qū)間和閾值有所不同。
判斷和預(yù)警模塊M104,根據(jù)統(tǒng)計和閾值生成模塊生成的閾值判斷當(dāng)前滑動時間窗口后一條告警消息的類型,如果高于上限閾值為風(fēng)暴消息則進行風(fēng)暴預(yù)警,如果低于下限閾值為解除風(fēng)暴消息則解除風(fēng)暴預(yù)警,否則為正常告警消息。
當(dāng)?shù)?分鐘-第60分鐘的滑動時間窗口中告警數(shù)量的上下限閾值計算出來之后,此步驟判斷第61分鐘的告警消息類型,進行風(fēng)暴預(yù)警,或者解除風(fēng)暴預(yù)警,或者不預(yù)警。
調(diào)整滑動時間窗口模塊M105,基于當(dāng)前滑動時間窗口向后滑動一個時間單位,形成下一個滑動時間窗口,轉(zhuǎn)到統(tǒng)計和閾值生成模塊。
此裝置方案實現(xiàn)了實時生成消息風(fēng)暴的產(chǎn)生和解除的閾值,采用滑動窗口動態(tài)計算,解決了不同網(wǎng)元對于消息風(fēng)暴產(chǎn)生不同閾值、分別動態(tài)生成閾值的問題。
所述告警規(guī)則引擎模塊M102具體可以包括規(guī)則生成模塊、規(guī)則執(zhí)行模塊、寫緩沖區(qū)模塊;其中,規(guī)則生成模塊,根據(jù)網(wǎng)元模型數(shù)據(jù)生成網(wǎng)元告警規(guī)則;
根據(jù)網(wǎng)元模型信息,生成匹配網(wǎng)元的正則表達式描述為如下形式,保存到網(wǎng)元適配文件中:
extract_pattern=$userlabel"網(wǎng)元名稱\s*=\s*([^\n]+)\n"
extract_pattern=$object_class"網(wǎng)元類型\s*=\s*(\S+)\s*\n"
extract_pattern=$ne_mark"網(wǎng)元標識\s*=\s*([^\n]+)\n"
所述的正則表達式將相關(guān)網(wǎng)元的告警關(guān)鍵信息(比如網(wǎng)元名稱、網(wǎng)元類型、告警發(fā)生時間等),抽象成模式匹配規(guī)則。
規(guī)則執(zhí)行模塊,獲取源告警信息并執(zhí)行規(guī)則生成模塊生成的網(wǎng)元告警規(guī)則,得到適配的網(wǎng)元告警消息;如圖6收到實時的新告警消息,從新告警信息找出與規(guī)則適配的相關(guān)網(wǎng)元告警信息,圖7是告警正文解析的結(jié)果。
寫緩沖區(qū)模塊將所述適配的網(wǎng)元告警消息保存到網(wǎng)元告警數(shù)據(jù)緩沖區(qū)。
將每一個單位時間的網(wǎng)元告警信息按時間順序?qū)懭刖W(wǎng)元告警緩存區(qū)。
例如存入網(wǎng)元數(shù)據(jù)檢索鏈表,包括網(wǎng)元模型信息和網(wǎng)元相關(guān)告警信息。這是一個靈活的便于在尾部增加數(shù)據(jù),在頭部去掉數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu),對于本實施例的實現(xiàn)效果突出,方便快捷。
統(tǒng)計和閾值生成模塊M103具體可以包括:統(tǒng)計參數(shù)獲取模塊,根據(jù)告警規(guī)則引擎模塊獲得的網(wǎng)元告警數(shù)據(jù),計算當(dāng)前滑動時間窗口中的每個時間單位的網(wǎng)元告警數(shù)量,并作為統(tǒng)計參數(shù);統(tǒng)計閾值計算模塊,將統(tǒng)計參數(shù)進行均值計算、標準差計算、置信區(qū)間計算,求得置信區(qū)間的上下限,得到統(tǒng)計閾值;閾值確定模塊,確定當(dāng)前置信區(qū)間的上限為告警風(fēng)暴的閾值,確定當(dāng)前置信區(qū)間的下限為解除告警風(fēng)暴的閾值。
在本實施例中,將滑動時間窗口設(shè)為1小時,將當(dāng)前窗口即最近的一個小時中某個網(wǎng)元的告警消息作為總體,統(tǒng)計每分鐘的消息量,即總體中包含60個統(tǒng)計參數(shù),N=60。在下一分鐘到來后,在時間軸上,將60個統(tǒng)計參數(shù),整體平移1分鐘,向右滑動一個窗口,丟棄前面第1分鐘的統(tǒng)計值。如此,始終保持最近60分鐘的消息量,作為總體。
具體地,如圖9所示,上述統(tǒng)計閾值計算模塊包括如下三個單元:
均值計算單元231、標準差計算單元232、置信區(qū)間判斷單元233。
均值,是把總體中所有的觀測值求和,除以總體中觀察值的個數(shù)。計算公式為:
其中Xi是第i分鐘的告警消息總數(shù)。
以網(wǎng)元CDHSS1為例,最近1小時里,每分鐘的告警消息數(shù)(60個測量值)的均值為200個。
實驗結(jié)果在期望值附近的分散程度,由標準差來衡量。
其中μ為總體平均值,N為總體中的觀測值的個數(shù)。
以網(wǎng)元CDHSS1為例,最近1小時里,每分鐘的告警消息數(shù)的標準差為103。
根據(jù)數(shù)理統(tǒng)計,當(dāng)總體方差已知時,采用z標準正態(tài)分布,來構(gòu)建總體均值的置信區(qū)間??傮w均值μ的(1-α)置信區(qū)間是:
其中α表示顯著性水平,是估計總體參數(shù)落在某一區(qū)間內(nèi),可能犯錯誤的概率。此發(fā)明中,設(shè)定α=5%,即以95%(1-5%)作為置信度。查標準正態(tài)分布表,Z0.05/2=1.96。
置信區(qū)間的下限為:
置信區(qū)間的上限為:
也就是說,有95%的置信度,每分鐘的告警消息量,應(yīng)該在(172,233)的區(qū)間范圍內(nèi)。將置信區(qū)間上限233,作為告警風(fēng)暴的閾值。如果最近1分鐘的消息量超過前60分鐘的平均值233,那么認為發(fā)生了告警風(fēng)暴。將置信區(qū)間下限172,作為解除告警風(fēng)暴的閾值。如果消息量小于172,則認為告警風(fēng)暴已經(jīng)解除。
然后,總體統(tǒng)計值的時間窗口,整體平移1分鐘,加入新近1分鐘的消息量,去掉前面第1分鐘的消息量,重新計算出總體的新的均值和標準差,生成下1分鐘的消息量的置信區(qū)間。
判斷和預(yù)警模塊M104,還包括:如果告警消息類型為風(fēng)暴消息則生成風(fēng)暴預(yù)警消息,通知直通監(jiān)控窗口直接呈現(xiàn);如果告警消息類型為解除風(fēng)暴消息則生成解除風(fēng)暴預(yù)警消息,通知直通監(jiān)控窗口直接呈現(xiàn);如果告警消息類型為正常消息,則輸出到普通窗口中顯示。。
如圖4所示,當(dāng)告警采集累加最近1分鐘的告警消息個數(shù)達到240,即超過風(fēng)暴閾值上限233,為本實施例的風(fēng)暴告警時直通窗口呈現(xiàn)效果圖,可見,由該效果圖可以直觀的顯示風(fēng)暴消息,從而解決了由于經(jīng)過其他環(huán)節(jié)繁瑣處理導(dǎo)致消息延遲、大量無用消息在監(jiān)控臺呈現(xiàn)、正常消息無法正常監(jiān)控、大量占用系統(tǒng)資源的問題。
風(fēng)暴數(shù)量小于置信區(qū)間的下限時,則清除掉此網(wǎng)元的風(fēng)暴預(yù)警,通知直通窗口,并自動解除該網(wǎng)元消息的正常解析。如圖5所述,為風(fēng)暴預(yù)警解除時直通窗口呈現(xiàn)的效果圖。
正常告警消息時啟動普通監(jiān)控窗口。該狀態(tài)是平時當(dāng)告警消息風(fēng)暴沒有出現(xiàn)時的普通狀態(tài),對正常消息保持著普通監(jiān)控即可。
進一步地,通知直通監(jiān)控窗口直接呈現(xiàn)具體為:將預(yù)警消息通知監(jiān)控客戶端,觸發(fā)監(jiān)控客戶端彈出直通監(jiān)控窗口,將風(fēng)暴預(yù)警消息和/或解除風(fēng)暴預(yù)警消息及發(fā)生風(fēng)暴的網(wǎng)元模型信息在直通監(jiān)控窗口直接呈現(xiàn)。
本發(fā)明實施例通過觸發(fā)監(jiān)控客戶端自動彈出風(fēng)暴監(jiān)控直通窗口,能夠及時發(fā)送告警風(fēng)暴預(yù)警通知,自動彈出的監(jiān)控窗口,將消息完整上送,通知監(jiān)控臺。由于繞過其他處理環(huán)節(jié),保證了故障的及時監(jiān)控,從而及時提示使用者處理故障。
根據(jù)本發(fā)明的又一個方面,優(yōu)選地,消息風(fēng)暴除提供了上述觸發(fā)直通窗口呈現(xiàn)的必選方案外還提供其他兩種備選處理方案。
(1)將消息報文存儲成文件,待后續(xù)處理。
消息風(fēng)暴發(fā)生時,故障管理系統(tǒng)數(shù)據(jù)壓力過大,達到處理瓶頸,將消息報文寫入到文件中,待風(fēng)暴解除后,消息閾值低于閾值時,程序再處理文件中消息報文,從而保證了數(shù)據(jù)的完整性。
(2)將消息補充屬性后存儲到數(shù)據(jù)庫。
發(fā)生風(fēng)暴時,風(fēng)暴預(yù)警消息通過直通窗口呈現(xiàn),未補充資源屬性。待風(fēng)暴解除后,系統(tǒng)自動加載風(fēng)暴期間的消息數(shù)據(jù),進行解析,補充屬性,標準化處理,入庫保存。
綜合本發(fā)明的具體實施方式可以看出,本發(fā)明解決在保證數(shù)據(jù)完整型、準確性、有效性的基礎(chǔ)上,解決了消息風(fēng)暴發(fā)生時出現(xiàn)的如下問題:
1、大量無意義消息出現(xiàn)在監(jiān)控臺上,影響了監(jiān)控人員對正常告警的監(jiān)控。
2、對大量消息的處理,占用了大量系統(tǒng)資源、消耗了大量CPU時間,增加故障監(jiān)控系統(tǒng)負荷,甚至造成系統(tǒng)癱瘓。
3、對大量無意義消息的處理造成了消息處理內(nèi)存溢出、消息延遲,告警無法監(jiān)控到,從而無法處理。
4、由于采集缺少對告警風(fēng)暴進行一定的預(yù)測與風(fēng)暴告警歸并的機制,遇到告警風(fēng)暴時,整個故障系統(tǒng)處于被動狀態(tài)。
需要說明的是:
在此提供的算法和顯示不與任何特定計算機、虛擬裝置或者其它設(shè)備固有相關(guān)。各種通用裝置也可以與基于在此的示教一起使用。根據(jù)上面的描述,構(gòu)造這類裝置所要求的結(jié)構(gòu)是顯而易見的。此外,本發(fā)明也不針對任何特定編程語言。應(yīng)當(dāng)明白,可以利用各種編程語言實現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對特定語言所做的描述是為了披露本發(fā)明的最佳實施方式。
在此處所提供的說明書中,說明了大量具體細節(jié)。然而,能夠理解,本發(fā)明的實施例可以在沒有這些具體細節(jié)的情況下實踐。在一些實例中,并未詳細示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對本說明書的理解。
類似地,應(yīng)當(dāng)理解,為了精簡本公開并幫助理解各個發(fā)明方面中的一個或多個,在上面對本發(fā)明的示例性實施例的描述中,本發(fā)明的各個特征有時被一起分組到單個實施例、圖、或者對其的描述中。然而,并不應(yīng)將該公開的方法解釋成反映如下意圖:即所要求保護的本發(fā)明要求比在每個權(quán)利要求中所明確記載的特征更多的特征。更確切地說,如下面的權(quán)利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個實施例的所有特征。因此,遵循具體實施方式的權(quán)利要求書由此明確地并入該具體實施方式,其中每個權(quán)利要求本身都作為本發(fā)明的單獨實施例。
本領(lǐng)域那些技術(shù)人員可以理解,可以對實施例中的設(shè)備中的模塊進行自適應(yīng)性地改變并且把它們設(shè)置在與該實施例不同的一個或多個設(shè)備中。可以把實施例中的模塊或單元或組件組合成一個模塊或單元或組件,以及此外可以把它們分成多個子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設(shè)備的所有過程或單元進行組合。除非另外明確陳述,本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的每個特征可以由提供相同、等同或相似目的的替代特征來代替。
此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實施例包括其它實施例中所包括的某些特征而不是其它特征,但是不同實施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實施例。例如,在下面的權(quán)利要求書中,所要求保護的實施例的任意之一都可以以任意的組合方式來使用。
本發(fā)明的各個部件實施例可以以硬件實現(xiàn),或者以在一個或者多個處理器上運行的軟件模塊實現(xiàn),或者以它們的組合實現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實踐中使用微處理器或者數(shù)字信號處理器(DSP)來實現(xiàn)根據(jù)本發(fā)明實施例的虛擬機的創(chuàng)建裝置中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計算機程序和計算機程序產(chǎn)品)。這樣的實現(xiàn)本發(fā)明的程序可以存儲在計算機可讀介質(zhì)上,或者可以具有一個或者多個信號的形式。這樣的信號可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。
應(yīng)該注意的是上述實施例對本發(fā)明進行說明而不是對本發(fā)明進行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計出替換實施例。在權(quán)利要求中,不應(yīng)將位于括號之間的任何參考符號構(gòu)造成對權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個”不排除存在多個這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計算機來實現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個可以是通過同一個硬件項來具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱。
顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若對本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其同等技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。