專利名稱:用于處理事件的方法和系統(tǒng)的制作方法
用于處理事件的方法和系統(tǒng)
背景技術(shù):
隨著服務(wù)器變得更便宜、更多和更復(fù)雜,管理它們成為數(shù)據(jù)中心成本的較大部分。為了監(jiān)視數(shù)據(jù)中心的健康狀況,系統(tǒng)軟件通常被配置成在顯著狀態(tài)變化或錯(cuò)誤發(fā)生時(shí)產(chǎn)生事件。這些事件被寫入事件日志,在事件日志里,人或管理軟件可以對(duì)它們進(jìn)行分析來診斷問題、確定適合的修復(fù)動(dòng)作等等。隨著復(fù)雜性增加,日志的大小也在增長(zhǎng),并且隨著數(shù)據(jù)中心變大,日志的數(shù)量也在增加。因此,為準(zhǔn)確診斷系統(tǒng)問題的事件日志的人力分析變得更困難和更耗時(shí)。此外,這樣的事件日志通常不太適合于大規(guī)模的自動(dòng)化分析。
在下面的具體實(shí)施方式
中參考附圖描述特定示例性實(shí)施例,其中圖示I是根據(jù)本發(fā)明實(shí)施例的被配置成將事件消息存儲(chǔ)至結(jié)構(gòu)化的錯(cuò)誤事件儲(chǔ)存庫中的計(jì)算機(jī)系統(tǒng)的框圖;圖2是根據(jù)本發(fā)明實(shí)施例的事件管理模塊的框圖;圖3是根據(jù)本發(fā)明實(shí)施例的用于處理系統(tǒng)事件的事件系統(tǒng)體系結(jié)構(gòu)的框圖;圖4是根據(jù)本發(fā)明實(shí)施例的另一事件管理模塊的框圖;圖5是根據(jù)本發(fā)明實(shí)施例的處理系統(tǒng)事件的方法的過程流程圖;以及圖6是根據(jù)本發(fā)明實(shí)施例的對(duì)用于處理系統(tǒng)事件的代碼進(jìn)行存儲(chǔ)的非瞬態(tài)機(jī)器可讀介質(zhì)的框圖。
具體實(shí)施例方式本發(fā)明的實(shí)施例提供一種對(duì)由計(jì)算機(jī)系統(tǒng)的組件產(chǎn)生的系統(tǒng)事件進(jìn)行處理的方法。根據(jù)實(shí)施例,提供一種系統(tǒng)來將由計(jì)算機(jī)系統(tǒng)的各個(gè)節(jié)點(diǎn)產(chǎn)生的事件數(shù)據(jù)存儲(chǔ)至中央事件日志或存儲(chǔ)至包括相關(guān)數(shù)據(jù)庫的儲(chǔ)存庫中。事件消息和相關(guān)數(shù)據(jù)庫可以根據(jù)規(guī)定的一致性規(guī)則來限定和構(gòu)造,使得在事件消息中包含的數(shù)據(jù)可以容易存儲(chǔ)至相關(guān)數(shù)據(jù)庫中。此夕卜,儲(chǔ)存庫還可以包括每個(gè)事件消息的文本表示,文本表示使得能夠使用儲(chǔ)存庫的SQL檢索和自然語言檢索。因此,本技術(shù)的實(shí)施例使例如數(shù)據(jù)倉庫、數(shù)據(jù)挖掘和分析學(xué)這樣的商業(yè)智能技術(shù)能夠應(yīng)用于在儲(chǔ)存庫中存儲(chǔ)的事件數(shù)據(jù)。圖1是根據(jù)本發(fā)明實(shí)施例的被配置成將事件消息存儲(chǔ)至結(jié)構(gòu)化的錯(cuò)誤事件儲(chǔ)存庫中的計(jì)算機(jī)系統(tǒng)的框圖。計(jì)算機(jī)系統(tǒng)總體由附圖標(biāo)記100引用。如圖1所示,計(jì)算機(jī)系統(tǒng)100可以包括多個(gè)節(jié)點(diǎn)102,節(jié)點(diǎn)102可以是各種網(wǎng)絡(luò)設(shè)備,例如服務(wù)器、存儲(chǔ)系統(tǒng)、處理器等等。在實(shí)施例中,計(jì)算機(jī)系統(tǒng)100可以是集群計(jì)算系統(tǒng),每個(gè)節(jié)點(diǎn)102可以是集群中的服務(wù)器。在實(shí)施例中,計(jì)算機(jī)系統(tǒng)可以包括并行數(shù)據(jù)庫,并且節(jié)點(diǎn)102可以是單獨(dú)的處理器、對(duì)稱多處理(SMP)節(jié)點(diǎn)等等。通常,節(jié)點(diǎn)102可以是任何類型的被配置成產(chǎn)生系統(tǒng)事件的計(jì)算設(shè)備。每個(gè)節(jié)點(diǎn)102可以包括事件管理模塊104,事件管理模塊104被配置成產(chǎn)生系統(tǒng)事件消息并且向一個(gè)或多個(gè)事件用戶公布事件消息。由節(jié)點(diǎn)102產(chǎn)生的事件消息可以存儲(chǔ)至事件儲(chǔ)存庫106中。
節(jié)點(diǎn)102可以可操作地通過通信網(wǎng)絡(luò)108聯(lián)接,通信網(wǎng)絡(luò)108例如是廣域網(wǎng)(WAN)、局域網(wǎng)(LAN)、虛擬專用網(wǎng)(VPN)、互聯(lián)網(wǎng)等等。通信網(wǎng)絡(luò)108可以是TCP/IP協(xié)議網(wǎng)絡(luò)或其它任何適合的協(xié)議。任何數(shù)量的客戶110可以通過通信網(wǎng)絡(luò)108訪問節(jié)點(diǎn)102。本領(lǐng)域普通技術(shù)人員將理解,計(jì)算機(jī)系統(tǒng)100的構(gòu)造僅是在本發(fā)明的示例性實(shí)施例中可以實(shí)現(xiàn)的計(jì)算機(jī)系統(tǒng)的一個(gè)示例。圖2是根據(jù)本發(fā)明實(shí)施例的事件管理模塊的框圖。事件管理模塊104的組件可以在硬件、軟件或硬件和軟件的某一組合中實(shí)現(xiàn)。例如,事件管理模塊104可以包括非瞬態(tài)計(jì)算機(jī)可讀介質(zhì),非瞬態(tài)計(jì)算機(jī)可讀介質(zhì)存儲(chǔ)被配置成指引處理器執(zhí)行本發(fā)明中描述的事件處理任務(wù)的代碼。非瞬態(tài)計(jì)算機(jī)可讀介質(zhì)可以包括隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、硬盤驅(qū)動(dòng)器、硬盤驅(qū)動(dòng)器陣列、光驅(qū)、光驅(qū)陣列、通用串行總線(USB)驅(qū)動(dòng)器、數(shù)字多功能光盤(DVD)、光盤(⑶)、閃驅(qū)、RAM驅(qū)動(dòng)器等等。在實(shí)施例中,如圖2所示的事件管理模塊104的組件可以在單個(gè)節(jié)點(diǎn)102中實(shí)施,或者分布在兩個(gè)或更多個(gè)節(jié)點(diǎn)102之間。事件管理模塊104可以包括事件發(fā)生器200、數(shù)據(jù)中介器202和SQL事件用戶204。事件發(fā)生器200報(bào)告系統(tǒng)事件,系統(tǒng)事件包括狀態(tài)變化、錯(cuò)誤、警告和計(jì)算機(jī)系統(tǒng)100內(nèi)的人或其它子系統(tǒng)可能關(guān)注的其它狀況。事件發(fā)生器200可以被配置成響應(yīng)于在計(jì)算機(jī)系統(tǒng)100或計(jì)算機(jī)系統(tǒng)100的單獨(dú)組件中發(fā)生的任何系統(tǒng)事件來產(chǎn)生事件消息。例如,可以響應(yīng)于計(jì)算機(jī)系統(tǒng)100中發(fā)生的各種軟件故障或硬件故障(例如服務(wù)器變得不可用、存儲(chǔ)磁盤或其它存儲(chǔ)介質(zhì)故障、路由器或交換機(jī)故障等等)來產(chǎn)生事件消息。在實(shí)施例中,可以響應(yīng)于表存儲(chǔ)引擎(TSE)遷移事件來產(chǎn)生事件消息。例如,如果并行數(shù)據(jù)庫引擎中的節(jié)點(diǎn)102出現(xiàn)故障,那么可以發(fā)生數(shù)據(jù)表存儲(chǔ)引擎的遷移,在此情況下,故障節(jié)點(diǎn)102的處理負(fù)荷被遷移至另一節(jié)點(diǎn)102。數(shù)據(jù)表存儲(chǔ)的遷移可以通過使單個(gè)節(jié)點(diǎn)102上的工作負(fù)荷加倍而影響并行數(shù)據(jù)庫的性能。在實(shí)施例中,可以響應(yīng)于持續(xù)規(guī)定的時(shí)間段(例如大約一分鐘或更長(zhǎng)時(shí)間)的數(shù)據(jù)庫鎖來產(chǎn)生事件消息。數(shù)據(jù)庫鎖在產(chǎn)生對(duì)數(shù)據(jù)庫查詢的響應(yīng)時(shí),通過鎖數(shù)據(jù)促進(jìn)數(shù)據(jù)庫中的數(shù)據(jù)的一致性。持續(xù)長(zhǎng)時(shí)間段的數(shù)據(jù)庫鎖可能導(dǎo)致性能問題,因?yàn)閲L試存取被鎖數(shù)據(jù)的其它查詢或過程將被鎖住,直到釋放數(shù)據(jù)庫鎖為止。本發(fā)明中描述的系統(tǒng)事件僅是事件發(fā)生器200可以報(bào)告的有限多種系統(tǒng)事件,這是由于本領(lǐng)域普通技術(shù)人員將根據(jù)實(shí)施例認(rèn)識(shí)到更多種可報(bào)告的系統(tǒng)事件。事件消息可以被編碼為一組令牌化的數(shù)據(jù)域,該組令牌化的數(shù)據(jù)域可以被組織為值/屬性對(duì)。事件發(fā)生器200可以包括用于對(duì)令牌化的事件消息進(jìn)行編碼的事件庫206。例如,令牌化的事件消息可以包括屬性,例如時(shí)間戳、錯(cuò)誤代碼、表示產(chǎn)生錯(cuò)誤的子系統(tǒng)、節(jié)點(diǎn)102或組件的標(biāo)識(shí)符、表示產(chǎn)生錯(cuò)誤的事務(wù)的標(biāo)識(shí)符、產(chǎn)生錯(cuò)誤的節(jié)點(diǎn)102的下層操作系統(tǒng)等等。在實(shí)施例中,每個(gè)屬性和對(duì)應(yīng)值可以表示在公認(rèn)的表格中,該公認(rèn)的表格為可以表示在錯(cuò)誤事件中的各種數(shù)據(jù)域提供一致的詞匯。以此方式,可以對(duì)單獨(dú)的節(jié)點(diǎn)102、多組節(jié)點(diǎn)102、多種節(jié)點(diǎn)102或者甚至在整個(gè)計(jì)算機(jī)系統(tǒng)100中實(shí)現(xiàn)令牌一致性。在實(shí)施例中,錯(cuò)誤事件可以使用序列化協(xié)議(例如谷歌 協(xié)議緩沖器格式)來編碼。在實(shí)施例中,令牌化的錯(cuò)誤事件可以被編碼為平坦表示(flat representation),平坦表示可以更容易地存儲(chǔ)至下面描述的相關(guān)數(shù)據(jù)庫內(nèi)。數(shù)據(jù)中介器202向可應(yīng)用的事件用戶發(fā)送事件消息。在實(shí)施例中,數(shù)據(jù)中介器202包括使用高級(jí)消息隊(duì)列協(xié)議(AMQP)的面向消息的中間件(Μ0Μ),例如Apache Qpid。由事件發(fā)生器200報(bào)告的事件消息可以被發(fā)送至數(shù)據(jù)中介器202,數(shù)據(jù)中介器將事件消息公布給計(jì)算機(jī)系統(tǒng)100中訂閱消息事件的一個(gè)或多個(gè)事件用戶(例如SQL事件用戶204和其它類型的事件用戶),關(guān)于圖3描述計(jì)算機(jī)系統(tǒng)中的一個(gè)或多個(gè)事件用戶中的一些事件用戶。不同的事件用戶可以訂閱不同類型的事件消息。SQL事件用戶204可以被配置成接收由存在于計(jì)算機(jī)系統(tǒng)100中的各個(gè)事件發(fā)生器200產(chǎn)生的全部令牌化的事件消息。SQL事件用戶204接收令牌化的事件消息并且產(chǎn)生供存儲(chǔ)至事件儲(chǔ)存庫106中的數(shù)據(jù)庫記錄。事件儲(chǔ)存庫106充當(dāng)用于存儲(chǔ)從計(jì)算機(jī)系統(tǒng)100的不同節(jié)點(diǎn)102或子系統(tǒng)中產(chǎn)生的事件消息的中央統(tǒng)一數(shù)據(jù)庫。計(jì)算機(jī)系統(tǒng)100內(nèi)的不同節(jié)點(diǎn)102或子系統(tǒng)可以發(fā)出事件消息,這些事件消息具有包含適合于每個(gè)特定節(jié)點(diǎn)102或子系統(tǒng)的不同類型信息的不同結(jié)構(gòu)。在實(shí)施例中,關(guān)于特定節(jié)點(diǎn)102或子系統(tǒng)的事件消息可以被存儲(chǔ)至事件儲(chǔ)存庫中的同一表格內(nèi)。每個(gè)節(jié)點(diǎn)102或子系統(tǒng)的令牌化事件消息的設(shè)計(jì)考慮到最終儲(chǔ)存庫表示,從而促進(jìn)事件消息內(nèi)容對(duì)相關(guān)數(shù)據(jù)庫存儲(chǔ)和查詢的適應(yīng)性。令牌化事件消息可以根據(jù)一致性規(guī)則來構(gòu)造,一致性規(guī)則使得能夠?qū)碜砸粋€(gè)或多個(gè)節(jié)點(diǎn)102或子系統(tǒng)的多個(gè)令牌化事件消息映射至相關(guān)數(shù)據(jù)庫內(nèi)的單個(gè)表格中。在本發(fā)明中,每個(gè)這樣的表格被稱為事件表格。一致性規(guī)則規(guī)定在令牌化事件消息中可以包含的多種消息的一致數(shù)據(jù)域名,例如過程名、過程標(biāo)識(shí)符等等。事件發(fā)生器200在產(chǎn)生事件消息時(shí)和SQL事件用戶204在解釋事件消息并產(chǎn)生供存儲(chǔ)至事件儲(chǔ)存庫106中的對(duì)應(yīng)數(shù)據(jù)庫記錄時(shí),使用相同的一致性規(guī)則。事件儲(chǔ)存庫106還可以遵守公知的對(duì)數(shù)據(jù)倉庫的設(shè)計(jì)的考慮,例如由Kimball等人在“The Data WarehouseToolkit (數(shù)據(jù)倉庫工具箱)”中介紹的考慮。例如,各種事件表可以是事實(shí)表,特定類型的事件消息信息(例如系統(tǒng)ID)可以變成度量。例如,由磁盤存儲(chǔ)子系統(tǒng)產(chǎn)生的事件可以具有一組公共令牌并且可以存儲(chǔ)在磁盤存儲(chǔ)事件表中。由事務(wù)子系統(tǒng)產(chǎn)生的事件可以具有一組不同的公共令牌并且可以被存儲(chǔ)在事務(wù)事件表格中。每條事件消息可以被寫入數(shù)據(jù)庫表格的特定一行中,事件消息的每個(gè)令牌可以被映射至特定的列中。數(shù)據(jù)庫示例可以具有分離的列,分離的列用于時(shí)間戳、錯(cuò)誤代碼和其它任何與事件消息的令牌化數(shù)據(jù)域?qū)?yīng)的標(biāo)識(shí)符。例如,被配置成存儲(chǔ)與由數(shù)據(jù)庫引擎導(dǎo)致的系統(tǒng)事件對(duì)應(yīng)的事件消息的數(shù)據(jù)庫表可以包括分離的列,分離的列用于SQL錯(cuò)誤代碼、對(duì)引起系統(tǒng)事件的查詢進(jìn)行標(biāo)識(shí)的查詢ID、例如目錄(catalog)、架構(gòu)(schema)和對(duì)應(yīng)表的表名這樣的表標(biāo)識(shí)符等等。被配置成存儲(chǔ)與由存儲(chǔ)系統(tǒng)產(chǎn)生的系統(tǒng)事件對(duì)應(yīng)的事件消息的數(shù)據(jù)庫表可以包括分離的列,分離的列用于磁盤標(biāo)識(shí)符、磁盤狀態(tài)和錯(cuò)誤代碼等等。在實(shí)施例中,SQL事件用戶204還使用模板工具208產(chǎn)生每條事件消息的文本表示,模板工具208包括從令牌到英語語言文本消息或其它自然語言表示的映射。以此方式,SQL事件用戶204可以將事件消息的每個(gè)令牌替換成文本表示。事件消息的文本表示可以與令牌化的事件消息一起存儲(chǔ)至事件儲(chǔ)存庫106中。以此方式,被存儲(chǔ)至事件儲(chǔ)存庫106中的事件消息的文本表示可以使用自然語言關(guān)鍵字檢索來檢索。在實(shí)施例中,SQL事件用戶204將事件消息的文本表示公布給計(jì)算機(jī)系統(tǒng)100中的其它事件用戶。在實(shí)施例中,事件管理系統(tǒng)可以被配置成即使事件儲(chǔ)存庫106發(fā)生故障或者因別的原因不可用,也捕獲事件消息。例如,事件管理模塊可以包括用于如果事件儲(chǔ)存庫106不可用則存儲(chǔ)事件消息的備份文件210。備份文件可以是用于臨時(shí)存儲(chǔ)事件消息的普通文件(flat file)。如果SQL事件用戶確定事件儲(chǔ)存庫106不可用,則SQL事件用戶將事件消息存儲(chǔ)至備份文件。當(dāng)事件儲(chǔ)存庫106變得可用時(shí),SQL事件用戶可以自動(dòng)檢索被存儲(chǔ)至備份文件中的任何事件消息,產(chǎn)生相應(yīng)的數(shù)據(jù)庫記錄,并且將數(shù)據(jù)庫記錄存儲(chǔ)至事件儲(chǔ)存庫106。在實(shí)施例中,一個(gè)或多個(gè)附加事件用戶212可以避開事件儲(chǔ)存庫106而訂閱由數(shù)據(jù)中介器202公布的事件消息。以此方式,系統(tǒng)管理員或管理軟件能夠在事件消息發(fā)生時(shí)查看事件消息的實(shí)時(shí)流。圖3是根據(jù)本發(fā)明實(shí)施例的用于處理系統(tǒng)事件的事件系統(tǒng)體系結(jié)構(gòu)的框圖。事件體系結(jié)構(gòu)由附圖標(biāo)記300引用,并且可以包括多個(gè)處理模塊,例如事件用戶等等,多個(gè)處理模塊可以在硬件或軟件中實(shí)現(xiàn)。根據(jù)特定實(shí)現(xiàn)的設(shè)計(jì)屬性,處理模塊可以分布在整個(gè)計(jì)算機(jī)系統(tǒng)100中。事件系統(tǒng)體系結(jié)構(gòu)的示例可以包括關(guān)于圖2描述的事件發(fā)生器200、數(shù)據(jù)中介器202、SQL事件用戶204、事件儲(chǔ)存庫106、文本模板208和備份文件210。在圖3中還示出在事件體系結(jié)構(gòu)中可以包括的附加事件用戶212的一些示例。例如,事件體系結(jié)構(gòu)300可以包括問題用戶302,問題用戶302被配置成產(chǎn)生系統(tǒng)事件的問題表示。問題表示是對(duì)能夠識(shí)別系統(tǒng)事件的成因并且確定系統(tǒng)事件的成因是否已解決的一個(gè)或多個(gè)事件消息的自動(dòng)產(chǎn)生的解釋。例如,與磁盤錯(cuò)誤對(duì)應(yīng)的多個(gè)事件消息可以被問題用戶302解釋成確定計(jì)算機(jī)系統(tǒng)100中的特定磁盤是否斷開或以別的方式不工作。隨后的表示同一磁盤現(xiàn)在可用的事件消息可以被問題用戶302用來產(chǎn)生該問題已解決的指示。以此方式,問題用戶302可以合并相關(guān)事件消息,來提供計(jì)算機(jī)系統(tǒng)100的狀態(tài)的更相干的表示。問題用戶302可以直接從數(shù)據(jù)中介器202接收事件消息和/或從SQL事件用戶204接收再公布的事件消息。問題表示可以被存儲(chǔ)至問題表304中,問題表304可以例如被網(wǎng)絡(luò)管理員查看。事件體系結(jié)構(gòu)300還可以包括系統(tǒng)網(wǎng)絡(luò)管理協(xié)議(SNMP)用戶306。系統(tǒng)網(wǎng)絡(luò)管理協(xié)議是由互聯(lián)網(wǎng)工程任務(wù)組(IETF)限定的互聯(lián)網(wǎng)協(xié)議族的組成部分,并且包括一套用于網(wǎng)絡(luò)管理的標(biāo)準(zhǔn)。SNMP用戶306可以從數(shù)據(jù)中介器202直接接收事件消息或者接收由SQL事件用戶204再公布的事件消息。SNMP用戶306可以將所接收的事件消息中的一些事件消息或全部事件消息轉(zhuǎn)換成通常被稱為“陷阱(trap)”的系統(tǒng)通知。可以將SNMP陷阱發(fā)送至網(wǎng)絡(luò)管理者(例如管理員308或管理軟件)來提醒管理者關(guān)注保證管理注意的顯著系統(tǒng)事件,例如硬件設(shè)備、軟件子系統(tǒng)等等的狀態(tài)信息和錯(cuò)誤信息。事件體系結(jié)構(gòu)還可以包括公共信息模型(CM)用戶310。公共信息模型是由分布式管理任務(wù)組(DMTF)限定和公布的開放標(biāo)準(zhǔn),該開放標(biāo)準(zhǔn)限定了如何表示網(wǎng)絡(luò)中的管理元素。這旨在允許對(duì)這些管理元素的不依賴于它們的制造者或提供者的一致管理。公共信息模型使網(wǎng)絡(luò)中的多個(gè)子系統(tǒng)能夠交換關(guān)于這些管理元素的管理信息,并且使得能夠有效控制和管理計(jì)算機(jī)系統(tǒng)100的組件(圖1)。CM用戶310可以從數(shù)據(jù)中介器202直接接收事件消息或者接收由SQL事件用戶204再公布的事件消息。CIM用戶310可以將所接收的事件消息中的一些事件消息或全部事件消息轉(zhuǎn)換成CIM系統(tǒng)通知。可以將CIM系統(tǒng)通知發(fā)送至網(wǎng)絡(luò)管理者(例如管理員308或管理軟件)來提醒管理者關(guān)注保證管理注意的顯著系統(tǒng)事件,例如硬件設(shè)備、軟件子系統(tǒng)等等的狀態(tài)信息和錯(cuò)誤信息。事件體系結(jié)構(gòu)還可以包括系統(tǒng)日志用戶312。系統(tǒng)日志是由互聯(lián)網(wǎng)工程任務(wù)組(IETF)的系統(tǒng)日志工作組限定的用于記錄程序消息的標(biāo)準(zhǔn),并且可以用來向網(wǎng)絡(luò)管理員通知與網(wǎng)絡(luò)100有關(guān)的問題或性能問題。系統(tǒng)日志用戶可以接收由SQL事件用戶204產(chǎn)生和再公布的事件消息的文本表示。系統(tǒng)日志用戶可以將所接收的事件消息轉(zhuǎn)換至可以被網(wǎng)絡(luò)管理員查看或搜索的系統(tǒng)日志儲(chǔ)存庫314。在實(shí)施例中,如果事件儲(chǔ)存庫106不可用,那么系統(tǒng)日志儲(chǔ)存庫314可以充當(dāng)備份資源。圖4是根據(jù)本發(fā)明實(shí)施例的另一事件管理模塊104的框圖。事件管理模塊104可以包括平臺(tái)層400和表示層402。事件管理模塊104的平臺(tái)層可以包括關(guān)于圖2描述的事件發(fā)生器200、數(shù)據(jù)中介器202和SQL事件用戶204。此外,平臺(tái)層還可以包括附加事件提供者,例如配置管理數(shù)據(jù)庫(CMDB) 404和網(wǎng)絡(luò)監(jiān)控應(yīng)用406 (例如HP操作中心、HP通用CMDB軟件、Nagios 等)。配置管理數(shù)據(jù)庫404可以包括代表計(jì)算機(jī)系統(tǒng)100重要部件的授權(quán)配置的信息儲(chǔ)存庫。配置管理數(shù)據(jù)庫404可以用來存儲(chǔ)網(wǎng)絡(luò)組件之間的關(guān)系并且跟蹤網(wǎng)絡(luò)組件的配置。CMDB適配器408可以用來就計(jì)算機(jī)系統(tǒng)100的基礎(chǔ)結(jié)構(gòu)狀態(tài)查詢配置管理數(shù)據(jù)庫404。從配置管理數(shù)據(jù)庫404接收的信息可以被配置管理數(shù)據(jù)庫適配器408轉(zhuǎn)換成事件消息,可以將事件消息發(fā)送至數(shù)據(jù)中介器202。數(shù)據(jù)中介器202向SQL事件用戶204公布事件消息,SQL事件用戶204如關(guān)于圖2描述那樣將事件消息存儲(chǔ)至事件儲(chǔ)存庫106。網(wǎng)絡(luò)監(jiān)控應(yīng)用406監(jiān)控計(jì)算機(jī)系統(tǒng)100的部件,在問題或性能焦點(diǎn)產(chǎn)生或解決時(shí)提醒使用者。網(wǎng)絡(luò)監(jiān)控適配器410可以用來就計(jì)算機(jī)系統(tǒng)100的服務(wù)狀態(tài)查詢網(wǎng)絡(luò)監(jiān)控應(yīng)用406。從網(wǎng)絡(luò)監(jiān)控應(yīng)用406接收的信息可以被網(wǎng)絡(luò)監(jiān)控適配器410轉(zhuǎn)換成令牌化的事件消息,可以將令牌化的事件消息發(fā)送至數(shù)據(jù)中介器202。數(shù)據(jù)中介器202向SQL事件用戶204公布事件消息,SQL事件用戶204如關(guān)于圖2描述那樣將事件消息存儲(chǔ)至事件儲(chǔ)存庫106。在實(shí)施例中,計(jì)算機(jī)系統(tǒng)100的部件可以使用Linux軟件412來工作。Linux軟件412可以產(chǎn)生系統(tǒng)日志事件,系統(tǒng)日志事件如關(guān)于圖3描述那樣被發(fā)送至系統(tǒng)日志儲(chǔ)存庫314。如圖4所示,系統(tǒng)日志適配器414可以可操作地聯(lián)接至系統(tǒng)日志儲(chǔ)存庫314。系統(tǒng)日志適配器414可以從儲(chǔ)存庫讀取系統(tǒng)日志消息,將系統(tǒng)日志消息轉(zhuǎn)換成令牌化的事件消息并且將令牌化的事件消息發(fā)送至數(shù)據(jù)中介器202。系統(tǒng)日志適配器414可以被配置成僅公布未被系統(tǒng)日志用戶312寫入系統(tǒng)日志內(nèi)的那些消息或者那些消息的一子集,避免同一事件的重復(fù)再公布。數(shù)據(jù)中介器202將事件消息公布給SQL事件用戶204,SQL事件用戶204如關(guān)于圖2描述那樣將事件消息存儲(chǔ)至事件儲(chǔ)存庫106。事件管理模塊104的表示層可以包括一個(gè)或多個(gè)用戶界面,一個(gè)或多個(gè)用戶界面使例如系統(tǒng)管理員這樣的用戶能夠查看事件消息及其它系統(tǒng)消息。例如,表示層可以包括事件報(bào)告界面416,事件報(bào)告界面416使用戶對(duì)被存儲(chǔ)至事件儲(chǔ)存庫106的數(shù)據(jù)執(zhí)行數(shù)據(jù)庫查詢并且產(chǎn)生報(bào)告。表示層還可以包括事件查看器418,事件查看器418使使用者能夠在數(shù)據(jù)中介器202公布事件消息時(shí)實(shí)時(shí)查看事件消息。表示層還可以包括系統(tǒng)日志瀏覽器420,系統(tǒng)日志瀏覽器420可以由使用者從事件查看器418起動(dòng)。系統(tǒng)日志瀏覽器420使得用戶能夠查看存儲(chǔ)至系統(tǒng)日志儲(chǔ)存庫314的系統(tǒng)日志消息。圖5是根據(jù)本發(fā)明實(shí)施例的處理系統(tǒng)事件的方法的過程流程圖。該方法由附圖標(biāo)記500引用并且在框502處開始。在框502處,在計(jì)算機(jī)系統(tǒng)100的節(jié)點(diǎn)102之一(圖1)處檢測(cè)系統(tǒng)事件,并且通過例如事件管理模塊104產(chǎn)生事件消息。事件消息是根據(jù)一致性規(guī)則構(gòu)造的令牌化的事件消息,一致性規(guī)則使得能夠?qū)⒘钆苹氖录⑷珀P(guān)于圖2所述那樣映射至相關(guān)數(shù)據(jù)庫。在框504處,將令牌化的事件消息發(fā)送至SQL事件用戶204 (圖2)。例如,可以將事件消息發(fā)送至數(shù)據(jù)中介器202,數(shù)據(jù)中介器202向包括SQL事件用戶204在內(nèi)的訂閱事件消息的任何事件用戶公布事件消息。在框506處,可以根據(jù)令牌化的事件消息和一致性規(guī)則產(chǎn)生數(shù)據(jù)庫記錄。在設(shè)計(jì)令牌化的事件消息的結(jié)構(gòu)時(shí)使用的一致性規(guī)則與用來產(chǎn)生數(shù)據(jù)庫記錄的一致性規(guī)則是相同的。數(shù)據(jù)庫記錄可以被存儲(chǔ)至包括相關(guān)數(shù)據(jù)庫在內(nèi)的事件儲(chǔ)存庫106。在實(shí)施例匯總,如果事件儲(chǔ)存庫106不可用,則可以將令牌化的事件消息存儲(chǔ)至備份文件。當(dāng)事件儲(chǔ)存庫106變成可用時(shí),可以從備份文件中檢索令牌化的事件消息,將令牌化的事件消息轉(zhuǎn)換成數(shù)據(jù)庫記錄,并且將令牌化的事件消息存儲(chǔ)至事件儲(chǔ)存庫106。在框508處,可以產(chǎn)生令牌化的事件消息的文本表示并且將令牌化的事件消息的文本表示添加至事件儲(chǔ)存庫106。在框510處,令牌化的事件消息和/或令牌化的事件消息的文本表示可以向諸如系統(tǒng)日志事件用戶、CIM事件用戶、問題用戶和SNMP用戶等等的一個(gè)或多個(gè)附加事件用戶再公布。圖6是根據(jù)本發(fā)明實(shí)施例的對(duì)用于處理系統(tǒng)事件的代碼進(jìn)行存儲(chǔ)的非瞬態(tài)機(jī)器可讀介質(zhì)的框圖。非瞬態(tài)機(jī)器可讀介質(zhì)總體由附圖標(biāo)記600引用。非瞬態(tài)機(jī)器可讀介質(zhì)600可以對(duì)應(yīng)于任何典型的對(duì)例如程序代碼等這樣的計(jì)算機(jī)實(shí)現(xiàn)的指令進(jìn)行存儲(chǔ)的存儲(chǔ)設(shè)備。例如,非瞬態(tài)機(jī)器可讀介質(zhì)600可以包括非易失性存儲(chǔ)器、易失性存儲(chǔ)器和/或一個(gè)或多個(gè)存儲(chǔ)設(shè)備中的一個(gè)或多個(gè)存儲(chǔ)器和/或存儲(chǔ)設(shè)備。非易失性存儲(chǔ)器的示例包括但不限于電可擦寫可編程只讀存儲(chǔ)器(EEPROM)和只讀存儲(chǔ)器(ROM)。易失性存儲(chǔ)器的示例包括但不限于靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)和動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)。存儲(chǔ)設(shè)備的示例包括但不限于硬盤設(shè)備、光盤驅(qū)動(dòng)器、數(shù)字多用途光盤驅(qū)動(dòng)器和閃存設(shè)備。處理器602通常檢索和執(zhí)行在非瞬態(tài)機(jī)器可讀介質(zhì)600中存儲(chǔ)的指令,來處理系統(tǒng)事件。非易失性機(jī)器可讀介質(zhì)600可以包括被配置成指引處理器接收與計(jì)算機(jī)網(wǎng)絡(luò)100的處理節(jié)點(diǎn)106有關(guān)的令牌化的事件消息的指令,其中令牌化的事件消息是根據(jù)一致性規(guī)則構(gòu)造的。可以根據(jù)令牌化的事件消息和一致性規(guī)則產(chǎn)生數(shù)據(jù)庫記錄,并且可以將數(shù)據(jù)庫記錄存儲(chǔ)至包括相關(guān)數(shù)據(jù)庫在內(nèi)的事件儲(chǔ)存庫106。在實(shí)施例中,產(chǎn)生令牌化的事件消息的文本表示并且將令牌化的事件消息的文本表示添加至事件儲(chǔ)存庫106。在實(shí)施例中,如果事件儲(chǔ)存庫106不可用,則將令牌化的事件消息發(fā)送至備份文件210。當(dāng)事件儲(chǔ)存庫106變得可用時(shí),令牌化的事件消息可以從備份文件210寫入事件儲(chǔ)存庫10內(nèi)。
權(quán)利要求
1.一種計(jì)算機(jī)系統(tǒng)(100),包括: 包括事件發(fā)生器(200 )的處理節(jié)點(diǎn)(102 ),所述事件發(fā)生器(200 )被配置成檢測(cè)與所述處理節(jié)點(diǎn)(102)有關(guān)的系統(tǒng)錯(cuò)誤并且產(chǎn)生令牌化的事件消息,其中所述令牌化的事件消息是根據(jù)一致性規(guī)則構(gòu)造的; 數(shù)據(jù)中介器(202),被配置成接收所述令牌化的事件消息并且將所述令牌化的事件消息發(fā)送至結(jié)構(gòu)化查詢語言(SQL)事件用戶(204),所述SQL事件用戶(204)被配置成根據(jù)所述令牌化的事件消息和所述一致性規(guī)則產(chǎn)生數(shù)據(jù)庫記錄;以及 包括相關(guān)數(shù)據(jù)庫的事件儲(chǔ)存庫(106),所述事件儲(chǔ)存庫(106)被配置從所述SQL事件用戶(204)接收所述數(shù)據(jù)庫記錄。
2.根據(jù)權(quán)利要求1所述的計(jì)算機(jī)系統(tǒng),其中所述SQL事件用戶(204)被配置成產(chǎn)生所述令牌化的事件消息的文本表示并且將所述文本表示添加至所述事件儲(chǔ)存庫(106)。
3.根據(jù)權(quán)利要求2所述的計(jì)算機(jī)系統(tǒng),其中所述SQL事件用戶(204)被配置成向另一事件用戶(212)再公布所述令牌化的事件消息的所述文本表示。
4.根據(jù)權(quán)利要求3所述的計(jì)算機(jī)系統(tǒng),包括系統(tǒng)日志事件用戶(312),所述系統(tǒng)日志事件用戶(312)被配置成接收由所述SQL事件用戶(204)再公布的所述令牌化的事件消息的所述文本表示。
5.根據(jù)權(quán)利要求1所述的計(jì)算機(jī)系統(tǒng),包括多個(gè)附加處理節(jié)點(diǎn)(102),所述多個(gè)附加處理節(jié)點(diǎn)(102)被配置成產(chǎn)生根據(jù)所述一致性規(guī)則構(gòu)造的附加的令牌化的事件消息,其中基于所述附加的令牌化的事 件消息的附加數(shù)據(jù)庫記錄被存儲(chǔ)至所述相關(guān)數(shù)據(jù)庫的同一表內(nèi)。
6.根據(jù)權(quán)利要求1所述的計(jì)算機(jī)系統(tǒng),包括備份文件(210),所述備份文件(210被配置成如果所述事件儲(chǔ)存庫(106)不可用則從所述SQL事件用戶(204)接收所述令牌化的事件消息,其中所述SQL事件用戶(204 )在所述事件儲(chǔ)存庫(106 )變得可用時(shí)將所述令牌化的事件消息從所述備份文件(210)寫入所述事件儲(chǔ)存庫(106)。
7.根據(jù)權(quán)利要求1所述的計(jì)算機(jī)系統(tǒng),包括附加事件用戶(212),所述附加事件用戶(212)被配置成接收所述令牌化的事件消息或者所述令牌化的事件消息的文本版本,其中所述附加用戶包括公共信息模型(CM)用戶(310)、系統(tǒng)網(wǎng)絡(luò)管理協(xié)議(SNMP)用戶(206)、問題用戶(302))或它們的組合。
8.一種方法,包括: 檢測(cè)與計(jì)算機(jī)網(wǎng)絡(luò)(100)的處理節(jié)點(diǎn)(102)有關(guān)的系統(tǒng)事件并且產(chǎn)生與所述系統(tǒng)事件對(duì)應(yīng)的令牌化的事件消息(步驟502),其中所述令牌化的事件消息是根據(jù)一致性規(guī)則構(gòu)造的; 將所述令牌化的事件消息發(fā)送至SQL事件用戶(204)(步驟504); 根據(jù)所述令牌化的事件消息和所述一致性規(guī)則產(chǎn)生數(shù)據(jù)庫記錄(步驟506);并且 將所述數(shù)據(jù)庫記錄存儲(chǔ)至包括相關(guān)數(shù)據(jù)庫的事件儲(chǔ)存庫(106)(步驟506)。
9.根據(jù)權(quán)利要求8所述的方法,包括:產(chǎn)生所述令牌化的事件消息的文本表示(步驟508 )并且將所述文本表示添加至所述事件儲(chǔ)存庫(106 )。
10.根據(jù)權(quán)利要求9所述的方法,包括:向另一事件用戶(212)再公布所述令牌化的事件消息的所述文本表示(步驟510)。
11.根據(jù)權(quán)利要求8所述的方法,包括如果所述事件儲(chǔ)存庫(106)不可用則將所述事件消息發(fā)送至備份文件(210),并且在所述事件儲(chǔ)存庫(106)變得可用時(shí)將所述令牌化的事件消息從所述備份文件(210)寫入所述事件儲(chǔ)存庫(106)中。
12.根據(jù)權(quán)利要求8所述的方法,包括向附加用戶(212)公布所述令牌化的事件消息或者所述令牌化的事件消息的文本版本,所述附加用戶(212)包括公共信息模型(CIM)用戶(310)、系統(tǒng)網(wǎng)絡(luò)管理協(xié)議(SNMP)用戶(306)、問題用戶(302)或它們的組合(步驟510)。
13.一種非瞬態(tài)計(jì)算機(jī)可讀介質(zhì),包括被配置成指引處理器執(zhí)行下面步驟的指令: 接收與計(jì)算機(jī)網(wǎng)絡(luò)(100)的處理節(jié)點(diǎn)(106)有關(guān)的令牌化的事件消息,其中所述令牌化的事件消息是根據(jù)一致性規(guī)則構(gòu)造的;以及 根據(jù)所述令牌化的事件消息和所述一致性規(guī)則產(chǎn)生數(shù)據(jù)庫記錄,并且將所述數(shù)據(jù)庫記錄存儲(chǔ)至包括相關(guān)數(shù)據(jù)庫在內(nèi)的事件儲(chǔ)存庫(106 )。
14.根據(jù)權(quán)利要求13所述的非瞬態(tài)計(jì)算機(jī)可讀介質(zhì),包括:被配置成指引所述處理器執(zhí)行下面步驟的指令:產(chǎn)生所述令牌化的事件消息的文本表示并且將所述文本表示添加至所述事件儲(chǔ)存庫(106)。
15.根據(jù)權(quán)利要求13所述的非瞬態(tài)計(jì)算機(jī)可讀介質(zhì),包括被配置成指引所述處理器執(zhí)行下面步驟的指令:如果所述事件儲(chǔ)存庫(106)不可用,則向備份文件(210)發(fā)送所述令牌化的事件消息,以及當(dāng)所 述事件儲(chǔ)存庫(106)變得可用時(shí),則將所述令牌化的事件消息從所述備份文件(210)寫入所述事件儲(chǔ)存庫(106)中。
全文摘要
本公開提供一種具有事件處理體系結(jié)構(gòu)的計(jì)算機(jī)系統(tǒng)。該計(jì)算機(jī)系統(tǒng)包括處理節(jié)點(diǎn)(104),處理節(jié)點(diǎn)包括被配置成檢測(cè)與所述處理節(jié)點(diǎn)(104)對(duì)應(yīng)的系統(tǒng)錯(cuò)誤并且產(chǎn)生令牌化的事件消息的事件發(fā)生器(200)。所述令牌化的事件消息是根據(jù)一致性規(guī)則構(gòu)造的。該系統(tǒng)還包括數(shù)據(jù)中介器(202),數(shù)據(jù)中介器(202)被配置成接收令牌化的事件消息并且向結(jié)構(gòu)化查詢語言(SQL)事件用戶(204)發(fā)送令牌化的事件消息。SQL事件用戶(204)被配置成根據(jù)令牌化的事件消息和一致性規(guī)則產(chǎn)生數(shù)據(jù)庫記錄。該系統(tǒng)還包括具有相關(guān)數(shù)據(jù)庫的事件儲(chǔ)存庫(106),事件儲(chǔ)存庫(106)被配置從SQL事件用戶(204)接收數(shù)據(jù)庫記錄。
文檔編號(hào)G06F15/76GK103080922SQ201080068990
公開日2013年5月1日 申請(qǐng)日期2010年10月6日 優(yōu)先權(quán)日2010年10月6日
發(fā)明者大衛(wèi)·W·伯德索爾, 岡納·D·塔珀, 阿齊姆·法特希 申請(qǐng)人:惠普發(fā)展公司,有限責(zé)任合伙企業(yè)