本發(fā)明涉及分布式系統(tǒng)領(lǐng)域,特別涉及一種分布式系統(tǒng)告警分析方法及裝置。
背景技術(shù):
:一個(gè)分布式系統(tǒng)涉及了負(fù)載均衡設(shè)備,應(yīng)用服務(wù)器集群,緩存服務(wù)器集群,數(shù)據(jù)庫(kù)服務(wù)器集群,配置服務(wù)集群,分布式鎖服務(wù)集群,網(wǎng)絡(luò)通訊質(zhì)量,操作系統(tǒng),網(wǎng)絡(luò)流量等幾十種組成部分。分布式系統(tǒng)的組成部分很多,各個(gè)組成部分負(fù)責(zé)的人也有很多。目前普遍的解決方案都是各自監(jiān)控自己的系統(tǒng),信息孤島的現(xiàn)狀非常明顯。當(dāng)分布式系統(tǒng)出現(xiàn)告警或者不可用的時(shí)候,排查過(guò)程將會(huì)非常復(fù)雜和耗時(shí)。技術(shù)實(shí)現(xiàn)要素:為了克服現(xiàn)有技術(shù)中存在的問(wèn)題,本發(fā)明提供一種分布式系統(tǒng)告警分析方法及裝置,用以提高告警定位原因的效率。本發(fā)明提供一種分布式系統(tǒng)告警分析方法,其特征在于,包括:通過(guò)事件接口接收各組件上報(bào)的事件;從所述事件中抽取出告警事件;獲取所述告警事件的事件信息,所述事件信息包括發(fā)生所述告警事件的應(yīng)用的標(biāo)識(shí);根據(jù)所述告警事件的事件信息確定引起告警的原因。在一個(gè)實(shí)施例中,所述根據(jù)所述告警事件的事件信息確定引起告警的原因,可包括:計(jì)算發(fā)生所述告警事件的應(yīng)用的各資源產(chǎn)生的異常事件;將所述異常事件和所述告警事件進(jìn)行匹配,確定引起告警的原因。在一個(gè)實(shí)施例中,所述事件信息還可包括以下信息中的一項(xiàng)或多項(xiàng):事件編號(hào)、機(jī)器IP、事件內(nèi)容、事件名稱、事件發(fā)生時(shí)間以及事件類型。在一個(gè)實(shí)施例中,所述從所述事件中抽取出告警事件,可包括:獲取通過(guò)事件接口接收的各組件上報(bào)的事件的事件信息;根據(jù)所述事件信息從所述事件中確定出告警事件。在一個(gè)實(shí)施例中,在所述通過(guò)事件接口接收各組件上報(bào)的事件之前,所述方法還可包括:當(dāng)有操作發(fā)生時(shí),通過(guò)事件接口上報(bào)事件到事件數(shù)據(jù)庫(kù)。本發(fā)明還包括一種分布式系統(tǒng)告警分析裝置,包括:接收模塊,用于通過(guò)事件接口接收各組件上報(bào)的事件;抽取模塊,用于從所述事件中抽取出告警事件;獲取模塊,用于獲取所述告警事件的事件信息,所述事件信息包括發(fā)生所述告警事件的應(yīng)用的標(biāo)識(shí);確定模塊,用于根據(jù)所述告警事件的事件信息確定引起告警的原因。在一個(gè)實(shí)施例中,所述確定模塊可包括:計(jì)算子模塊,用于計(jì)算發(fā)生所述告警事件的應(yīng)用的各資源產(chǎn)生的異常事件;第一確定子模塊,用于將所述異常事件和所述告警事件進(jìn)行匹配,確定引起告警的原因。在一個(gè)實(shí)施例中,所述事件信息還可包括以下信息中的一項(xiàng)或多項(xiàng):事件編號(hào)、機(jī)器IP、事件內(nèi)容、事件名稱、事件發(fā)生時(shí)間以及事件類型。在一個(gè)實(shí)施例中,所述抽取模塊,可包括:獲取子模塊,用于獲取通過(guò)事件接口接收的各組件上報(bào)的事件的事件信息;第二確定子模塊,用于根據(jù)所述事件信息從所述事件中確定出告警事件。在一個(gè)實(shí)施例中,所述裝置還可包括:上報(bào)模塊,用于當(dāng)有操作發(fā)生時(shí),通過(guò)事件接口上報(bào)事件到事件數(shù)據(jù)庫(kù)。本發(fā)明實(shí)施例的上述技術(shù)方案可以包括以下有益效果:本發(fā)明實(shí)施例的上述技術(shù)方案,通過(guò)事件接口接收各組件上報(bào)的事件,從事件中抽取出告警事件,獲取告警事件的事件信息,事件信息包括發(fā)生告警事件的應(yīng)用的標(biāo)識(shí),根據(jù)告警事件的事件信息確定引起告警的原因。從而可以有效提高告警定位原因的效率,全面了解分布式系統(tǒng)的各個(gè)組件是否正常,可以給業(yè)務(wù)的穩(wěn)定性帶來(lái)更好的幫助,提升用戶體驗(yàn)滿意度。下面通過(guò)附圖和實(shí)施例,對(duì)本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)描述。附圖說(shuō)明附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,并且構(gòu)成說(shuō)明書的一部分,與本發(fā)明的實(shí)施例一起用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的限制。在附圖中:圖1為本發(fā)明實(shí)施例中一種分布式系統(tǒng)告警分析方法的流程圖;圖2為本發(fā)明實(shí)施例中一種分布式系統(tǒng)告警分析方法中步驟S14的流程圖;圖3為本發(fā)明實(shí)施例中一種分布式系統(tǒng)告警分析方法中步驟S12的流程圖;圖4為本發(fā)明實(shí)施例中一種分布式系統(tǒng)告警分析的另一個(gè)流程圖;圖5為本發(fā)明實(shí)施例中一種分布式系統(tǒng)告警分析裝置的框圖;圖6為本發(fā)明實(shí)施例中一種分布式系統(tǒng)告警分析裝置中確定模塊54的框圖;圖7為本發(fā)明實(shí)施例中一種分布式系統(tǒng)告警分析裝置中抽取模塊52的框圖;圖8為本發(fā)明實(shí)施例中另一種分布式系統(tǒng)告警分析裝置的框圖;具體實(shí)施方式以下結(jié)合附圖對(duì)本發(fā)明的優(yōu)選實(shí)施例進(jìn)行說(shuō)明,應(yīng)當(dāng)理解,此處所描述的優(yōu)選實(shí)施例僅用于說(shuō)明和解釋本發(fā)明,并不用于限定本發(fā)明。圖1所示為本發(fā)明實(shí)施例中一種分布式系統(tǒng)告警分析方法的流程圖,如圖1所示,包括以下步驟S11-S14:步驟S11,通過(guò)事件接口接收各組件上報(bào)的事件。步驟S12,從事件中抽取出告警事件。步驟S13,獲取告警事件的事件信息,事件信息包括發(fā)生告警事件的應(yīng)用的標(biāo)識(shí)。步驟S14,根據(jù)告警事件的事件信息確定引起告警的原因。本發(fā)明是提供一個(gè)事件上報(bào)的機(jī)制和系統(tǒng),讓分布式系統(tǒng)涉及的組件通過(guò)接口統(tǒng)一提交事件信息,中控系統(tǒng)通過(guò)分析事件來(lái)確定問(wèn)題的原因。事件信息可包括應(yīng)用的標(biāo)識(shí),機(jī)器ip,事件名稱,事件發(fā)生時(shí)間等。當(dāng)某個(gè)應(yīng)用告警出現(xiàn)的時(shí)候,串聯(lián)該應(yīng)用下的事件信息,并建立規(guī)則自動(dòng)識(shí)別導(dǎo)致告警的事件信息。由于每一個(gè)事件都會(huì)有自己的應(yīng)用的標(biāo)識(shí),一個(gè)分布式應(yīng)用是依賴了很多組件,每個(gè)組件通過(guò)事件接口來(lái)上報(bào)事件。事件web系統(tǒng)通過(guò)系統(tǒng)應(yīng)用名,當(dāng)告警出現(xiàn)的時(shí)候自動(dòng)識(shí)別導(dǎo)致告警的原因事件。本發(fā)明實(shí)施例的上述方法,通過(guò)事件接口接收各組件上報(bào)的事件,從事件中抽取出告警事件,獲取告警事件的事件信息,事件信息包括發(fā)生告警事件的應(yīng)用的標(biāo)識(shí),根據(jù)告警事件的事件信息確定引起告警的原因。從而可以有效提高告警定位原因的效率,全面了解分布式系統(tǒng)的各個(gè)組件是否正常,可以給業(yè)務(wù)的穩(wěn)定性帶來(lái)更好的幫助,提升用戶體驗(yàn)滿意度。在一個(gè)實(shí)施例中,如圖2所示,步驟S14可以實(shí)施為如下步驟S141-S142:步驟S141,計(jì)算發(fā)生告警事件的應(yīng)用的各資源產(chǎn)生的異常事件。步驟S142,將異常事件和告警事件進(jìn)行匹配,確定引起告警的原因。由于每個(gè)告警都會(huì)屬于某一個(gè)應(yīng)用程序,一個(gè)應(yīng)用程序發(fā)生告警,可能是因?yàn)檫@個(gè)應(yīng)用程序依賴的資源導(dǎo)致的,當(dāng)發(fā)生告警的時(shí)候,需要計(jì)算各個(gè)資源是否產(chǎn)生了異常事件,再對(duì)異常事件和告警進(jìn)行計(jì)算匹配,通過(guò)建立規(guī)則框架,把性能數(shù)據(jù)、操作日志、異常信息歸類起來(lái),按照規(guī)則來(lái)進(jìn)行過(guò)濾,最終確定出引起告警的原因。在一個(gè)實(shí)施例中,事件信息還可包括以下信息中的一項(xiàng)或多項(xiàng):事件編號(hào)、機(jī)器IP、事件內(nèi)容、事件名稱、事件發(fā)生時(shí)間以及事件類型。事件信息的格式例如表1所示:表1事件信息格式編號(hào)列名說(shuō)明1Id事件編號(hào)2Appname應(yīng)用名3Event_content事件內(nèi)容4Create_time事件創(chuàng)建時(shí)間5Event_type事件類型在一個(gè)實(shí)施例中,如圖3所示,步驟S12可以實(shí)施為如下步驟S121-S122:步驟S121,獲取通過(guò)事件接口接收的各組件上報(bào)的事件的事件信息。步驟S122,根據(jù)事件信息從事件中確定出告警事件。本發(fā)明提供一個(gè)接收事件的API(ApplicationProgrammingInterface,應(yīng)用程序編程接口),各個(gè)系統(tǒng)(數(shù)據(jù)庫(kù)服務(wù)器、應(yīng)用服務(wù)器、網(wǎng)絡(luò)、硬件、Linux等)通過(guò)api,在有操作發(fā)生的時(shí)候發(fā)送事件到系統(tǒng),根據(jù)事件信息從事件中確定出告警事件。在一個(gè)實(shí)施例中,如圖4所示,在步驟S11之前,上述方法還可包括以下步驟S15:步驟S15,當(dāng)有操作發(fā)生時(shí),通過(guò)事件接口上報(bào)事件到事件數(shù)據(jù)庫(kù)。各個(gè)系統(tǒng)通過(guò)事件接口,在有操作發(fā)生的時(shí)候上報(bào)事件到事件數(shù)據(jù)庫(kù),事件程序抽取出告警,事件程序聚合和該告警有關(guān)的事件,計(jì)算出引起告警的原因。基于同一發(fā)明構(gòu)思,本發(fā)明實(shí)施例還提供了一種分布式系統(tǒng)告警分析裝置,由于該裝置所解決問(wèn)題的原理與前述分布式系統(tǒng)告警分析方法相似,因此該裝置的實(shí)施可以參見前述方法的實(shí)施,重復(fù)之處不再贅述。圖5所示為本發(fā)明實(shí)施例中一種分布式系統(tǒng)告警分析裝置的框圖,如圖5所示,該裝置包括:接收模塊51,用于通過(guò)事件接口接收各組件上報(bào)的事件;抽取模塊52,用于從事件中抽取出告警事件;獲取模塊53,用于獲取告警事件的事件信息,事件信息包括發(fā)生告警事件的應(yīng)用的標(biāo)識(shí);確定模塊54,用于根據(jù)告警事件的事件信息確定引起告警的原因。在一個(gè)實(shí)施例中,如圖6所示,確定模塊54可包括:計(jì)算子模塊541,用于計(jì)算發(fā)生告警事件的應(yīng)用的各資源產(chǎn)生的異常事件;第一確定子模塊542,用于將異常事件和告警事件進(jìn)行匹配,確定引起告警的原因。在一個(gè)實(shí)施例中,事件信息還可包括以下信息中的一項(xiàng)或多項(xiàng):事件編號(hào)、機(jī)器IP、事件內(nèi)容、事件名稱、事件發(fā)生時(shí)間以及事件類型。在一個(gè)實(shí)施例中,如圖7所示,抽取模塊52,可包括:獲取子模塊521,用于獲取通過(guò)事件接口接收的各組件上報(bào)的事件的事件信息;第二確定子模塊522,用于根據(jù)事件信息從事件中確定出告警事件。在一個(gè)實(shí)施例中,如圖8所示,上述裝置還可包括:上報(bào)模塊55,用于當(dāng)有操作發(fā)生時(shí),通過(guò)事件接口上報(bào)事件到事件數(shù)據(jù)庫(kù)。本發(fā)明實(shí)施例的上述裝置,通過(guò)事件接口接收各組件上報(bào)的事件,從事件中抽取出告警事件,獲取告警事件的事件信息,事件信息包括發(fā)生告警事件的應(yīng)用的標(biāo)識(shí),根據(jù)告警事件的事件信息確定引起告警的原因。從而可以有效提高告警定位原因的效率,全面了解分布式系統(tǒng)的各個(gè)組件是否正常,可以給業(yè)務(wù)的穩(wěn)定性帶來(lái)更好的幫助,提升用戶體驗(yàn)滿意度。本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器和光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來(lái)描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過(guò)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。當(dāng)前第1頁(yè)1 2 3