本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,尤其涉及一種系統(tǒng)監(jiān)控方法及裝置。
背景技術(shù):
基于大數(shù)據(jù)的業(yè)務(wù)處理系統(tǒng),已被廣泛應(yīng)用在電子商務(wù)平臺、信息管理中心等應(yīng)用場景,這類業(yè)務(wù)處理系統(tǒng)具有實(shí)時處理數(shù)據(jù)量大,處理速度快的特點(diǎn)。在業(yè)務(wù)數(shù)據(jù)的處理過程中,為了維護(hù)業(yè)務(wù)系統(tǒng)的穩(wěn)定,需要實(shí)時監(jiān)控業(yè)務(wù)數(shù)據(jù),并在出現(xiàn)異常數(shù)據(jù)時進(jìn)行告警。
目前,進(jìn)行異常數(shù)據(jù)分析和告警的方式,主要還是對業(yè)務(wù)日志進(jìn)行分析,對基于大數(shù)據(jù)的業(yè)務(wù)處理系統(tǒng)的異常或故障進(jìn)行回溯,并向技術(shù)人員發(fā)送告警信息并通報異常點(diǎn)。但是,隨著近幾年互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,業(yè)務(wù)處理系統(tǒng)愈發(fā)復(fù)雜,實(shí)時刷新的業(yè)務(wù)日志的數(shù)據(jù)量龐大,導(dǎo)致了業(yè)務(wù)日志越來越動態(tài)化,現(xiàn)有的對業(yè)務(wù)日志進(jìn)行分析的方案已經(jīng)難以滿足數(shù)據(jù)量龐大的業(yè)務(wù)日志,導(dǎo)致異常點(diǎn)排查效率降低,技術(shù)人員難以及時獲取告警信息。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的實(shí)施例提供一種系統(tǒng)監(jiān)控方法及裝置,能夠提高業(yè)務(wù)系統(tǒng)中的異常點(diǎn)的排查效率。
為達(dá)到上述目的,本發(fā)明的實(shí)施例采用如下技術(shù)方案:
第一方面,本發(fā)明的實(shí)施例提供一種系統(tǒng)監(jiān)控方法,包括:
根據(jù)業(yè)務(wù)系統(tǒng)的運(yùn)行數(shù)據(jù),生成日志狀態(tài)信息,所述日志狀態(tài)信息包括:時間信息、線程信息、日志跟蹤號和監(jiān)控消息,所述日志狀態(tài)信息與所述日志狀態(tài)信息關(guān)聯(lián)的日志數(shù)據(jù)對應(yīng)相同的日志跟蹤號,所述監(jiān)控消息用于記錄設(shè)置 在所述業(yè)務(wù)系統(tǒng)中的監(jiān)控點(diǎn)的位置;
當(dāng)所述業(yè)務(wù)系統(tǒng)出現(xiàn)異常業(yè)務(wù)數(shù)據(jù)時,提取對應(yīng)所述異常業(yè)務(wù)數(shù)據(jù)的日志狀態(tài)信息,并確定對應(yīng)所述異常業(yè)務(wù)數(shù)據(jù)的日志狀態(tài)信息的監(jiān)控點(diǎn)在所述業(yè)務(wù)系統(tǒng)中的位置;
根據(jù)所述監(jiān)控點(diǎn)在所述業(yè)務(wù)系統(tǒng)中的位置,確定所述業(yè)務(wù)系統(tǒng)中的發(fā)生異常的環(huán)節(jié)。
結(jié)合第一方面,在第一方面的第一種可能的實(shí)現(xiàn)方式中,所述根據(jù)業(yè)務(wù)系統(tǒng)的運(yùn)行數(shù)據(jù),生成日志狀態(tài)信息,包括:
根據(jù)所述業(yè)務(wù)系統(tǒng)各個運(yùn)行環(huán)節(jié)上的運(yùn)行數(shù)據(jù),提取各監(jiān)控點(diǎn)所在環(huán)節(jié)的線程信息和監(jiān)控消息,并依照當(dāng)前時間生成日志狀態(tài)信息對應(yīng)的時間信息和日志跟蹤號,所述線程信息包括監(jiān)控點(diǎn)的線程名稱,所述監(jiān)控消息包括:前綴信息和業(yè)務(wù)監(jiān)控內(nèi)容,所述前綴信息用于表示所述日志數(shù)據(jù)在所述業(yè)務(wù)系統(tǒng)中的索引,一種日志數(shù)據(jù)的格式對應(yīng)一個前綴信息。
結(jié)合第一方面,在第一方面的第二種可能的實(shí)現(xiàn)方式中,在根據(jù)業(yè)務(wù)系統(tǒng)的運(yùn)行數(shù)據(jù),生成日志狀態(tài)信息之后,還包括:
將生成的日志狀態(tài)信息以key和value形式存入hbase集群,其中,key的規(guī)則內(nèi)容包括:計算周期、監(jiān)控編號、路由列和時間戳;
所述計算周期的設(shè)定范圍包括:秒級、分鐘級或5分鐘級,所述監(jiān)控編號用于表示監(jiān)控點(diǎn)所在數(shù)據(jù)庫記錄的主鍵編號,所述路由列用于表示對應(yīng)于監(jiān)控點(diǎn)的發(fā)送日志數(shù)據(jù)所通過的路由設(shè)備,其中,同一種日志數(shù)據(jù)通過相同的路由設(shè)備發(fā)送至計算設(shè)備,所述時間戳用于表示按照指定規(guī)則排序的時間點(diǎn)。
結(jié)合第一方面,在第一方面的第三種可能的實(shí)現(xiàn)方式中,所述提取對應(yīng)所述異常業(yè)務(wù)數(shù)據(jù)的日志狀態(tài)信息,包括:
獲取所述業(yè)務(wù)系統(tǒng)的業(yè)務(wù)類型信息,并確定對應(yīng)所述業(yè)務(wù)類型信息預(yù)設(shè)順序;
按照所述預(yù)設(shè)順序讀取所述日志狀態(tài)信息中的時間信息、線程信息、日志跟蹤號和監(jiān)控消息。
結(jié)合第一方面,在第一方面的第四種可能的實(shí)現(xiàn)方式中,還包括:
獲取對應(yīng)所述業(yè)務(wù)系統(tǒng)的配置模板,所述配置模板用于表示各個監(jiān)控點(diǎn)的配置位置;
根據(jù)所述配置模板更新或配置所述業(yè)務(wù)系統(tǒng)中的監(jiān)控點(diǎn)。
第二方面,本發(fā)明的實(shí)施例提供一種系統(tǒng)監(jiān)控裝置,包括:
日志處理模塊,用于根據(jù)業(yè)務(wù)系統(tǒng)的運(yùn)行數(shù)據(jù),生成日志狀態(tài)信息,所述日志狀態(tài)信息包括:時間信息、線程信息、日志跟蹤號和監(jiān)控消息,所述日志狀態(tài)信息與所述日志狀態(tài)信息關(guān)聯(lián)的日志數(shù)據(jù)對應(yīng)相同的日志跟蹤號,所述監(jiān)控消息用于記錄設(shè)置在所述業(yè)務(wù)系統(tǒng)中的監(jiān)控點(diǎn)的位置;
監(jiān)控模塊,用于當(dāng)所述業(yè)務(wù)系統(tǒng)出現(xiàn)異常業(yè)務(wù)數(shù)據(jù)時,提取對應(yīng)所述異常業(yè)務(wù)數(shù)據(jù)的日志狀態(tài)信息,并確定對應(yīng)所述異常業(yè)務(wù)數(shù)據(jù)的日志狀態(tài)信息的監(jiān)控點(diǎn)在所述業(yè)務(wù)系統(tǒng)中的位置;
定位模塊,用于根據(jù)所述監(jiān)控點(diǎn)在所述業(yè)務(wù)系統(tǒng)中的位置,確定所述業(yè)務(wù)系統(tǒng)中的發(fā)生異常的環(huán)節(jié)。
結(jié)合第二方面,在第二方面的第一種可能的實(shí)現(xiàn)方式中,所述日志處理模塊,具體用于根據(jù)所述業(yè)務(wù)系統(tǒng)各個運(yùn)行環(huán)節(jié)上的運(yùn)行數(shù)據(jù),提取各監(jiān)控點(diǎn)所在環(huán)節(jié)的線程信息和監(jiān)控消息,并依照當(dāng)前時間生成日志狀態(tài)信息對應(yīng)的時間信息和日志跟蹤號,所述線程信息包括監(jiān)控點(diǎn)的線程名稱,所述監(jiān)控消息包括: 前綴信息和業(yè)務(wù)監(jiān)控內(nèi)容,所述前綴信息用于表示所述日志數(shù)據(jù)在所述業(yè)務(wù)系統(tǒng)中的索引,一種日志數(shù)據(jù)的格式對應(yīng)一個前綴信息。
結(jié)合第二方面,在第二方面的第二種可能的實(shí)現(xiàn)方式中,還包括:存儲管理模塊,用于在根據(jù)業(yè)務(wù)系統(tǒng)的運(yùn)行數(shù)據(jù),生成日志狀態(tài)信息之后,將生成的日志狀態(tài)信息以key和value形式存入hbase集群,其中,key的規(guī)則內(nèi)容包括:計算周期、監(jiān)控編號、路由列和時間戳;
所述計算周期的設(shè)定范圍包括:秒級、分鐘級或5分鐘級,所述監(jiān)控編號用于表示監(jiān)控點(diǎn)所在數(shù)據(jù)庫記錄的主鍵編號,所述路由列用于表示對應(yīng)于監(jiān)控點(diǎn)的發(fā)送日志數(shù)據(jù)所通過的路由設(shè)備,其中,同一種日志數(shù)據(jù)通過相同的路由設(shè)備發(fā)送至計算設(shè)備,所述時間戳用于表示按照指定規(guī)則排序的時間點(diǎn)。
結(jié)合第二方面,在第二方面的第三種可能的實(shí)現(xiàn)方式中,所述監(jiān)控模塊,具體用于獲取所述業(yè)務(wù)系統(tǒng)的業(yè)務(wù)類型信息,并確定對應(yīng)所述業(yè)務(wù)類型信息預(yù)設(shè)順序;并按照所述預(yù)設(shè)順序讀取所述日志狀態(tài)信息中的時間信息、線程信息、日志跟蹤號和監(jiān)控消息。
結(jié)合第二方面,在第二方面的第四種可能的實(shí)現(xiàn)方式中,還包括:配置模塊,用于獲取對應(yīng)所述業(yè)務(wù)系統(tǒng)的配置模板,所述配置模板用于表示各個監(jiān)控點(diǎn)的配置位置;并根據(jù)所述配置模板更新或配置所述業(yè)務(wù)系統(tǒng)中的監(jiān)控點(diǎn)。
本發(fā)明實(shí)施例提供的系統(tǒng)監(jiān)控方法及裝置,根據(jù)業(yè)務(wù)系統(tǒng)的運(yùn)行數(shù)據(jù)實(shí)時生成相應(yīng)的日志狀態(tài)信息,并在業(yè)務(wù)系統(tǒng)出現(xiàn)異常業(yè)務(wù)數(shù)據(jù)時,提取對應(yīng)異常業(yè)務(wù)數(shù)據(jù)的日志狀態(tài)信息,并依據(jù)日志狀態(tài)信息確定監(jiān)控點(diǎn)在業(yè)務(wù)系統(tǒng)中的位置,從而根據(jù)監(jiān)控點(diǎn)在業(yè)務(wù)系統(tǒng)中的位置,確定業(yè)務(wù)系統(tǒng)中的發(fā)生異常的環(huán)節(jié)。相對于現(xiàn)有技術(shù)中直接分析業(yè)務(wù)系統(tǒng)的業(yè)務(wù)日志進(jìn)行異常排查進(jìn)行告警的方式,由于日志狀態(tài)信息的數(shù)據(jù)量極小且能夠快速指向監(jiān)控點(diǎn),實(shí)現(xiàn)了在基于大 數(shù)據(jù)的業(yè)務(wù)處理系統(tǒng)中,對發(fā)生異常業(yè)務(wù)數(shù)據(jù)進(jìn)行回溯并快速定位異常點(diǎn),從而提高異常點(diǎn)排查效率并能夠及時發(fā)出告警信息。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對實(shí)施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其它的附圖。
圖1為本發(fā)明實(shí)施例提供的一種系統(tǒng)架構(gòu)示意圖;
圖2為本發(fā)明實(shí)施例提供的另一種系統(tǒng)架構(gòu)示意圖;
圖3為本發(fā)明實(shí)施例提供的系統(tǒng)監(jiān)控方法的流程示意圖;
圖4、圖5、圖6為本發(fā)明實(shí)施例提供的系統(tǒng)監(jiān)控裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
為使本領(lǐng)域技術(shù)人員更好地理解本發(fā)明的技術(shù)方案,下面結(jié)合附圖和具體實(shí)施方式對本發(fā)明作進(jìn)一步詳細(xì)描述。下文中將詳細(xì)描述本發(fā)明的實(shí)施方式,所述實(shí)施方式的示例在附圖中示出,其中自始至終相同或類似的標(biāo)號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實(shí)施方式是示例性的,僅用于解釋本發(fā)明,而不能解釋為對本發(fā)明的限制。本技術(shù)領(lǐng)域技術(shù)人員可以理解,除非特意聲明,這里使用的單數(shù)形式“一”、“一個”、“所述”和“該”也可包括復(fù)數(shù)形式。應(yīng)該進(jìn)一步理解的是,本發(fā)明的說明書中使用的措辭“包括”是指存在所述特征、整數(shù)、步驟、操作、元件和/或組件,但是并不排除存在或添加一個或多個其他特征、整數(shù)、步驟、操作、元件、組件和/或它們的組。應(yīng)該理解,當(dāng)我們稱元件被“連接”或“耦接”到另一元件時,它可以直接連接或耦接到其他元件,或者也可以存在中間元件。此外,這里使用的“連接” 或“耦接”可以包括無線連接或耦接。這里使用的措辭“和/或”包括一個或更多個相關(guān)聯(lián)的列出項(xiàng)的任一單元和全部組合。本技術(shù)領(lǐng)域技術(shù)人員可以理解,除非另外定義,這里使用的所有術(shù)語(包括技術(shù)術(shù)語和科學(xué)術(shù)語)具有與本發(fā)明所屬領(lǐng)域中的普通技術(shù)人員的一般理解相同的意義。還應(yīng)該理解的是,諸如通用字典中定義的那些術(shù)語應(yīng)該被理解為具有與現(xiàn)有技術(shù)的上下文中的意義一致的意義,并且除非像這里一樣定義,不會用理想化或過于正式的含義來解釋。
本實(shí)施例的執(zhí)行過程,具體可以運(yùn)行在一種如圖1所示的監(jiān)控系統(tǒng)中,其中用于業(yè)務(wù)監(jiān)控的服務(wù)器集群與storm計算集群向量;并通過kafka(一種高吞吐量的分布式發(fā)布訂閱消息系統(tǒng))集群連接業(yè)務(wù)系統(tǒng)并進(jìn)行數(shù)據(jù)交互??蛇x的,本實(shí)施例中,由運(yùn)行在業(yè)務(wù)系統(tǒng)上的日志采集客戶端實(shí)時采集并通過kafka集群向業(yè)務(wù)監(jiān)控的服務(wù)器集群上報運(yùn)行數(shù)據(jù)(在本實(shí)施例中,日志數(shù)據(jù)可以理解為運(yùn)行數(shù)據(jù)的一部分,或者運(yùn)行數(shù)據(jù)與日志數(shù)據(jù)也可以分別上報),并由用于業(yè)務(wù)監(jiān)控的服務(wù)器集群執(zhí)行本實(shí)施例提供的方法流程或是運(yùn)行本實(shí)施例提供的裝置模塊。其中,如圖2所示的,用于業(yè)務(wù)監(jiān)控的服務(wù)器集群中可以包括:redis集群、mysql集群、hbase/hadoop集群和配置展現(xiàn)系統(tǒng)。運(yùn)維/監(jiān)控人員可以通過配置展現(xiàn)系統(tǒng)查詢用于業(yè)務(wù)監(jiān)控的服務(wù)器集群中的數(shù)據(jù),尤其是日志狀態(tài)信息和業(yè)務(wù)系統(tǒng)向用于業(yè)務(wù)監(jiān)控的服務(wù)器集群上報的數(shù)據(jù)。具體的,redis集群用于存儲實(shí)時數(shù)據(jù),比如實(shí)時記錄的業(yè)務(wù)系統(tǒng)的運(yùn)行數(shù)據(jù)、刷新速率較快的數(shù)據(jù);mysql集群用于存儲歷史數(shù)據(jù),比如:日志狀態(tài)信息和業(yè)務(wù)系統(tǒng)的運(yùn)行數(shù)據(jù)中需要保留一定時間的數(shù)據(jù);hbase/hadoop集群用于存儲歷史數(shù)據(jù),比如:日志狀態(tài)信息和業(yè)務(wù)系統(tǒng)的運(yùn)行數(shù)據(jù)中需要保留一定時間的數(shù)據(jù);mysql集群用于存儲配置數(shù)據(jù),比如:配置模板。
本發(fā)明實(shí)施例提供一種系統(tǒng)監(jiān)控方法,如圖3所示,包括:
s1、根據(jù)業(yè)務(wù)系統(tǒng)的運(yùn)行數(shù)據(jù),生成日志狀態(tài)信息。
其中,所述日志狀態(tài)信息包括:時間信息、線程信息、日志跟蹤號和監(jiān)控消息,與所述日志狀態(tài)信息關(guān)聯(lián)的日志數(shù)據(jù)對應(yīng)相同的日志跟蹤號,所述監(jiān)控消息用于記錄設(shè)置在所述業(yè)務(wù)系統(tǒng)中的監(jiān)控點(diǎn)的位置。
s2、當(dāng)所述業(yè)務(wù)系統(tǒng)出現(xiàn)異常業(yè)務(wù)數(shù)據(jù)時,提取對應(yīng)所述異常業(yè)務(wù)數(shù)據(jù)的日志狀態(tài)信息,并確定對應(yīng)所述異常業(yè)務(wù)數(shù)據(jù)的日志狀態(tài)信息的監(jiān)控點(diǎn)在所述業(yè)務(wù)系統(tǒng)中的位置。
其中,可以由業(yè)務(wù)系統(tǒng)檢測到業(yè)務(wù)異常時,判定出現(xiàn)異常業(yè)務(wù)數(shù)據(jù);或者由用于業(yè)務(wù)監(jiān)控的服務(wù)器集群實(shí)時監(jiān)控業(yè)務(wù)系統(tǒng),并在檢測到業(yè)務(wù)異常時,判定出現(xiàn)異常業(yè)務(wù)數(shù)據(jù)。
在本實(shí)施例中,異常業(yè)務(wù)數(shù)據(jù)可以包括:業(yè)務(wù)系統(tǒng)在發(fā)生業(yè)務(wù)異常時所記錄的日志數(shù)據(jù)、狀態(tài)信息等運(yùn)行數(shù)據(jù)。在業(yè)務(wù)系統(tǒng)上報運(yùn)行數(shù)據(jù)的過程中,用于業(yè)務(wù)監(jiān)控的服務(wù)器集群實(shí)時生成對應(yīng)業(yè)務(wù)系統(tǒng)所上報的運(yùn)行數(shù)據(jù)的日志狀態(tài)信息。
s3、根據(jù)所述監(jiān)控點(diǎn)在所述業(yè)務(wù)系統(tǒng)中的位置,確定所述業(yè)務(wù)系統(tǒng)中的發(fā)生異常的環(huán)節(jié)。
在本實(shí)施例中,當(dāng)確定所述業(yè)務(wù)系統(tǒng)中的發(fā)生異常的環(huán)節(jié)后,用于業(yè)務(wù)監(jiān)控的服務(wù)器集群可以執(zhí)行告警流程。其中,告警規(guī)則可以基于存儲的key值進(jìn)行告警檢查,告警檢查統(tǒng)一使用帶有一個變量a的告警表達(dá)式:如:a<0.6,1000<a<2000;并以存儲的key確定告警路徑,且可以采用模糊匹配的方式,比如:1#1#cmb#*。當(dāng)實(shí)時檢查到滿足告警表達(dá)式后即觸發(fā)告警。告警頻率可以設(shè)置間隔時間來調(diào)整,如:30分鐘內(nèi)某個監(jiān)控點(diǎn)只告警一次;或者,可以記錄連續(xù)滿足表達(dá)式的次數(shù),次數(shù)達(dá)到預(yù)設(shè)值則進(jìn)行告警;或者,可以記錄累計滿 足表達(dá)式的次數(shù),次數(shù)達(dá)到預(yù)設(shè)門限則進(jìn)行告警。
本發(fā)明實(shí)施例提供的系統(tǒng)監(jiān)控方法,根據(jù)業(yè)務(wù)系統(tǒng)的運(yùn)行數(shù)據(jù)實(shí)時生成相應(yīng)的日志狀態(tài)信息,并在業(yè)務(wù)系統(tǒng)出現(xiàn)異常業(yè)務(wù)數(shù)據(jù)時,提取對應(yīng)異常業(yè)務(wù)數(shù)據(jù)的日志狀態(tài)信息,并依據(jù)日志狀態(tài)信息確定監(jiān)控點(diǎn)在業(yè)務(wù)系統(tǒng)中的位置,從而根據(jù)監(jiān)控點(diǎn)在業(yè)務(wù)系統(tǒng)中的位置,確定業(yè)務(wù)系統(tǒng)中的發(fā)生異常的環(huán)節(jié)。相對于現(xiàn)有技術(shù)中直接分析業(yè)務(wù)系統(tǒng)的業(yè)務(wù)日志進(jìn)行異常排查進(jìn)行告警的方式,由于日志狀態(tài)信息的數(shù)據(jù)量極小且能夠快速指向監(jiān)控點(diǎn),實(shí)現(xiàn)了在基于大數(shù)據(jù)的業(yè)務(wù)處理系統(tǒng)中,對發(fā)生異常業(yè)務(wù)數(shù)據(jù)進(jìn)行回溯并快速定位異常點(diǎn),從而提高異常點(diǎn)排查效率并能夠及時發(fā)出告警信息。
在本實(shí)施例中,所述根據(jù)業(yè)務(wù)系統(tǒng)的運(yùn)行數(shù)據(jù),生成日志狀態(tài)信息,包括:
根據(jù)所述業(yè)務(wù)系統(tǒng)各個運(yùn)行環(huán)節(jié)上的運(yùn)行數(shù)據(jù),提取各監(jiān)控點(diǎn)所在環(huán)節(jié)的線程信息和監(jiān)控消息,并依照當(dāng)前時間生成日志狀態(tài)信息對應(yīng)的時間信息和日志跟蹤號,所述線程信息包括監(jiān)控點(diǎn)的線程名稱,所述監(jiān)控消息包括:前綴信息和業(yè)務(wù)監(jiān)控內(nèi)容,所述前綴信息用于表示所述日志數(shù)據(jù)在所述業(yè)務(wù)系統(tǒng)中的索引,一種日志數(shù)據(jù)的格式對應(yīng)一個前綴信息。例如:在本實(shí)施例中,在業(yè)務(wù)系統(tǒng)告知異常后,用于業(yè)務(wù)監(jiān)控的服務(wù)器集群調(diào)用由運(yùn)行數(shù)據(jù)生成得到的日志狀態(tài)信息,對于日志狀態(tài)信息的格式設(shè)計包括如下內(nèi)容:
日志狀態(tài)信息的格式:時間|線程名|日志跟蹤號|監(jiān)控消息,樣例如下:
2015-07-2015:12:13,559|thread-192|traclecode|prefix=bank{“bankcode”:“cmb”,“bizcode”:“refund”,“respcode”:“success”}
2015-07-2015:12:16,559|thread-191|traclecode|prefix=bank{“bankcode”:“cmb”,“bizcode”:“refund”,“respcode”:“fail”}
2015-07-2015:12:32,559|thread-102|traclecode|prefix=bank{“bankcode”:“cmb”,“bizcode”:“refund”,“respcode”:“success”}
2015-07-2015:12:45,559|thread-143|traclecode|prefix=bank{“bankcode”:“cmb”,“bizcode”:“refund”,“respcode”:“fail”}
其中,時間信息、線程信息、日志跟蹤號和監(jiān)控消息等信息可以存儲為日志項(xiàng),日志項(xiàng)之間通過字符"|"分隔;時間信息記錄為【yyyy-mm-ddhh:mm:ss,sss】,日志時間可以記錄在日志狀態(tài)信息中的第一個位置;線程信息用于表示輸出當(dāng)前日志的線程名稱;日志跟蹤號,用于與其他業(yè)務(wù)日志中的日志關(guān)聯(lián)起來,以便異常點(diǎn)的定位。
監(jiān)控消息具體可以包括:前綴和監(jiān)控內(nèi)容(監(jiān)控內(nèi)容具體可以采用json格式)。其中,前綴可以如樣例中的內(nèi)容【prefix=bank】,其中bank表示日志監(jiān)控前綴信息,監(jiān)控消息中的前綴在系統(tǒng)中可以作為唯一索引,一般同一種日志格式的,只需要配置一個監(jiān)控前綴即可。監(jiān)控內(nèi)容可以如樣例中的內(nèi)容:
{“bankcode”:“cmb”,“bizcode”:“refund”,“responsecode”:“fail”}。
在本實(shí)施例中,還可以將全量數(shù)據(jù)以key和value形式存入hbase集群,包括:在根據(jù)業(yè)務(wù)系統(tǒng)的運(yùn)行數(shù)據(jù)生成日志狀態(tài)信息之后,將生成的日志狀態(tài)信息以key和value形式存入hbase集群其中,key表示在目前的hbase集群的存儲過程中使用的關(guān)鍵字,value表示在目前的hbase集群的存儲過程中使用的值。
其中,key的規(guī)則內(nèi)容包括:計算周期、監(jiān)控編號、路由列和時間戳。所述計算周期的設(shè)定范圍包括:秒級、分鐘級或5分鐘級,例如:如表1所示,key的規(guī)則:計算周期#監(jiān)控編號#路由列1#路由列2#......+時間戳;計算周期的設(shè)定:0是秒級,1是分鐘級,5是5分鐘級。所述監(jiān)控編號用于表示監(jiān)控點(diǎn)所在數(shù)據(jù)庫記錄的主鍵編號,所述路由列用于表示對應(yīng)于監(jiān)控點(diǎn)的發(fā)送日志數(shù)據(jù)所通過的路由設(shè)備,其中,同一種日志數(shù)據(jù)通過相同的路由設(shè)備發(fā)送至計算設(shè)備,所述時間戳用于表示按照指定規(guī)則排序的時間點(diǎn)。例如:如表1所示,監(jiān)控編號為監(jiān)控點(diǎn)所在數(shù)據(jù)庫記錄的主鍵編號;路由列為根據(jù)監(jiān)控點(diǎn)需要,將一類日志發(fā)送 到同一機(jī)器中進(jìn)行計算;時間戳為當(dāng)前計算周期的時間,比如5分鐘是1-5分鐘計算到5,6-10計算到10,比如:12:01,12:02,12:03,12:04,12:05計算值對應(yīng)的時間戳是12:05,再比如:12:16,12:17,12:18,12:19,12:20計算值對應(yīng)的時間戳是12:20。
表1
在本實(shí)施例中,所述提取對應(yīng)所述異常業(yè)務(wù)數(shù)據(jù)的日志狀態(tài)信息的具體方式,可以包括:
獲取所述業(yè)務(wù)系統(tǒng)的業(yè)務(wù)類型信息,并確定對應(yīng)所述業(yè)務(wù)類型信息預(yù)設(shè)順序。并按照所述預(yù)設(shè)順序讀取所述日志狀態(tài)信息中的時間信息、線程信息、日志跟蹤號和監(jiān)控消息。
在本實(shí)施例中,日志狀態(tài)信息的格式可以為:時間|線程名|日志跟蹤號|監(jiān)控消息,用于業(yè)務(wù)監(jiān)控的服務(wù)器集群可以按照日志狀態(tài)信息的字符排列順序依次讀取日志狀態(tài)信息中的時間信息、線程信息、日志跟蹤號和監(jiān)控消息等信息,可以按照預(yù)設(shè)順序讀取日志狀態(tài)信息中的時間信息、線程信息、日志跟蹤號和監(jiān)控消息等信息。
其中,預(yù)設(shè)順序?qū)?yīng)業(yè)務(wù)系統(tǒng)的業(yè)務(wù)類型,并將業(yè)務(wù)類型記錄為業(yè)務(wù)類型信息。例如:業(yè)務(wù)類型為短時間搶購,則預(yù)設(shè)順序中優(yōu)選讀取時間信息;再例如:業(yè)務(wù)類型為需要占用較多線程進(jìn)行并行處理的業(yè)務(wù),則預(yù)設(shè)順序中優(yōu)選讀取線程信息;再例如:業(yè)務(wù)類型為日志數(shù)據(jù)量較大的業(yè)務(wù),則,則預(yù)設(shè)順序中 優(yōu)選讀取日志跟蹤號;再例如:業(yè)務(wù)類型為業(yè)務(wù)環(huán)節(jié)較多或者較為復(fù)雜的業(yè)務(wù),則預(yù)設(shè)順序中優(yōu)選讀取監(jiān)控消息。
在本實(shí)施例中,針對不同的業(yè)務(wù)類型,可以在業(yè)務(wù)系統(tǒng)上線且加載該業(yè)務(wù)時自動根據(jù)配置模板在業(yè)務(wù)系統(tǒng)中的配置監(jiān)控點(diǎn),即本實(shí)施例中還可以還包括以下流程:獲取對應(yīng)所述業(yè)務(wù)系統(tǒng)的配置模板,所述配置模板用于表示各個監(jiān)控點(diǎn)的配置位置。并根據(jù)所述配置模板更新或配置所述業(yè)務(wù)系統(tǒng)中的監(jiān)控點(diǎn)。
具體的,日志狀態(tài)信息基于監(jiān)控點(diǎn)生成,設(shè)置監(jiān)控點(diǎn)在各個業(yè)務(wù)系統(tǒng),每一個業(yè)務(wù)系統(tǒng)中的各個業(yè)務(wù)環(huán)節(jié)可以進(jìn)一步設(shè)置子監(jiān)控點(diǎn),以便于用于業(yè)務(wù)監(jiān)控的服務(wù)器集群根據(jù)日志狀態(tài)信息查找監(jiān)控點(diǎn)所設(shè)置在的環(huán)節(jié),從而找到出現(xiàn)異?;蚴谴嬖趩栴}的環(huán)節(jié)。
本發(fā)明實(shí)施例還提供一種系統(tǒng)監(jiān)控裝置,如圖4所示,包括:
日志處理模塊,用于根據(jù)業(yè)務(wù)系統(tǒng)的運(yùn)行數(shù)據(jù),生成日志狀態(tài)信息,所述日志狀態(tài)信息包括:時間信息、線程信息、日志跟蹤號和監(jiān)控消息,所述日志狀態(tài)信息與所述日志狀態(tài)信息關(guān)聯(lián)的日志數(shù)據(jù)對應(yīng)相同的日志跟蹤號,所述監(jiān)控消息用于記錄設(shè)置在所述業(yè)務(wù)系統(tǒng)中的監(jiān)控點(diǎn)的位置。
監(jiān)控模塊,用于當(dāng)所述業(yè)務(wù)系統(tǒng)出現(xiàn)異常業(yè)務(wù)數(shù)據(jù)時,提取對應(yīng)所述異常業(yè)務(wù)數(shù)據(jù)的日志狀態(tài)信息,并確定對應(yīng)所述異常業(yè)務(wù)數(shù)據(jù)的日志狀態(tài)信息的監(jiān)控點(diǎn)在所述業(yè)務(wù)系統(tǒng)中的位置。
定位模塊,用于根據(jù)所述監(jiān)控點(diǎn)在所述業(yè)務(wù)系統(tǒng)中的位置,確定所述業(yè)務(wù)系統(tǒng)中的發(fā)生異常的環(huán)節(jié)。
在本實(shí)施例中,所述日志處理模塊,具體用于根據(jù)所述業(yè)務(wù)系統(tǒng)各個運(yùn)行環(huán)節(jié)上的運(yùn)行數(shù)據(jù),提取各監(jiān)控點(diǎn)所在環(huán)節(jié)的線程信息和監(jiān)控消息,并依照當(dāng)前時間生成日志狀態(tài)信息對應(yīng)的時間信息和日志跟蹤號,所述線程信息包括監(jiān) 控點(diǎn)的線程名稱,所述監(jiān)控消息包括:前綴信息和業(yè)務(wù)監(jiān)控內(nèi)容,所述前綴信息用于表示所述日志數(shù)據(jù)在所述業(yè)務(wù)系統(tǒng)中的索引,一種日志數(shù)據(jù)的格式對應(yīng)一個前綴信息。
在本實(shí)施例中,如圖5所示,還包括:存儲管理模塊,用于在根據(jù)業(yè)務(wù)系統(tǒng)的運(yùn)行數(shù)據(jù),生成日志狀態(tài)信息之后,將生成的日志狀態(tài)信息以key和value形式存入hbase集群,其中,key的規(guī)則內(nèi)容包括:計算周期、監(jiān)控編號、路由列和時間戳。
所述計算周期的設(shè)定范圍包括:秒級、分鐘級或5分鐘級,所述監(jiān)控編號用于表示監(jiān)控點(diǎn)所在數(shù)據(jù)庫記錄的主鍵編號,所述路由列用于表示對應(yīng)于監(jiān)控點(diǎn)的發(fā)送日志數(shù)據(jù)所通過的路由設(shè)備,其中,同一種日志數(shù)據(jù)通過相同的路由設(shè)備發(fā)送至計算設(shè)備,所述時間戳用于表示按照指定規(guī)則排序的時間點(diǎn)。
在本實(shí)施例中,所述監(jiān)控模塊,具體用于獲取所述業(yè)務(wù)系統(tǒng)的業(yè)務(wù)類型信息,并確定對應(yīng)所述業(yè)務(wù)類型信息預(yù)設(shè)順序。并按照所述預(yù)設(shè)順序讀取所述日志狀態(tài)信息中的時間信息、線程信息、日志跟蹤號和監(jiān)控消息。
在本實(shí)施例中,如圖6所示,還包括:配置模塊,用于獲取對應(yīng)所述業(yè)務(wù)系統(tǒng)的配置模板,所述配置模板用于表示各個監(jiān)控點(diǎn)的配置位置。并根據(jù)所述配置模板更新或配置所述業(yè)務(wù)系統(tǒng)中的監(jiān)控點(diǎn)。
本發(fā)明實(shí)施例提供的系統(tǒng)監(jiān)控裝置,根據(jù)業(yè)務(wù)系統(tǒng)的運(yùn)行數(shù)據(jù)實(shí)時生成相應(yīng)的日志狀態(tài)信息,并在業(yè)務(wù)系統(tǒng)出現(xiàn)異常業(yè)務(wù)數(shù)據(jù)時,提取對應(yīng)異常業(yè)務(wù)數(shù)據(jù)的日志狀態(tài)信息,并依據(jù)日志狀態(tài)信息確定監(jiān)控點(diǎn)在業(yè)務(wù)系統(tǒng)中的位置,從而根據(jù)監(jiān)控點(diǎn)在業(yè)務(wù)系統(tǒng)中的位置,確定業(yè)務(wù)系統(tǒng)中的發(fā)生異常的環(huán)節(jié)。相對于現(xiàn)有技術(shù)中直接分析業(yè)務(wù)系統(tǒng)的業(yè)務(wù)日志進(jìn)行異常排查進(jìn)行告警的方式,由于日志狀態(tài)信息的數(shù)據(jù)量極小且能夠快速指向監(jiān)控點(diǎn),實(shí)現(xiàn)了在基于大數(shù)據(jù)的 業(yè)務(wù)處理系統(tǒng)中,對發(fā)生異常業(yè)務(wù)數(shù)據(jù)進(jìn)行回溯并快速定位異常點(diǎn),從而提高異常點(diǎn)排查效率并能夠及時發(fā)出告警信息。
本說明書中的各個實(shí)施例均采用遞進(jìn)的方式描述,各個實(shí)施例之間相同相似的部分互相參見即可,每個實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處。尤其,對于設(shè)備實(shí)施例而言,由于其基本相似于方法實(shí)施例,所以描述得比較簡單,相關(guān)之處參見方法實(shí)施例的部分說明即可。本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分流程,是可以通過計算機(jī)程序來指令相關(guān)的硬件來完成,所述的程序可存儲于一計算機(jī)可讀取存儲介質(zhì)中,該程序在執(zhí)行時,可包括如上述各方法的實(shí)施例的流程。其中,所述的存儲介質(zhì)可為磁碟、光盤、只讀存儲記憶體(read-onlymemory,rom)或隨機(jī)存儲記憶體(randomaccessmemory,ram)等。以上所述,僅為本發(fā)明的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求的保護(hù)范圍為準(zhǔn)。