一種電力應(yīng)用系統(tǒng)故障實(shí)時(shí)分析診斷系統(tǒng)及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種故障分析診斷系統(tǒng)及方法,具體地說是一種電力應(yīng)用系統(tǒng)故障實(shí)時(shí)分析診斷系統(tǒng)及方法,屬于電力系統(tǒng)自動(dòng)化技術(shù)領(lǐng)域。
【背景技術(shù)】
[0002]隨著電力行業(yè)“十二五規(guī)劃”任務(wù)的逐步完成,電力企業(yè)已建成覆蓋各級(jí)單位、各業(yè)務(wù)領(lǐng)域的諸多業(yè)務(wù)應(yīng)用系統(tǒng),由此,保障各業(yè)務(wù)應(yīng)用系統(tǒng)的安全運(yùn)行就成了重要課題。特別是,當(dāng)業(yè)務(wù)應(yīng)用系統(tǒng)發(fā)生故障時(shí),能夠做到早發(fā)現(xiàn)、早診斷、快速定位,迅速采取故障應(yīng)急處置措施,具有非常重要的意義。
[0003]目前,多數(shù)業(yè)務(wù)應(yīng)用系統(tǒng)的運(yùn)行監(jiān)測(cè)以指標(biāo)報(bào)送、服務(wù)器監(jiān)控為主,以發(fā)現(xiàn)和告警導(dǎo)致系統(tǒng)停運(yùn)的重大故障、服務(wù)器硬件故障為重點(diǎn),而系統(tǒng)局部功能故障和導(dǎo)致重大故障前的故障線索則難以監(jiān)控。從日常運(yùn)行維護(hù)角度講,也缺少以業(yè)務(wù)系統(tǒng)為單位,全面監(jiān)測(cè)業(yè)務(wù)應(yīng)用系統(tǒng)安全運(yùn)行的措施和方法,傳統(tǒng)的業(yè)務(wù)應(yīng)用系統(tǒng)運(yùn)行監(jiān)測(cè)方法存在以下問題:
[0004](1)故障發(fā)現(xiàn)遲,留給處置故障的時(shí)間短。因?yàn)槿鄙偃轿槐O(jiān)測(cè)和分析的措施方法,局部功能故障和小故障多數(shù)在用戶使用過程中被發(fā)現(xiàn)并報(bào)告,而當(dāng)監(jiān)測(cè)系統(tǒng)告警時(shí),業(yè)務(wù)系統(tǒng)往往已經(jīng)停運(yùn),或者部分節(jié)點(diǎn)停運(yùn),造成的影響很大,留給應(yīng)急處置的時(shí)間極為有限,運(yùn)檢人員壓力巨大。
[0005](2)依賴人工排查故障線索。常規(guī)的監(jiān)控系統(tǒng)都能提供告警,但缺少故障線索發(fā)現(xiàn)和推導(dǎo)跟蹤功能。故障告警后,仍然需要熟悉各個(gè)專業(yè)的專工趕到現(xiàn)場(chǎng),通過人工搜集和查看各種日志、各種中間件狀態(tài)、業(yè)務(wù)系統(tǒng)環(huán)境參數(shù),從中發(fā)現(xiàn)故障線索,并進(jìn)行匯總、整理和分析,整個(gè)過程耗時(shí)、耗力,還容易出現(xiàn)疏漏。
[0006](3)不能按業(yè)務(wù)系統(tǒng)進(jìn)行故障診斷分析,定位故障原因。常規(guī)監(jiān)控系統(tǒng)提供的故障分析和定位能力有限,很難做到按照業(yè)務(wù)系統(tǒng)進(jìn)行故障診斷分析,最終仍然依靠人工分析和定位故障。復(fù)雜的故障,往往需要多個(gè)專業(yè)經(jīng)驗(yàn)豐富的專家集體會(huì)診,進(jìn)行原因確認(rèn)和定位。
[0007](4)難以重現(xiàn)故障場(chǎng)景,故障處置時(shí)間長。因?yàn)槿鄙僖詷I(yè)務(wù)系統(tǒng)單位組織的全面監(jiān)測(cè)和分析系統(tǒng),故障發(fā)生后,大部分故障線索需要各專業(yè)經(jīng)驗(yàn)豐富專家從大量日志、參數(shù)中查找蛛絲馬跡,但一些對(duì)故障診斷分析有重要作用的業(yè)務(wù)系統(tǒng)環(huán)境的參數(shù)和日志,因?yàn)闆]有及時(shí)保存故障現(xiàn)場(chǎng),已經(jīng)不能獲得,嚴(yán)重影響故障診斷和定位,造成故障處置時(shí)間不斷推遲。
【發(fā)明內(nèi)容】
[0008]為克服上述現(xiàn)有技術(shù)存在的不足,本發(fā)明提供了一種電力應(yīng)用系統(tǒng)故障實(shí)時(shí)分析診斷系統(tǒng)及方法,其能夠?qū)﹄娏?yīng)用系統(tǒng)進(jìn)行故障定位與診斷,有效對(duì)電力應(yīng)用系統(tǒng)的故障應(yīng)急處置進(jìn)行指導(dǎo)。
[0009]本發(fā)明解決其技術(shù)問題所采取的技術(shù)方案是:一種電力應(yīng)用系統(tǒng)故障實(shí)時(shí)分析診斷系統(tǒng),其特征是,包括數(shù)據(jù)采集模塊、消息通道模塊、實(shí)時(shí)計(jì)算分析模塊、存儲(chǔ)模塊和顯示豐旲塊;
[0010]所述數(shù)據(jù)采集模塊包括若干個(gè)數(shù)據(jù)采集器,所述數(shù)據(jù)采集器的輸入端分別與業(yè)務(wù)系統(tǒng)相連,用以實(shí)時(shí)采集業(yè)務(wù)系統(tǒng)的文件數(shù)據(jù)和狀態(tài)數(shù)據(jù),所述數(shù)據(jù)采集器的輸出端與消息通道模塊相連,用以將采集到的數(shù)據(jù)推送到消息通道模塊;
[0011 ]所述消息通道模塊包括數(shù)據(jù)匯聚模塊和數(shù)據(jù)分類模塊,所述數(shù)據(jù)匯聚模塊用以接收數(shù)據(jù)采集器推送的數(shù)據(jù),并對(duì)所有數(shù)據(jù)采集器采集的數(shù)據(jù)采用流式消息方式進(jìn)行匯聚后發(fā)送給數(shù)據(jù)分類模塊,所述數(shù)據(jù)分類模塊對(duì)匯聚后的數(shù)據(jù)按位置、地址、類型進(jìn)行分類處理,并將分類后數(shù)據(jù)發(fā)送給實(shí)時(shí)計(jì)算分析模塊;
[0012]所述實(shí)時(shí)計(jì)算分析模塊包括規(guī)則庫模塊、篩選模塊和定位模塊,所述規(guī)則庫模塊用以存儲(chǔ)預(yù)定義的故障特征識(shí)別規(guī)則、節(jié)點(diǎn)故障語義識(shí)別規(guī)則和推導(dǎo)規(guī)則;所述篩選模塊根據(jù)故障特征識(shí)別規(guī)則對(duì)消息通道模塊發(fā)送的數(shù)據(jù)進(jìn)行篩選,并將確定的故障消息發(fā)送給定位模塊;所述定位模塊根據(jù)故障語義識(shí)別規(guī)則和推導(dǎo)規(guī)則表對(duì)故障信息進(jìn)行通過推導(dǎo)分析,判定故障發(fā)生原因和故障發(fā)生位置,并將形成故障信息堆棧和故障告警信息;
[0013]所述存儲(chǔ)模塊用以儲(chǔ)存分析結(jié)果;
[0014]所述顯示模塊用以展示故障告警信息。
[0015]優(yōu)選地,所述業(yè)務(wù)系統(tǒng)的文件數(shù)據(jù)包括Webserver Log、AppServer Log、DB Log、OS Log和Appl icat1n Log文件,狀態(tài)數(shù)據(jù)包括內(nèi)存參數(shù)、磁盤參數(shù)、cpu參數(shù)、進(jìn)程參數(shù)和網(wǎng)絡(luò)參數(shù)。
[0016]優(yōu)選地,所述數(shù)據(jù)采集器為具有增量采集和頻度設(shè)定功能的數(shù)據(jù)采集器;所述消息通道模塊采用集群部署方式、具備緩存功能的流式消息傳輸模塊。
[0017]優(yōu)選地,所述實(shí)時(shí)計(jì)算分析模塊以storm實(shí)時(shí)計(jì)算平臺(tái)為基礎(chǔ),以topology為基本處理單元,可以根據(jù)任務(wù)和地址的不同,采用分布式云計(jì)算實(shí)時(shí)計(jì)算分析模塊。
[0018]本發(fā)明還提供了一種電力應(yīng)用系統(tǒng)故障實(shí)時(shí)分析診斷方法,其特征是,包括以下步驟:
[0019]S1:實(shí)時(shí)從各個(gè)業(yè)務(wù)系統(tǒng)采集數(shù)據(jù);所述步驟S1具體包括以下步驟:S101:以增量形式獲取Webserver Log、AppServer Log、DB Log、0S Log和Applicat1n Log文件數(shù)據(jù),并記錄每次讀取數(shù)據(jù)的位置,作為下一次讀取的起點(diǎn);S102:獲取各個(gè)業(yè)務(wù)系統(tǒng)的內(nèi)存參數(shù)、磁盤參數(shù)、cpu參數(shù)、進(jìn)程參數(shù)和網(wǎng)絡(luò)參數(shù)狀態(tài)數(shù)據(jù);S103:將采集到的業(yè)務(wù)系統(tǒng)文件數(shù)據(jù)和狀態(tài)數(shù)據(jù)以消息形式推送給消息通道;
[0020]S2:消息通道將采集的數(shù)據(jù)進(jìn)行匯聚并按照位置、類別、服務(wù)器地址進(jìn)行分類,并傳輸給實(shí)時(shí)計(jì)算分析平臺(tái);所述步驟S2具體包括以下步驟:S201:以流式消息方式接收采集器推送的數(shù)據(jù),并對(duì)不同來源、不同業(yè)務(wù)系統(tǒng)、不同類型的消息數(shù)據(jù)進(jìn)行匯聚處理;S202:對(duì)匯聚后消息數(shù)據(jù)按照位置、類別、服務(wù)器地址進(jìn)行分類處理;S203:對(duì)處理后數(shù)據(jù)進(jìn)行緩存;
[0021]S3:實(shí)時(shí)計(jì)算分析模塊從消息通道順次獲取消息,采用循環(huán)處理機(jī)制對(duì)消息進(jìn)行實(shí)時(shí)計(jì)算分析,判定故障發(fā)生原因和故障發(fā)生位置,并形成故障信息堆棧;所述步驟S3具體包括以下步驟:S301:按照地址、位置和類別主動(dòng)獲取消息,實(shí)時(shí)計(jì)算分析模塊的過濾類型topology將消息先按類別分組,以便不同類型消息交給固定的topology處理;S302:過濾類型topology從規(guī)則庫中獲取故障識(shí)別特征對(duì)消息進(jìn)行過濾和故障識(shí)別:如果識(shí)別為非故障消息,按照位置、類別、服務(wù)器地址更新數(shù)據(jù)源的狀態(tài)和時(shí)間長;如果識(shí)別為故障消息,將消息交個(gè)故障分析topology,置數(shù)據(jù)源狀態(tài)為故障,開始累計(jì)故障時(shí)長,將識(shí)別結(jié)果保存到高速共享緩沖區(qū),并保存故障場(chǎng)景;S303:節(jié)點(diǎn)類型topology對(duì)過濾類型topology處理后的數(shù)據(jù)和高速共享緩存區(qū)內(nèi)的數(shù)據(jù)按照地址將所有屬于該節(jié)點(diǎn)地址的所有故障信息和環(huán)境參數(shù)信息匯聚到一起,并根據(jù)節(jié)點(diǎn)故障語義識(shí)別規(guī)則和推導(dǎo)規(guī)則表的定義按照環(huán)境故障先于應(yīng)用故障的規(guī)則進(jìn)行故障推導(dǎo),并將推導(dǎo)結(jié)果保存到高速共享緩沖區(qū);S304:業(yè)務(wù)類型topology對(duì)節(jié)點(diǎn)類型topology處理后的數(shù)據(jù)和高速共享緩存區(qū)內(nèi)的數(shù)據(jù)以業(yè)務(wù)系統(tǒng)為單位,將不同節(jié)點(diǎn)按照業(yè)務(wù)信息處理次序組織到一起,并根據(jù)業(yè)務(wù)關(guān)系規(guī)則表中定義以信息流動(dòng)方向?yàn)橐?guī)則的邏輯次序進(jìn)行故障推導(dǎo),并將推導(dǎo)結(jié)果保存到高速共享緩沖區(qū);S305:以業(yè)務(wù)系統(tǒng)為單位,組織步驟S304的推導(dǎo)結(jié)果,按照業(yè)務(wù)系統(tǒng)數(shù)據(jù)的邏輯處理次序,將故障形成從結(jié)果到原因的鏈條,構(gòu)建故障發(fā)展進(jìn)程的故障信息堆棧,并與保存在文件中的故障場(chǎng)景進(jìn)行關(guān)聯(lián),供告警和展示使用;
[0022]S4:儲(chǔ)存診斷結(jié)果和展現(xiàn)告警信息;所述步驟S4具體包括以下步驟:S401:將所有的計(jì)算分析結(jié)果都以業(yè)務(wù)系統(tǒng)為單位保存到數(shù)據(jù)庫和文件中,分析結(jié)果分為兩類:正常和異常;S402:在監(jiān)控界面以業(yè)務(wù)系統(tǒng)為單位展示每個(gè)業(yè)務(wù)系統(tǒng)的狀態(tài)信息,如果某個(gè)業(yè)務(wù)系統(tǒng)被發(fā)現(xiàn)故障,則以故障發(fā)展進(jìn)程倒序發(fā)送給客戶端向用戶展示,用戶可以看到業(yè)務(wù)系統(tǒng)故障發(fā)生在哪個(gè)節(jié)點(diǎn)、哪類組件或者設(shè)備、故障原因,并能夠查看當(dāng)時(shí)故障現(xiàn)場(chǎng)記錄。
[0023]優(yōu)選地,所述獲取各個(gè)業(yè)務(wù)系統(tǒng)的狀態(tài)數(shù)據(jù)包括但不限于:
[0024]用戶進(jìn)程:進(jìn)程名稱及數(shù)量參數(shù);
[0025]服務(wù)器內(nèi)存參數(shù):total、used、free、shared、buffers、cached、-/+buffers/cache參數(shù);
[0026]服務(wù)器swap參數(shù):Swaptotal、swap usecUswap freenswap file數(shù)量和size參數(shù);
[0027]服務(wù)器CPU參數(shù):%us、%sy、%n1、% id、load average、users、total、running、sleeping、stopped、%h1、%s1、%st參數(shù);
[0028]服務(wù)器磁盤參數(shù):Mountedon、Use%、Used Avail、Size參數(shù);
[0029]磁盤10參數(shù):TPS、kB_read/s、kB_wrtn/s、kB_read、kB_wrtn、avgqu_sz、await、svctm、%util參數(shù);
[0030]網(wǎng)絡(luò)傳輸參數(shù):工作模式、連通狀態(tài)、是否丟包、響應(yīng)時(shí)間參數(shù)。
[0031]優(yōu)選地,對(duì)匯聚后消息數(shù)據(jù)進(jìn)行分類處理過程中采用的分類格式為:地址+位置+類別;地址即數(shù)據(jù)來源地址,為數(shù)據(jù)源的IP地址;位置即數(shù)據(jù)來源位置,為文件路徑,如果為服務(wù)器參數(shù)則可空;類別即數(shù)據(jù)類別,包括但不限于以下類型:Apache訪問日志、Apache錯(cuò)誤日志、Tomcat訪問日志、Tomcat運(yùn)行日志、Weblogic訪問日志、Weblogic服務(wù)器日志、ffeblogic Domain 日志、Weblogic控制臺(tái)輸出、Oracle監(jiān)聽日志、Oracle alert 日志、Syslog等文件類型;用戶進(jìn)程、內(nèi)存、swap、磁盤、磁盤1、Cpu、和網(wǎng)絡(luò)參數(shù)。
[0032]優(yōu)選地,所述故障識(shí)別特征包括但不限于以下內(nèi)容:
[0033]1 )apache訪問日志:狀態(tài)代碼為4XX、5XX的消息,以及響應(yīng)時(shí)間超過限定閥值的消息;
[0034]2)apache錯(cuò)誤日志:級(jí)別為EMERG、ERR0R、ALERT、CRIT的消息,在系統(tǒng)非計(jì)劃檢修期間,狀態(tài)為啟動(dòng)失敗、服務(wù)關(guān)閉的消息,以及級(jí)別為INFO、NOTICE、DEBUG,原因描述中包含ERROR、EXCEPT1N、FAI LURE 和 WARNING 關(guān)鍵字的消息;
[0035]3)Tomcat訪問日志:狀態(tài)代碼為4XX、5XX的消息,以及響應(yīng)時(shí)間超過限定閥值的消息;
[0036]4)Tomcat運(yùn)行日志:級(jí)別為SEVERE的消息,在系統(tǒng)非計(jì)劃檢修期間,狀態(tài)為啟動(dòng)失敗、服務(wù)關(guān)閉的消息,以及級(jí)別為WARNING、INFO、CONFIG、FINE、FINER、FINEST,原因描述中包含 ERROR、EXCEPT1N、FAI LURE 和 WARNING 關(guān)鍵字的消息;
[0037]5)webl0giC訪問日志:狀態(tài)代碼為4XX、5XX的消息,以及響應(yīng)時(shí)間超過限定閥值的消息;
[0038]6)weblogic服務(wù)器日志:級(jí)別為ENERGENCY、ALERT、CRITICAL、ERROR的消息,在系統(tǒng)非計(jì)劃檢修期間,狀態(tài)為啟動(dòng)失敗、服務(wù)關(guān)閉的消息,以及級(jí)別為WARNING、N0TICE、INF0、TRACE,原因描述中包含ERROR、EXCEPT1N、FAI LURE和WARNING關(guān)鍵字的消息;
[0039 ] 7)weblogic domain 日志:級(jí)別為 ENERGENCY、ALERT、CRITI CAL、ERROR 的消息,在系統(tǒng)非計(jì)劃檢修期間,狀態(tài)為啟動(dòng)失敗、服務(wù)關(guān)閉的消息,以