本發(fā)明涉及大數(shù)據(jù)分析領域,特別涉及一種監(jiān)測告警方法及系統(tǒng)。
背景技術:
隨之科技的進步,大數(shù)據(jù)分析被應用到各個領域,大規(guī)模的監(jiān)測系統(tǒng)也適用于大數(shù)據(jù)分析領域。
spark是由加州伯克利大學amp實驗室開發(fā)的分布式并行計算框架,主要特點是彈性分布式數(shù)據(jù)集,中間輸出結果可以保存在內存中,節(jié)省了大量的磁盤i/o操作。除此之外還支持多次迭代計算,特別適合流計算和圖計算。
傳統(tǒng)的監(jiān)控告警方案一般是使用ganglia+nagios,收集系統(tǒng)和網(wǎng)絡的各種數(shù)據(jù)日志,加以分析,上報故障警告。但是此種傳統(tǒng)的監(jiān)控告警方式有許多弊端。首先監(jiān)控日志數(shù)據(jù)量非常大,但是能被運維人員利用到的只有一小部分,大部分數(shù)據(jù)占據(jù)存儲空間但沒有被利用。其次告警準確度和效率低下,通常告警需要工程師設置告警條件,但是條件的粒度很難把握,這樣的告警機制很死板,尤其是針對復雜的業(yè)務監(jiān)控,告警經(jīng)常漏報和誤報。最后傳統(tǒng)的運監(jiān)系統(tǒng)只能被動的提示故障,卻不能主動的規(guī)避故障,這往往讓用戶處在很被動的狀態(tài)。
因此,如何能夠在故障發(fā)生前進行告警,規(guī)避故障,成為了研究難點。
技術實現(xiàn)要素:
有鑒于此,本發(fā)明的目的在于提供一種監(jiān)測告警方法及系統(tǒng),在故障發(fā)生前提前告警,從而提醒用戶進行維護和關注,進而避免故障的發(fā)生或擴大。其具體方案如下:
一種監(jiān)測告警方法,包括:
獲取監(jiān)測數(shù)據(jù);
利用監(jiān)測模型分析所述監(jiān)測數(shù)據(jù),得到分析結果;
判斷所述分析結果是否滿足預設條件;
如果滿足,則進行告警;
其中,所述監(jiān)測模型為基于spark框架,利用歷史監(jiān)測數(shù)據(jù),得到故障發(fā)生概率與所述歷史監(jiān)測數(shù)據(jù)的第一對應關系,利用所述第一對應關系,得到所述監(jiān)測模型。
可選的,所述監(jiān)測數(shù)據(jù)包括監(jiān)測日志和運維人員的操作日志。
可選的,所述監(jiān)測模型創(chuàng)建過程,包括:
對所述歷史監(jiān)測數(shù)據(jù)逐條進行sql統(tǒng)計分析,并將具有聯(lián)系的數(shù)據(jù)建立關聯(lián),得到故障發(fā)生概率與所述歷史監(jiān)測數(shù)據(jù)的第一對應關系,利用所述第一對應關系,得到所述監(jiān)測模型。
可選的,所述監(jiān)測模型訓練過程,還包括:
對所述歷史監(jiān)測數(shù)據(jù)逐條進行sql統(tǒng)計分析,并將具有聯(lián)系的數(shù)據(jù)建立關聯(lián),得到故障與所述歷史監(jiān)測數(shù)據(jù)的第二對應關系,利用所述第二對應關系,得到所述監(jiān)測模型。
可選的,還包括:
接收用戶輸入的過濾列表;
停止對所述過濾列表中記錄的故障告警。
可選的,還包括:
利用歷史告警信息,分析出高頻告警列表;
按照預設頻率獲取與所述高頻告警列表中記錄的故障相應的目標監(jiān)測數(shù)據(jù)。
可選的,所述利用歷史告警信息,分析出高頻告警列表的過程,包括:
利用所述歷史告警信息的告警次數(shù)、告警位置和告警時間,分析出高頻告警信息;
接收用戶輸入的確定信息,并利用所述高頻告警信息,得到所述高頻告警列表。
本發(fā)明還公開了一種監(jiān)測告警系統(tǒng),包括:
獲取模塊,用于獲取監(jiān)測數(shù)據(jù);
分析模塊,用于利用監(jiān)測模型分析所述監(jiān)測數(shù)據(jù),得到分析結果;
判斷模塊,用于判斷所述分析結果是否滿足預設條件;
告警模塊,用于如果滿足,則進行告警;
其中,所述監(jiān)測模型為基于spark框架,利用歷史監(jiān)測數(shù)據(jù),得到故障發(fā)生概率與所述歷史監(jiān)測數(shù)據(jù)的第一對應關系,利用所述第一對應關系,得到所述監(jiān)測模型。
可選的,所述分析模塊,包括:
監(jiān)測模型創(chuàng)建單元,用于對所述歷史監(jiān)測數(shù)據(jù)逐條進行sql統(tǒng)計分析,并將具有聯(lián)系的數(shù)據(jù)建立關聯(lián),得到故障發(fā)生概率與所述歷史監(jiān)測數(shù)據(jù)的第一對應關系,利用所述第一對應關系,得到所述監(jiān)測模型。
可選的,還包括:
告警分析模塊,用于利用歷史告警信息,分析出高頻告警列表;
高頻數(shù)據(jù)獲取模塊,用于按照預設頻率獲取與所述高頻告警列表中記錄的故障相應的目標監(jiān)測數(shù)據(jù)。
本發(fā)明中,監(jiān)測告警方法,包括:獲取監(jiān)測數(shù)據(jù);利用監(jiān)測模型分析監(jiān)測數(shù)據(jù),得到分析結果;判斷分析結果是否滿足預設條件;如果滿足,則進行告警;其中,監(jiān)測模型為基于spark框架,利用歷史監(jiān)測數(shù)據(jù),得到故障發(fā)生概率與歷史監(jiān)測數(shù)據(jù)的第一對應關系,利用第一對應關系,得到監(jiān)測模型。本發(fā)明獲取監(jiān)測對象的監(jiān)測數(shù)據(jù),利用基于spark框架,利用歷史監(jiān)測數(shù)據(jù),得到故障發(fā)生概率與歷史監(jiān)測數(shù)據(jù)的對應關系,利用對應關系,制作而成的監(jiān)測模型對監(jiān)測數(shù)據(jù)進行分析,得到分析結果,在判斷分析結果是否滿足預設條件,決定是否告警,如果滿足預設條件,則告警,綜上所述,實現(xiàn)主動告警,即,在故障發(fā)生前,依據(jù)當前數(shù)據(jù)分析出可能發(fā)生的故障提前告警,從而提醒用戶進行維護和關注,進而避免故障的發(fā)生或擴大。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
圖1為本發(fā)明實施例公開的一種監(jiān)測告警方法流程示意圖;
圖2為本發(fā)明實施例公開的一種監(jiān)測告警系統(tǒng)結構示意圖。
具體實施方式
下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
本發(fā)明實施例公開了一種監(jiān)測告警方法,參見圖1所示,該方法包括:
步驟s11:獲取監(jiān)測數(shù)據(jù)。
可以理解的是,為能對監(jiān)測對象進行主動告警分析,可以詳細的獲取監(jiān)測對象的各種基礎數(shù)據(jù),并根據(jù)監(jiān)測對象的變更獲取相應的監(jiān)測數(shù)據(jù),例如,監(jiān)測對象可以為服務器,相應的獲取監(jiān)測數(shù)據(jù)也可以根據(jù)實際應用需求定時獲取監(jiān)測數(shù)據(jù),例如,每隔10分鐘獲取一次監(jiān)測對象的監(jiān)測數(shù)據(jù),當然,也可以實時獲取監(jiān)測對象的監(jiān)測數(shù)據(jù)。
步驟s12:利用監(jiān)測模型分析監(jiān)測數(shù)據(jù),得到分析結果。
具體的,監(jiān)測模型為預先建立好的模型,在監(jiān)測過程中可以直接調用,利用監(jiān)測模型分析監(jiān)測數(shù)據(jù),得到分析結果以用于后續(xù)告警操作。
其中,監(jiān)測模型為基于spark框架制作而成的,利用歷史監(jiān)測數(shù)據(jù),基于spark框架進行多次迭代計算,得到故障發(fā)生概率與歷史監(jiān)測數(shù)據(jù)的第一對應關系,利用第一對應關系,得到監(jiān)測模型。
可以理解的是,監(jiān)測模型在分析當前監(jiān)測數(shù)據(jù)時的過程與訓練時的過程相同,對監(jiān)測模型進行何種訓練,在分析過程中便進行何種分析;可以利用gnglia獲取監(jiān)測數(shù)據(jù)。
需要說明的是,監(jiān)測模型可以不斷地利用接收到的監(jiān)測數(shù)據(jù)進行學習和更新,從而不斷地增加告警的效率和準確度。
步驟s13:判斷分析結果是否滿足預設條件。
具體的,可以利用分析結果中利用監(jiān)測數(shù)據(jù)分析出的故障發(fā)生概率判斷是否滿足預設概率,如果一項故障發(fā)生概率超過預設概率,則判定滿足預設條件,例如,故障發(fā)生概率為50%,預設概率即預設條件為40%,則當前故障發(fā)生概率超過預設條件,判定滿足預設條件,當然,如果故障發(fā)生概率不滿足預設條件則不進行操作。
可以理解的是,由于分析結果中包括多種故障的故障發(fā)生概率,因此相應的預設條件也可以與故障一一對應,即,用戶可以對每個故障判斷是否告警的預設條件分別設定,例如,共有第一故障、第二故障和第三故障,用戶可以分別對第一故障、第二故障和第三故障設定第一預設條件、第二預設條件和第三預設條件,其中,第一預設條件、第二預設條件和第三預設條件的設置可以不同。
步驟s14:如果滿足,則進行告警。
具體的,當分析結果中的故障發(fā)生概率滿足預設條件,則進行告警;其中,告警方式可以為蜂鳴告警或提示燈告警,也可以像用戶的移動終端發(fā)送提示信息進行告警,在此不對告警的形式做限定;可以利用nagios進行告警。
可見,本發(fā)明實施例中通過獲取監(jiān)測對象的監(jiān)測數(shù)據(jù),利用歷史監(jiān)測數(shù)據(jù),得到故障發(fā)生概率與歷史監(jiān)測數(shù)據(jù)的對應關系,利用對應關系并基于spark框架制作而成的監(jiān)測模型對監(jiān)測數(shù)據(jù)進行分析,得到分析結果,再判斷分析結果是否滿足預設條件,決定是否告警,如果滿足預設條件,則告警,綜上所述,實現(xiàn)了主動告警,即,在故障發(fā)生前,依據(jù)當前數(shù)據(jù)分析出可能發(fā)生的故障并提前告警,從而提醒用戶進行維護和關注,避免了故障的發(fā)生或擴大。
本發(fā)明實施例公開了一種具體的監(jiān)測告警方法,相對于上一實施例,本實施例對技術方案作了進一步的說明和優(yōu)化。具體的:
步驟s21:獲取監(jiān)測日志和運維人員的操作日志。
具體的,監(jiān)測數(shù)據(jù)可以為監(jiān)測日志和運維人員的操作日志,監(jiān)測日志中包括監(jiān)測對象的各種監(jiān)測數(shù)據(jù),操作日志中記載有運維人員進行的各種操作記錄,例如,維護記錄等。
步驟s22:利用監(jiān)測模型分析監(jiān)測數(shù)據(jù),得到分析結果。
其中,監(jiān)測模型可以通過對歷史監(jiān)測日志和歷史操作日志中的數(shù)據(jù)逐條進行sql(structuredquerylanguage,結構化查詢語言)統(tǒng)計分析,并將具有聯(lián)系的數(shù)據(jù)建立關聯(lián),得到故障發(fā)生概率與歷史監(jiān)測數(shù)據(jù)的對應關系,利用對應關系得到。
具體的,利用sql將歷史監(jiān)測日志和歷史操作日志進行數(shù)據(jù)庫化,按照數(shù)據(jù)的屬性進行分類,并且從中分析出關鍵數(shù)據(jù),建立具有聯(lián)系的數(shù)據(jù)之間的關聯(lián),結合歷史操作日志和歷史監(jiān)測日志可以分析出故障與監(jiān)測日志中的那些數(shù)據(jù)相關,以使根據(jù)一個引發(fā)故障的數(shù)據(jù)的變化,可以推算出另一個引發(fā)故障的數(shù)據(jù)的變化,從而實現(xiàn)對故障的預測。
例如,將歷史操作日志中的運維人員對故障的維護記錄中進行的操作,在同一時段和地點引起的歷史監(jiān)測日志中變化的監(jiān)測數(shù)據(jù)相關聯(lián),可以得知那些數(shù)據(jù)與故障相關,從而根據(jù)分析這些與故障相關的關鍵數(shù)據(jù),根據(jù)部分關鍵數(shù)據(jù)的變化可以推算出故障發(fā)生概率,得到故障發(fā)生概率與歷史監(jiān)測數(shù)據(jù)的對應關系。
可以理解的是,監(jiān)測模型在分析當前監(jiān)測日志和操作日志的過程,與訓練時進行的分析過程相同。
步驟s23:判斷分析結果是否滿足預設條件。
步驟s24:如果滿足,則進行告警。
本發(fā)明實施例中,上述監(jiān)測模型訓練過程,還可以包括對歷史監(jiān)測數(shù)據(jù)逐條進行sql統(tǒng)計分析,并將具有聯(lián)系的數(shù)據(jù)建立關聯(lián),得到故障與歷史監(jiān)測數(shù)據(jù)的第二對應關系,利用第二對應關系,得到監(jiān)測模型,通過訓練出監(jiān)測數(shù)據(jù)與故障的直接關系,為被動告警作出前提保證,被動告警即當故障發(fā)生時告警。
進一步的,可以對告警進行分類,將通過監(jiān)測數(shù)據(jù)可以直接分析出的告警劃分為基本告警,將需要通過多種監(jiān)測數(shù)據(jù)組合推算出的告警劃分為業(yè)務告警,因此,業(yè)務告警與基本告警存在一定的關系,即業(yè)務告警由一個或多個基本告警引起,業(yè)務告警與基本告警存在一定的繼承關系,這樣在告警時,通過區(qū)分基本告警和業(yè)務告警,可以使用戶更能直觀的分析出當前故障所在和故障的嚴重性。
在實際應用中,一些告警可能影響不大,例如,一些基本告警,且一些較大的故障可能會突然出現(xiàn)大量的告警,例如,一個業(yè)務告警級別的故障同時會引起大量基本告警級,過多的告警可能會影響用戶的判斷,因此,還可以接收用戶輸入的過濾列表;停止對過濾列表中記錄的故障告警,實現(xiàn)對告警的篩選。
需要說明的是,過濾列表可以只是不對表中的故障不進行告警,而監(jiān)測模型仍對過濾列表中的故障相應的監(jiān)測數(shù)據(jù)進行監(jiān)測和分析,當出現(xiàn)在過濾列表中的故障基礎上引發(fā)的故障發(fā)生概率過高或發(fā)生故障,需要告警時則仍然告警,確保能夠及時提醒用戶保證安全,提高用戶體驗。
例如,一個業(yè)務告警,包括3個基本告警,過濾列表屏蔽了該業(yè)務告警的3個基本告警,當3個基本告警對應的任一故障出現(xiàn),則不會產(chǎn)生與該故障對應的基本告警,但當3個基本告警對應的故障出現(xiàn),導致業(yè)務告警的發(fā)生幾率超過預設條件,則仍進行與業(yè)務告警相應的告警。
可以理解的是,一些故障可能常常頻繁出現(xiàn),通常的監(jiān)測數(shù)據(jù)獲取頻率可能無法及時監(jiān)測到此類故障,因此,可以對此類故障進行重點關注和監(jiān)控,具體可以包括步驟s25和步驟s26;
s25:利用歷史告警信息,分析出高頻告警列表。
具體的,可以利用歷史告警信息的告警次數(shù)、告警位置和告警時間,分析出高頻告警信息,再接收用戶輸入的確定信息,可以由用戶做出最終決定,判斷分析出的高頻告警信息,是否需要關注,并利用高頻告警信息,得到高頻告警列表。
s26:按照預設頻率獲取與高頻告警列表中記錄的故障相應的目標監(jiān)測數(shù)據(jù)。
具體的,在分析出高頻告警列表后,用戶可以單獨設定獲取高頻告警列表中記錄的故障相應的目標監(jiān)測數(shù)據(jù)的預設頻率,例如,通用監(jiān)測數(shù)據(jù)獲取頻率為每12小時獲取一次,預設頻率可以設定為每1小時獲取一次,也可以設定為實時獲取。
相應的,本發(fā)明實施例還公開了一種監(jiān)測告警系統(tǒng),參見圖2所示,該系統(tǒng)包括:
獲取模塊11,用于獲取監(jiān)測數(shù)據(jù)。
具體的,監(jiān)測數(shù)據(jù)可以包括監(jiān)測日志和運維人員的操作日志。
分析模塊12,用于利用監(jiān)測模型分析監(jiān)測數(shù)據(jù),得到分析結果。
其中,監(jiān)測模型為基于spark框架,利用歷史監(jiān)測數(shù)據(jù),得到故障發(fā)生概率與歷史監(jiān)測數(shù)據(jù)的第一對應關系,利用第一對應關系,得到監(jiān)測模型。
判斷模塊13,用于判斷分析結果是否滿足預設條件。
告警模塊14,用于如果滿足,則進行告警。
本發(fā)明實施例中,上述分析模塊12,具體可以包括監(jiān)測模型創(chuàng)建單元,其中,
監(jiān)測模型創(chuàng)建單元,用于對歷史監(jiān)測數(shù)據(jù)逐條進行sql統(tǒng)計分析,并將具有聯(lián)系的數(shù)據(jù)建立關聯(lián),得到故障發(fā)生概率與歷史監(jiān)測數(shù)據(jù)的第一對應關系,利用第一對應關系,得到監(jiān)測模型。
監(jiān)測模型創(chuàng)建單元,還可以具體用于對歷史監(jiān)測數(shù)據(jù)逐條進行sql統(tǒng)計分析,并將具有聯(lián)系的數(shù)據(jù)建立關聯(lián),得到故障與歷史監(jiān)測數(shù)據(jù)的第二對應關系,利用第二對應關系,得到監(jiān)測模型。
本發(fā)明實施例中,還包括:
接收模塊,用于接收用戶輸入的過濾列表;
過濾模塊,用于停止對過濾列表中記錄的故障告警。
告警分析模塊12,用于利用歷史告警信息,分析出高頻告警列表;
高頻數(shù)據(jù)獲取模塊11,用于按照預設頻率獲取與高頻告警列表中記錄的故障相應的目標監(jiān)測數(shù)據(jù)。
上述告警分析模塊12,具體可以包括分析單元和創(chuàng)建單元;其中,
分析單元,用于利用歷史告警信息的告警次數(shù)、告警位置和告警時間,分析出高頻告警信息;
創(chuàng)建單元,用于接收用戶輸入的確定信息,并利用高頻告警信息,得到高頻告警列表。
可見,本發(fā)明實施例中通過獲取監(jiān)測對象的監(jiān)測數(shù)據(jù),利用歷史監(jiān)測數(shù)據(jù),得到故障發(fā)生概率與歷史監(jiān)測數(shù)據(jù)的對應關系,利用對應關系并基于spark框架制作而成的監(jiān)測模型對監(jiān)測數(shù)據(jù)進行分析,得到分析結果,再判斷分析結果是否滿足預設條件,決定是否告警,如果滿足預設條件,則告警,綜上所述,實現(xiàn)了主動告警,即,在故障發(fā)生前,依據(jù)當前數(shù)據(jù)分析出可能發(fā)生的故障并提前告警,從而提醒用戶進行維護和關注,避免了故障的發(fā)生或擴大。
最后,還需要說明的是,在本文中,諸如第一和第二等之類的關系術語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關系或者順序。而且,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。
以上對本發(fā)明所提供的一種監(jiān)測告警方法及系統(tǒng)進行了詳細介紹,本文中應用了具體個例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領域的一般技術人員,依據(jù)本發(fā)明的思想,在具體實施方式及應用范圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本發(fā)明的限制。