軟件系統(tǒng)的監(jiān)控方法和設(shè)備的制作方法
【專利摘要】公開一種軟件系統(tǒng)的監(jiān)控方法和設(shè)備。所述軟件系統(tǒng)的監(jiān)控方法包括:從多個(gè)功能模塊收集第一日志信息;將收集的第一日志信息轉(zhuǎn)換為統(tǒng)一的格式,從而產(chǎn)生第二日志信息;利用第二日志信息產(chǎn)生第三日志信息,第三日志信息反映功能模塊之間發(fā)生的交互;顯示第三日志信息。
【專利說(shuō)明】軟件系統(tǒng)的監(jiān)控方法和設(shè)備
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及軟件系統(tǒng)的監(jiān)控。更具體地講,涉及一種軟件系統(tǒng)的監(jiān)控方法和設(shè)備?!颈尘凹夹g(shù)】
[0002]為了保證軟件系統(tǒng)能夠正常運(yùn)行,提供期望的功能、對(duì)軟件系統(tǒng)進(jìn)行改進(jìn)以及處于安全目的的考慮,監(jiān)控軟件系統(tǒng)的運(yùn)行狀況是非常必要的。通常,利用軟件系統(tǒng)的運(yùn)行日志來(lái)監(jiān)控軟件系統(tǒng)的運(yùn)行情況。在監(jiān)控軟件系統(tǒng)時(shí),主要監(jiān)控一些預(yù)先確定的項(xiàng)目來(lái)生產(chǎn)日志文件。這樣,通過(guò)日志文件可以了解期望的軟件系統(tǒng)的運(yùn)行參數(shù)和狀態(tài)。
[0003]然而,隨著軟件技術(shù)的不斷發(fā)展,在大型軟件系統(tǒng),特別是大型互聯(lián)網(wǎng)在線平臺(tái)中,包含若干子系統(tǒng),不同子系統(tǒng)之間通過(guò)接口、腳本等來(lái)相互調(diào)用功能或請(qǐng)求服務(wù)。因此,由于軟件系統(tǒng)越來(lái)越復(fù)雜,對(duì)軟件系統(tǒng),特別是大型軟件系統(tǒng)的監(jiān)控越來(lái)越難。
[0004]圖1示出一個(gè)軟件系統(tǒng)的結(jié)構(gòu)的示意圖。A表示軟件系統(tǒng)的前端模塊,通常是面向用戶的(例如,軟件的用戶界面模塊、主程序模塊等),B1、B2、B3是服務(wù)模塊。模塊A可以調(diào)用模塊81、82、83,并且模塊則、82、83也可以相互調(diào)用。對(duì)于這樣的軟件系統(tǒng),在現(xiàn)有的軟件系統(tǒng)監(jiān)控中,通常僅是關(guān)注核心功能是否可用,即,模塊A是否能夠成功運(yùn)行并提供相應(yīng)的服務(wù)。換句話說(shuō),僅是通過(guò)模塊A的日志來(lái)監(jiān)控整個(gè)軟件系統(tǒng)。然而,由于整個(gè)軟件系統(tǒng)的復(fù)雜性,僅通過(guò)監(jiān)控模塊A并不能有效地對(duì)整個(gè)軟件系統(tǒng)進(jìn)行監(jiān)控,可能無(wú)法找到軟件系統(tǒng)存在的問(wèn)題,無(wú)法為軟件系統(tǒng)的進(jìn)一步改進(jìn)提供有效地幫助,并且無(wú)法找到一些安全方面的問(wèn)題。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的目的在于提供一種軟件系統(tǒng)的監(jiān)控方法和設(shè)備,其能夠更全面地監(jiān)控整個(gè)軟件系統(tǒng)。
[0006]本發(fā)明的另一個(gè)目的在于提供一種軟件系統(tǒng)的監(jiān)控方法和設(shè)備,其能夠根據(jù)預(yù)定信息字段對(duì)日志信息進(jìn)行聚合并且對(duì)預(yù)設(shè)的監(jiān)控項(xiàng)目進(jìn)行統(tǒng)計(jì),并且圖形化地顯示功能模塊之間的關(guān)系和交互狀態(tài)。
[0007]根據(jù)本發(fā)明的一方面,提供一種軟件系統(tǒng)的監(jiān)控方法,該軟件系統(tǒng)包括多個(gè)功能模塊,所述多個(gè)功能模塊中的至少一個(gè)功能模塊能夠向所述多個(gè)功能模塊中的至少一個(gè)另外的功能模塊請(qǐng)求服務(wù),其特征在于所述方法包括:從多個(gè)功能模塊收集第一日志信息;將收集的第一日志信息轉(zhuǎn)換為統(tǒng)一的格式,從而產(chǎn)生第二日志信息;利用第二日志信息產(chǎn)生第三日志信息,第三日志信息反映功能模塊之間發(fā)生的交互;顯示第三日志信息。
[0008]每個(gè)功能模塊可布置在至少一臺(tái)業(yè)務(wù)機(jī)器上。其中,所述將收集的第一日志信息轉(zhuǎn)換為統(tǒng)一的格式,從而產(chǎn)生第二日志信息的步驟可包括:從第一日志信息獲取以下字段來(lái)產(chǎn)生第二日志信息:請(qǐng)求來(lái)源方、請(qǐng)求功能模塊、請(qǐng)求的服務(wù)、被請(qǐng)求方、被請(qǐng)求功能模塊和請(qǐng)求的時(shí)間以及至少一個(gè)監(jiān)控字段,所述請(qǐng)求來(lái)源方由發(fā)出服務(wù)請(qǐng)求的業(yè)務(wù)機(jī)器的地址表示,所述被請(qǐng)求方由部署了被請(qǐng)求功能模塊的業(yè)務(wù)機(jī)器的地址表示。[0009]所述的監(jiān)控方法可還包括:預(yù)先配置基準(zhǔn)維度、多個(gè)監(jiān)控維度、至少一個(gè)監(jiān)控字段以及每個(gè)監(jiān)控字段的聚合方式,其中,所述基準(zhǔn)維度包括請(qǐng)求來(lái)源方、請(qǐng)求功能模塊、請(qǐng)求的服務(wù)、被請(qǐng)求方和被請(qǐng)求功能模塊,每個(gè)監(jiān)控維度包括基準(zhǔn)維度中的部分字段,所述監(jiān)控字段是請(qǐng)求的服務(wù)的測(cè)量參數(shù),所述監(jiān)控字段的聚合方式是求平均、計(jì)數(shù)或求和。
[0010]所述利用第二日志信息產(chǎn)生第三日志信息的步驟可包括:根據(jù)所述基準(zhǔn)維度,以預(yù)定的時(shí)間長(zhǎng)度為單位對(duì)第二日志信息進(jìn)行聚合,并根據(jù)每個(gè)監(jiān)控字段的聚合方式分別對(duì)每個(gè)預(yù)定時(shí)間長(zhǎng)度內(nèi)每個(gè)監(jiān)控字段的值進(jìn)行數(shù)值統(tǒng)計(jì),以產(chǎn)生細(xì)粒度的第二日志信息;根據(jù)每個(gè)所述監(jiān)控維度,對(duì)細(xì)粒度的第二日志信息進(jìn)行聚合,并根據(jù)每個(gè)監(jiān)控字段的聚合方式對(duì)每個(gè)監(jiān)控字段的值進(jìn)行數(shù)值統(tǒng)計(jì),以產(chǎn)生多個(gè)粗粒度數(shù)據(jù)作為第三日志信息。
[0011 ] 所述的監(jiān)控方法可還包括:確定各第三日志信息中的每個(gè)監(jiān)控字段的值是否相應(yīng)的監(jiān)控閾值,并且如果確定任一監(jiān)控字段的值超過(guò)相應(yīng)的監(jiān)控閾值,則為所述第三日志信息產(chǎn)生所述監(jiān)控字段超過(guò)監(jiān)控閾值的警報(bào)信息。
[0012]所述的監(jiān)控方法可還包括:將第三日志信息以及產(chǎn)生的警報(bào)信息存儲(chǔ)在數(shù)據(jù)庫(kù)中。
[0013]所述顯示第三日志信息的步驟可包括:根據(jù)用戶的請(qǐng)求,從數(shù)據(jù)庫(kù)中讀取特定的第三日志信息,并且圖形化地顯示特定的第三日志信息。
[0014]根據(jù)本發(fā)明的優(yōu)選實(shí)施例,在圖形化地顯示特定的第三日志信息的處理中,以用于產(chǎn)生第三日志信息的監(jiān)控維度中包含的請(qǐng)求來(lái)源方、請(qǐng)求功能模塊、被請(qǐng)求方或被請(qǐng)求功能模塊為節(jié)點(diǎn),以監(jiān)控維度中的監(jiān)控字段以及監(jiān)控閾值為邊,以監(jiān)控字段產(chǎn)生警報(bào)信息為邊的狀態(tài)來(lái)構(gòu)造圖形,并顯示構(gòu)造的圖形。
[0015]根據(jù)本發(fā)明的優(yōu)選實(shí)施例,在圖形化地顯示特定的第三日志信息的處理中,將特定的第三日志信息的監(jiān)控字段的值為縱坐標(biāo),將時(shí)間或監(jiān)控維度中的任一字段或多個(gè)字段的聚合作為橫坐標(biāo),將所述特定的第三日志信息顯示為曲線圖或柱狀圖。
[0016]所述第二日志信息物理上可以為一個(gè)或多個(gè),并且當(dāng)產(chǎn)生多個(gè)細(xì)粒度的第二日志信息時(shí),將所述多個(gè)細(xì)粒度的第二日志信息進(jìn)行匯聚。
[0017]根據(jù)本發(fā)明的另一方面,提供一種監(jiān)控軟件系統(tǒng)的設(shè)備,該軟件系統(tǒng)包括多個(gè)功能模塊,所述多個(gè)功能模塊中的至少一個(gè)功能模塊能夠向所述多個(gè)功能模塊中的至少一個(gè)另外的功能模塊請(qǐng)求服務(wù),其特征在于所述設(shè)備包括:第一模塊,用于從多個(gè)功能模塊收集第一日志信息;第二模塊,用于將收集的第一日志信息轉(zhuǎn)換為統(tǒng)一的格式,從而產(chǎn)生第二日志信息;第三模塊,用于利用第二日志信息產(chǎn)生第三日志信息,第三日志信息反映功能模塊之間發(fā)生的交互;第四模塊,用于顯示第三日志信息。
[0018]每個(gè)功能模塊可布置在至少一臺(tái)業(yè)務(wù)機(jī)器上。其中,第二模塊在將收集的第一日志信息轉(zhuǎn)換為統(tǒng)一的格式時(shí),可從第一日志信息獲取以下字段來(lái)產(chǎn)生第二日志信息:請(qǐng)求來(lái)源方、請(qǐng)求功能模塊、請(qǐng)求的服務(wù)、被請(qǐng)求方、被請(qǐng)求功能模塊和請(qǐng)求的時(shí)間以及至少一個(gè)監(jiān)控字段,所述請(qǐng)求來(lái)源方由發(fā)出服務(wù)請(qǐng)求的業(yè)務(wù)機(jī)器的地址表示,所述被請(qǐng)求方由部署了被請(qǐng)求功能模塊的業(yè)務(wù)機(jī)器的地址表示。
[0019]所述的設(shè)備可還包括:第五模塊,用于預(yù)先配置基準(zhǔn)維度、多個(gè)監(jiān)控維度、至少一個(gè)監(jiān)控字段以及每個(gè)監(jiān)控字段的聚合方式,其中,所述基準(zhǔn)維度包括請(qǐng)求來(lái)源方、請(qǐng)求功能模塊、請(qǐng)求的服務(wù)、被請(qǐng)求方和被請(qǐng)求功能模塊,每個(gè)監(jiān)控維度包括基準(zhǔn)維度中的部分字段,所述監(jiān)控字段是請(qǐng)求的服務(wù)的測(cè)量參數(shù),所述監(jiān)控字段的聚合方式是求平均、計(jì)數(shù)或求和。
[0020]第三模塊在利用第二日志信息產(chǎn)生第三日志信息時(shí),可根據(jù)所述基準(zhǔn)維度,以預(yù)定的時(shí)間長(zhǎng)度為單位對(duì)第二日志信息進(jìn)行聚合,并根據(jù)每個(gè)監(jiān)控字段的聚合方式分別對(duì)每個(gè)預(yù)定時(shí)間長(zhǎng)度內(nèi)每個(gè)監(jiān)控字段的值進(jìn)行數(shù)值統(tǒng)計(jì),以產(chǎn)生細(xì)粒度的第二日志信息;根據(jù)每個(gè)所述監(jiān)控維度,對(duì)細(xì)粒度的第二日志信息進(jìn)行聚合,并根據(jù)每個(gè)監(jiān)控字段的聚合方式對(duì)每個(gè)監(jiān)控字段的值進(jìn)行數(shù)值統(tǒng)計(jì),以產(chǎn)生多個(gè)粗粒度數(shù)據(jù)作為第三日志信息。
[0021]所述的設(shè)備可還包括:第六模塊,用于確定各第三日志信息中的每個(gè)監(jiān)控字段的值是否相應(yīng)的監(jiān)控閾值,并且如果確定任一監(jiān)控字段的值超過(guò)相應(yīng)的監(jiān)控閾值,則為所述第三日志信息產(chǎn)生所述監(jiān)控字段超過(guò)監(jiān)控閾值的警報(bào)信息。
[0022]所述的設(shè)備可還包括:第七模塊,用于將第三日志信息以及產(chǎn)生的警報(bào)信息存儲(chǔ)在數(shù)據(jù)庫(kù)中。
[0023]第四模塊在顯示第三日志信息的處理中,可根據(jù)用戶的請(qǐng)求,從數(shù)據(jù)庫(kù)中讀取特定的第三日志信息,并且圖形化地顯示特定的第三日志信息。
[0024]根據(jù)本發(fā)明的優(yōu)選實(shí)施例,第四模塊在圖形化地顯示特定的第三日志信息的處理中,以用于產(chǎn)生第三日志信息的監(jiān)控維度中包含的請(qǐng)求來(lái)源方、請(qǐng)求功能模塊、被請(qǐng)求方或被請(qǐng)求功能模塊為節(jié)點(diǎn),以監(jiān)控維度中的監(jiān)控字段以及監(jiān)控閾值為邊,以監(jiān)控字段產(chǎn)生警報(bào)信息為邊的狀態(tài)來(lái)構(gòu)造圖形,并顯示構(gòu)造的圖形。
[0025]根據(jù)本發(fā)明的優(yōu)選實(shí)施例,第四模塊在圖形化地顯示特定的第三日志信息的處理中,將特定的第三日志信息的監(jiān)控字段的值為縱坐標(biāo),將時(shí)間或監(jiān)控維度中的任一字段或多個(gè)字段的聚合作為橫坐標(biāo),將所述特定的第三日志信息顯示為曲線圖或柱狀圖。
[0026]所述第二日志信息物理上可以為一個(gè)或多個(gè),并且當(dāng)產(chǎn)生多個(gè)細(xì)粒度的第二日志信息時(shí),將所述多個(gè)細(xì)粒度的第二日志信息進(jìn)行匯聚。
[0027]將在接下來(lái)的描述中部分闡述本發(fā)明另外的方面和/或優(yōu)點(diǎn),還有一部分通過(guò)描述將是清楚的,或者可以經(jīng)過(guò)本發(fā)明的實(shí)施而得知。
【專利附圖】
【附圖說(shuō)明】
[0028]通過(guò)下面結(jié)合附圖進(jìn)行的詳細(xì)描述,本發(fā)明的上述和其它目的、特點(diǎn)和優(yōu)點(diǎn)將會(huì)變得更加清楚,其中:
[0029]圖1示出一個(gè)軟件系統(tǒng)的結(jié)構(gòu)的示意圖;
[0030]圖2示出根據(jù)本發(fā)明的實(shí)施例的軟件系統(tǒng)的監(jiān)控方法的流程圖;
[0031]圖3示出根據(jù)本發(fā)明的實(shí)施例的產(chǎn)生第三日志信息的方法的流程圖;
[0032]圖4示出根據(jù)本發(fā)明的實(shí)施例的顯示第三日志信息的方法的流程圖;
[0033]圖5-圖8示出根據(jù)本發(fā)明的實(shí)施例的軟件系統(tǒng)的監(jiān)控方法顯示的第三日志信息的示例。
【具體實(shí)施方式】
[0034]現(xiàn)在,將參照附圖更充分地描述不同的示例實(shí)施例。在附圖中,相同的標(biāo)號(hào)始終表示相同的部件、結(jié)構(gòu)和特征。[0035]本發(fā)明提供一種軟件系統(tǒng)的監(jiān)控方法和設(shè)備。該軟件系統(tǒng)可包括多個(gè)功能模塊(即,子系統(tǒng)),其中,至少一個(gè)功能模塊能夠調(diào)用至少一個(gè)另外的功能模塊或者向至少一個(gè)另外的功能模塊請(qǐng)求服務(wù)。這里所說(shuō)的多個(gè)是指兩個(gè)或兩個(gè)以上。例如,這些功能模塊可被劃分為前端模塊和后端模塊。根據(jù)需要,可存在一個(gè)或多個(gè)前端模塊,或者可存在一個(gè)或多個(gè)后端模塊。前端模塊可以調(diào)用后端模塊。此外,根據(jù)需要,一個(gè)后端模塊也可以調(diào)用另一個(gè)后端模塊。
[0036]此外,每個(gè)功能模塊可被部署在一個(gè)或多個(gè)業(yè)務(wù)機(jī)器(例如,服務(wù)器、PC機(jī)等各種計(jì)算設(shè)備)上,可從部署有功能模塊的業(yè)務(wù)機(jī)器獲取部署的功能模塊的日志文件或日志信
肩、O
[0037]圖2示出根據(jù)本發(fā)明的實(shí)施例的軟件系統(tǒng)的監(jiān)控方法的流程圖。
[0038]在步驟S201,從各個(gè)功能模塊收集第一日志信息。每個(gè)功能模塊可根據(jù)設(shè)計(jì)而產(chǎn)生日志信息。在此,由每個(gè)功能模塊產(chǎn)生的日志信息被稱為第一日志信息。當(dāng)一個(gè)功能模塊部署在多個(gè)業(yè)務(wù)機(jī)器上時(shí),可分別從所述多個(gè)業(yè)務(wù)機(jī)器獲取該功能模塊的日志信息作為
第一日志信息。
[0039]優(yōu)選地,在收集日志信息時(shí),應(yīng)避免對(duì)軟件系統(tǒng)的性能的影響,使得日志收集對(duì)整個(gè)軟件系統(tǒng)沒有明顯影響。例如,如果收集日志信息的操作占用系統(tǒng)資源過(guò)多,可能會(huì)影響軟件系統(tǒng)的運(yùn)行速度。此外,當(dāng)全部或部分功能模塊被分布式部署(例如,互聯(lián)網(wǎng)在線程序系統(tǒng))時(shí),在保證實(shí)時(shí)性的同時(shí)(例如,小于10秒的延遲),要限制日志信息的傳輸速度,以避免突發(fā)的對(duì)系統(tǒng)性能的沖擊。
[0040]在步驟S202,將收集的第一日志信息轉(zhuǎn)換為統(tǒng)一的格式,從而產(chǎn)生第二日志信息。對(duì)于復(fù)雜的大型軟件系統(tǒng),其各個(gè)功能模塊產(chǎn)生的日志信息的格式可能各不相同,因此,對(duì)日志信息進(jìn)行格式化是非常必要的,否則,無(wú)法有效地識(shí)別和處理各種日志信息。
[0041]在一個(gè)實(shí)施例中,從第一日志信息獲取以下字段來(lái)產(chǎn)生第二日志信息:請(qǐng)求來(lái)源方、請(qǐng)求功能模塊、請(qǐng)求的服務(wù)、被請(qǐng)求方、被請(qǐng)求功能模塊和請(qǐng)求的時(shí)間以及至少一個(gè)監(jiān)控字段。其中,可由發(fā)出服務(wù)請(qǐng)求的業(yè)務(wù)機(jī)器的地址表示請(qǐng)求來(lái)源方,可由部署了被請(qǐng)求功能模塊的業(yè)務(wù)機(jī)器的地址表示所述被請(qǐng)求方,這里所說(shuō)的地址可以是IP地址或MAC地址。請(qǐng)求功能模塊指示發(fā)出服務(wù)請(qǐng)求的邏輯功能模塊,被請(qǐng)求功能模塊指示提供請(qǐng)求的服務(wù)的邏輯功能模塊。例如,在一個(gè)服務(wù)網(wǎng)絡(luò)中,提供一般搜索服務(wù)的功能模塊在提供搜索服務(wù)時(shí),可能向服務(wù)網(wǎng)絡(luò)后端的視頻檢索功能模塊請(qǐng)求視頻搜索服務(wù),此時(shí)提供一般搜索服務(wù)的功能模塊是請(qǐng)求功能模塊,部署了所述請(qǐng)求功能模塊的一臺(tái)業(yè)務(wù)機(jī)器是請(qǐng)求來(lái)源方,視頻檢索功能模塊是被請(qǐng)求功能模塊,部署了視頻檢索功能模塊的一臺(tái)業(yè)務(wù)機(jī)器是被請(qǐng)求方,請(qǐng)求的服務(wù)是“視頻檢索”。所述監(jiān)控字段是服務(wù)提供的測(cè)量參數(shù),如消耗時(shí)間、警告標(biāo)志等。通常,從各功能模塊收集的第一日志信息的數(shù)據(jù)量巨大,因此根據(jù)本發(fā)明的優(yōu)選實(shí)施例,在進(jìn)行步驟S202的處理時(shí),可使用多個(gè)算子分別對(duì)部分第一日志信息進(jìn)行格式轉(zhuǎn)換,產(chǎn)生多個(gè)第二日志信息,以避免一次占用過(guò)多的計(jì)算資源和系統(tǒng)資源。
[0042]在步驟S203,利用第二日志信息產(chǎn)生第三日志信息。第三日志信息反映了功能模塊之間發(fā)生的交互的日志。以下將參照?qǐng)D3詳細(xì)描述步驟S203的操作。圖3示出根據(jù)本發(fā)明的實(shí)施例的產(chǎn)生第三日志信息的方法的流程圖。
[0043]根據(jù)本發(fā)明的實(shí)施例,預(yù)先配置用于日志信息處理的基準(zhǔn)維度、多個(gè)監(jiān)控維度、至少一個(gè)監(jiān)控字段以及每個(gè)監(jiān)控字段的聚合方式,其中,所述基準(zhǔn)維度包括請(qǐng)求來(lái)源方、請(qǐng)求功能模塊、請(qǐng)求的服務(wù)、被請(qǐng)求方和被請(qǐng)求功能模塊,每個(gè)監(jiān)控維度包括基準(zhǔn)維度中的部分字段,所述監(jiān)控字段是請(qǐng)求的服務(wù)的測(cè)量參數(shù),所述監(jiān)控字段的聚合方式是求平均、計(jì)數(shù)或求和。
[0044]基準(zhǔn)維度確定了用于聚合和統(tǒng)計(jì)日志信息的基準(zhǔn)最細(xì)粒度,而所述多個(gè)監(jiān)控維度可根據(jù)各種系統(tǒng)監(jiān)控的需要來(lái)進(jìn)行配置。例如,包括特定請(qǐng)求來(lái)源方、被請(qǐng)求功能模塊、請(qǐng)求的服務(wù)的監(jiān)控維度用于生成特定用戶(某IP地址)向特定請(qǐng)求功能模塊(視頻檢索功能模塊)請(qǐng)求特定服務(wù)(查詢)的日志信息。
[0045]監(jiān)控字段的聚合方式確定如何對(duì)所述監(jiān)控字段進(jìn)行統(tǒng)計(jì)處理。例如,對(duì)于“時(shí)間消耗”監(jiān)控字段,可設(shè)置“求平均”的聚合方式,從而統(tǒng)計(jì)平均的時(shí)間消耗值;對(duì)于“警告標(biāo)志”監(jiān)控字段,可設(shè)置“計(jì)數(shù)”的聚合方式,以統(tǒng)計(jì)警告標(biāo)志的個(gè)數(shù)。
[0046]參照?qǐng)D3,在步驟S301,根據(jù)所述基準(zhǔn)維度,以預(yù)定的時(shí)間長(zhǎng)度為單位對(duì)第二日志信息進(jìn)行聚合,并根據(jù)每個(gè)監(jiān)控字段的聚合方式分別對(duì)每個(gè)預(yù)定時(shí)間長(zhǎng)度內(nèi)每個(gè)監(jiān)控字段的值進(jìn)行數(shù)值統(tǒng)計(jì),以產(chǎn)生細(xì)粒度的第二日志信息。這里,所述預(yù)定的時(shí)間長(zhǎng)度可根據(jù)需要設(shè)置為I分鐘、5分鐘或10分鐘,或者其他時(shí)間長(zhǎng)度。以上述“時(shí)間消耗”和“警告標(biāo)志”作為監(jiān)控字段為例,細(xì)粒度的第二日志信息每個(gè)時(shí)間長(zhǎng)度內(nèi)將基準(zhǔn)維度中各字段的值相同的日志數(shù)據(jù)聚合在一起,并且計(jì)算例如每I分鐘“時(shí)間消耗”的平均值以及“警告標(biāo)志”的個(gè)數(shù)。
[0047]根據(jù)上述的優(yōu)選實(shí)施例,當(dāng)通過(guò)步驟S202的處理,多個(gè)第二日志信息被產(chǎn)生時(shí),經(jīng)過(guò)步驟S301的聚合和統(tǒng)計(jì),產(chǎn)生同樣個(gè)數(shù)的細(xì)粒度的部分第二日志信息。隨后,執(zhí)行步驟S302,將產(chǎn)生的多個(gè)細(xì)粒度的部分第二日志信息進(jìn)行匯聚,以得到一個(gè)包括全部數(shù)據(jù)的細(xì)粒度的第二日志信息。
[0048]此后,在步驟S303,根據(jù)每個(gè)預(yù)先配置的監(jiān)控維度,對(duì)細(xì)粒度的第二日志信息進(jìn)行聚合,并根據(jù)每個(gè)監(jiān)控字段的聚合方式對(duì)每個(gè)監(jiān)控字段的值進(jìn)行數(shù)值統(tǒng)計(jì),以產(chǎn)生多個(gè)粗粒度數(shù)據(jù)作為第三日志信息。
[0049]例如,當(dāng)設(shè)置的監(jiān)控維度是特定的請(qǐng)求來(lái)源方時(shí),根據(jù)步驟S303產(chǎn)生特定用戶與全部功能模塊的交互以及服務(wù)狀態(tài)。
[0050]再例如,當(dāng)設(shè)置的監(jiān)控維度包括特定的請(qǐng)求來(lái)源方和特定的被請(qǐng)求功能模塊時(shí),根據(jù)步驟S303產(chǎn)生特定用戶與特定功能模塊的交互以及服務(wù)狀態(tài)。根據(jù)本發(fā)明的優(yōu)選實(shí)施例,本發(fā)明的軟件系統(tǒng)的監(jiān)控方法還包括,確定各第三日志信息中的每個(gè)監(jiān)控字段的值是否相應(yīng)的監(jiān)控閾值,并且如果任一監(jiān)控字段的值超過(guò)相應(yīng)的監(jiān)控閾值,則為所述第三日志信息產(chǎn)生所述監(jiān)控字段超過(guò)監(jiān)控閾值的警報(bào)信息。例如,假設(shè)監(jiān)控字段“警告標(biāo)志”的監(jiān)控閾值是100,則為相應(yīng)的第三日志信息生成“警告標(biāo)志”超過(guò)監(jiān)控閾值的警報(bào)信息。
[0051]通常,日志信息量巨大,而產(chǎn)生特定粒度的日志信息的數(shù)據(jù)處理量也非常大,因此,根據(jù)本發(fā)明的另一優(yōu)選實(shí)施例,將第三日志信息以及產(chǎn)生的警報(bào)信息存儲(chǔ)在數(shù)據(jù)庫(kù)中。
[0052]此后,在步驟S204,顯示在步驟S203生成的第三日志信息。
[0053]可通過(guò)圖形化的方式來(lái)顯示特定的第三日志信息。所述圖形化顯示包括將特定的第三日志信息顯示為樹狀圖、曲線圖或柱狀圖,但不限于此。
[0054]圖4示出根據(jù)本發(fā)明的實(shí)施例的顯示第三日志信息的方法的流程圖。圖5-圖7示出根據(jù)本發(fā)明的實(shí)施例的軟件系統(tǒng)的監(jiān)控方法顯示的第三日志信息的示例。以下將參照?qǐng)D4以及圖5-圖6描述根據(jù)本發(fā)明的示例性實(shí)施例將特定的第三日志信息顯示為樹狀圖的處理。
[0055]通常根據(jù)用戶顯示特定日志信息的指令,提取在步驟S303生成的特定的第三日志信息,或者從數(shù)據(jù)庫(kù)讀取所述特定的第三日志信息。
[0056]參照?qǐng)D4,在步驟S401,將用于產(chǎn)生第三日志信息的監(jiān)控維度中包含的請(qǐng)求來(lái)源方、請(qǐng)求功能模塊、被請(qǐng)求方或被請(qǐng)求功能模塊繪制為節(jié)點(diǎn),并且將所述監(jiān)控維度中的監(jiān)控字段以及監(jiān)控閾值繪制為邊。
[0057]圖6示出當(dāng)設(shè)置的監(jiān)控維度包括特定的請(qǐng)求來(lái)源方、特定的被請(qǐng)求功能模塊以及請(qǐng)求的服務(wù)時(shí)顯示的樹狀圖。其中,作為請(qǐng)求來(lái)源方的“用戶”以及被請(qǐng)求功能模塊的“Π”被顯示為節(jié)點(diǎn),監(jiān)控字段為請(qǐng)求的服務(wù)、時(shí)間消耗以及警告標(biāo)志,這三個(gè)監(jiān)控字段各設(shè)有監(jiān)控閾值,因此以“監(jiān)控字段:監(jiān)控閾值”的形式被繪制為連接節(jié)點(diǎn)的邊。
[0058]在步驟S402,根據(jù)是否為監(jiān)控字段產(chǎn)生警報(bào)信息來(lái)標(biāo)注各邊的狀態(tài),從而完成圖形的構(gòu)造。其中,根據(jù)本發(fā)明的優(yōu)選實(shí)施例,以不同的方式標(biāo)注產(chǎn)生了警報(bào)信息的邊和未產(chǎn)生警報(bào)信息的邊。
[0059]假設(shè)在圖6中顯示的第三日志信息中,CMD (請(qǐng)求的服務(wù))為“查詢”的邊的監(jiān)控字段“警告標(biāo)志”超過(guò)100,因此將所述邊標(biāo)注為虛線,以與另一條未產(chǎn)生過(guò)警報(bào)信息的邊相區(qū)別。
[0060]在步驟S403,顯示構(gòu)造的圖形,如圖6所示。圖5和圖7分別示出圖形化顯示第三日志信息的另一個(gè)不例。
[0061]根據(jù)本發(fā)明的另一示例性實(shí)施例,在圖形化地顯示特定的第三日志信息的處理中,將特定的第三日志信息的監(jiān)控字段的值為縱坐標(biāo),將時(shí)間或監(jiān)控維度中的任一字段或多個(gè)字段的聚合作為橫坐標(biāo),將所述特定的第三日志信息顯示為曲線圖或柱狀圖。
[0062]圖8示出根據(jù)本發(fā)明的示例性實(shí)施例將特定的第三日志信息顯示為曲線圖的處理。圖8中的曲線圖顯示監(jiān)控維度為特定請(qǐng)求來(lái)源方和特定的被請(qǐng)求功能模塊、監(jiān)控字段為時(shí)間消耗的第三日志信息。其中,將時(shí)間作為橫坐標(biāo),將時(shí)間消耗監(jiān)控字段作為縱坐標(biāo)來(lái)顯示曲線圖。
[0063]根據(jù)本發(fā)明的軟件系統(tǒng)的監(jiān)控方法可以實(shí)現(xiàn)為計(jì)算機(jī)程序或軟件。
[0064]根據(jù)本發(fā)明的軟件系統(tǒng)的監(jiān)控方法可以更全面地對(duì)軟件系統(tǒng)進(jìn)行監(jiān)控,從而能夠有效地找到軟件系統(tǒng)可能存在的問(wèn)題,為軟件系統(tǒng)的進(jìn)一步改進(jìn)提供有效的幫助。
[0065]此外,根據(jù)本發(fā)明的軟件系統(tǒng)的監(jiān)控方法可根據(jù)預(yù)定信息字段對(duì)日志信息進(jìn)行聚合并且對(duì)預(yù)設(shè)的監(jiān)控項(xiàng)目進(jìn)行統(tǒng)計(jì),并且圖形化地顯示功能模塊之間的關(guān)系以及交互狀態(tài)。
[0066]盡管已經(jīng)參照其示例性實(shí)施例具體顯示和描述了本發(fā)明,但是本領(lǐng)域的技術(shù)人員應(yīng)該理解,在不脫離權(quán)利要求所限定的本發(fā)明的精神和范圍的情況下,可以對(duì)其進(jìn)行形式和細(xì)節(jié)上的各種改變。
【權(quán)利要求】
1.一種軟件系統(tǒng)的監(jiān)控方法,該軟件系統(tǒng)包括多個(gè)功能模塊,所述多個(gè)功能模塊中的至少一個(gè)功能模塊能夠向所述多個(gè)功能模塊中的至少一個(gè)另外的功能模塊請(qǐng)求服務(wù),其特征在于所述方法包括: 從多個(gè)功能模塊收集第一日志信息; 將收集的第一日志信息轉(zhuǎn)換為統(tǒng)一的格式,從而產(chǎn)生第二日志信息; 利用第二日志信息產(chǎn)生第三日志信息,第三日志信息反映功能模塊之間發(fā)生的交互; 顯示第三日志信息。
2.如權(quán)利要求1所述的監(jiān)控方法,其中,每個(gè)功能模塊布置在至少一臺(tái)業(yè)務(wù)機(jī)器上, 其中,所述將收集的第一日志信息轉(zhuǎn)換為統(tǒng)一的格式,從而產(chǎn)生第二日志信息的步驟包括:從第一日志信息獲取以下字段來(lái)產(chǎn)生第二日志信息:請(qǐng)求來(lái)源方、請(qǐng)求功能模塊、請(qǐng)求的服務(wù)、被請(qǐng)求方、被請(qǐng)求功能模塊和請(qǐng)求的時(shí)間以及至少一個(gè)監(jiān)控字段,所述請(qǐng)求來(lái)源方由發(fā)出服務(wù)請(qǐng)求的業(yè)務(wù)機(jī)器的地址表示,所述被請(qǐng)求方由部署了被請(qǐng)求功能模塊的業(yè)務(wù)機(jī)器的地址表不。
3.如權(quán)利要求2所述的監(jiān)控方法,還包括: 預(yù)先配置基準(zhǔn)維度、多個(gè)監(jiān)控維度、至少一個(gè)監(jiān)控字段以及每個(gè)監(jiān)控字段的聚合方式,其中,所述基準(zhǔn)維度包括請(qǐng)求來(lái)源方、請(qǐng)求功能模塊、請(qǐng)求的服務(wù)、被請(qǐng)求方和被請(qǐng)求功能模塊,每個(gè)監(jiān)控維度包括基準(zhǔn)維度中的部分字段,所述監(jiān)控字段是請(qǐng)求的服務(wù)的測(cè)量參數(shù),所述監(jiān)控字段的聚合方式是求平均、計(jì)數(shù)或求和。
4.如權(quán)利要求3所·述的監(jiān)控方法,其中,所述利用第二日志信息產(chǎn)生第三日志信息的步驟包括: 根據(jù)所述基準(zhǔn)維度,以預(yù)定的時(shí)間長(zhǎng)度為單位對(duì)第二日志信息進(jìn)行聚合,并根據(jù)每個(gè)監(jiān)控字段的聚合方式分別對(duì)每個(gè)預(yù)定時(shí)間長(zhǎng)度內(nèi)每個(gè)監(jiān)控字段的值進(jìn)行數(shù)值統(tǒng)計(jì),以產(chǎn)生細(xì)粒度的第二日志信息; 根據(jù)每個(gè)所述監(jiān)控維度,對(duì)細(xì)粒度的第二日志信息進(jìn)行聚合,并根據(jù)每個(gè)監(jiān)控字段的聚合方式對(duì)每個(gè)監(jiān)控字段的值進(jìn)行數(shù)值統(tǒng)計(jì),以產(chǎn)生多個(gè)粗粒度數(shù)據(jù)作為第三日志信息。
5.如權(quán)利要求4所述的監(jiān)控方法,還包括: 確定各第三日志信息中的每個(gè)監(jiān)控字段的值是否相應(yīng)的監(jiān)控閾值,并且 如果確定任一監(jiān)控字段的值超過(guò)相應(yīng)的監(jiān)控閾值,則為所述第三日志信息產(chǎn)生所述監(jiān)控字段超過(guò)監(jiān)控閾值的警報(bào)信息。
6.如權(quán)利要求5所述的監(jiān)控方法,還包括: 將第三日志信息以及產(chǎn)生的警報(bào)信息存儲(chǔ)在數(shù)據(jù)庫(kù)中。
7.如權(quán)利要求6所述的監(jiān)控方法,其中,顯示第三日志信息的步驟包括:根據(jù)用戶的請(qǐng)求,從數(shù)據(jù)庫(kù)中讀取特定的第三日志信息,并且圖形化地顯示特定的第三日志信息。
8.如權(quán)利要求7所述的監(jiān)控方法,其中,在圖形化地顯示特定的第三日志信息的處理中,以用于產(chǎn)生第三日志信息的監(jiān)控維度中包含的請(qǐng)求來(lái)源方、請(qǐng)求功能模塊、被請(qǐng)求方或被請(qǐng)求功能模塊為節(jié)點(diǎn),以監(jiān)控維度中的監(jiān)控字段以及監(jiān)控閾值為邊,以監(jiān)控字段產(chǎn)生警報(bào)信息為邊的狀態(tài)來(lái)構(gòu)造圖形,并顯示構(gòu)造的圖形。
9.如權(quán)利要求7所述的監(jiān)控方法,其中,在圖形化地顯示特定的第三日志信息的處理中,將特定的第三日志信息的監(jiān)控字段的值為縱坐標(biāo),將時(shí)間或監(jiān)控維度中的任一字段或多個(gè)字段的聚合作為橫坐標(biāo),將所述特定的第三日志信息顯示為曲線圖或柱狀圖。
10.如權(quán)利要求3所述的監(jiān)控方法,其中,所述第二日志信息物理上為一個(gè)或多個(gè),并且當(dāng)產(chǎn)生多個(gè)細(xì)粒度的第二日志信息時(shí),將所述多個(gè)細(xì)粒度的第二日志信息進(jìn)行匯聚。
11.一種監(jiān)控軟件系統(tǒng)的設(shè)備,該軟件系統(tǒng)包括多個(gè)功能模塊,所述多個(gè)功能模塊中的至少一個(gè)功能模塊能夠向所述多個(gè)功能模塊中的至少一個(gè)另外的功能模塊請(qǐng)求服務(wù),其特征在于所述設(shè)備包括: 第一模塊,用于從多個(gè)功能模塊收集第一日志信息; 第二模塊,用于將收集的第一日志信息轉(zhuǎn)換為統(tǒng)一的格式,從而產(chǎn)生第二日志信息; 第三模塊,用于利用第二日志信息產(chǎn)生第三日志信息,第三日志信息反映功能模塊之間發(fā)生的交互; 第四模塊,用于顯示第三日志信息。
12.如權(quán)利要求11所述的設(shè)備,其中,每個(gè)功能模塊布置在至少一臺(tái)業(yè)務(wù)機(jī)器上, 其中,第二模塊在將收集的第一日志信息轉(zhuǎn)換為統(tǒng)一的格式時(shí),從第一日志信息獲取以下字段來(lái)產(chǎn)生第二日志信息:請(qǐng)求來(lái)源方、請(qǐng)求功能模塊、請(qǐng)求的服務(wù)、被請(qǐng)求方、被請(qǐng)求功能模塊和請(qǐng)求的時(shí)間以及至少一個(gè)監(jiān)控字段,所述請(qǐng)求來(lái)源方由發(fā)出服務(wù)請(qǐng)求的業(yè)務(wù)機(jī)器的地址表示,所述被請(qǐng)求方由部署了被請(qǐng)求功能模塊的業(yè)務(wù)機(jī)器的地址表示。
13.如權(quán)利要求12所述的設(shè)備,還包括: 第五模塊,用于預(yù)先配置基準(zhǔn)維度、多個(gè)監(jiān)控維度、至少一個(gè)監(jiān)控字段以及每個(gè)監(jiān)控字段的聚合方式,其中,所述基準(zhǔn)維度包括請(qǐng)求來(lái)源方、請(qǐng)求功能模塊、請(qǐng)求的服務(wù)、被請(qǐng)求方和被請(qǐng)求功能模塊,每個(gè)監(jiān)控維度包`括基準(zhǔn)維度中的部分字段,所述監(jiān)控字段是請(qǐng)求的服務(wù)的測(cè)量參數(shù),所述監(jiān)控字段的聚合方式是求平均、計(jì)數(shù)或求和。
14.如權(quán)利要求13所述的設(shè)備,其中,第三模塊在利用第二日志信息產(chǎn)生第三日志信息時(shí), 根據(jù)所述基準(zhǔn)維度,以預(yù)定的時(shí)間長(zhǎng)度為單位對(duì)第二日志信息進(jìn)行聚合,并根據(jù)每個(gè)監(jiān)控字段的聚合方式分別對(duì)每個(gè)預(yù)定時(shí)間長(zhǎng)度內(nèi)每個(gè)監(jiān)控字段的值進(jìn)行數(shù)值統(tǒng)計(jì),以產(chǎn)生細(xì)粒度的第二日志信息; 根據(jù)每個(gè)所述監(jiān)控維度,對(duì)細(xì)粒度的第二日志信息進(jìn)行聚合,并根據(jù)每個(gè)監(jiān)控字段的聚合方式對(duì)每個(gè)監(jiān)控字段的值進(jìn)行數(shù)值統(tǒng)計(jì),以產(chǎn)生多個(gè)粗粒度數(shù)據(jù)作為第三日志信息。
15.如權(quán)利要求14所述的設(shè)備,還包括: 第六模塊,用于確定各第三日志信息中的每個(gè)監(jiān)控字段的值是否相應(yīng)的監(jiān)控閾值,并且如果確定任一監(jiān)控字段的值超過(guò)相應(yīng)的監(jiān)控閾值,則為所述第三日志信息產(chǎn)生所述監(jiān)控字段超過(guò)監(jiān)控閾值的警報(bào)信息。
16.如權(quán)利要求15所述的設(shè)備,還包括: 第七模塊,用于將第三日志信息以及產(chǎn)生的警報(bào)信息存儲(chǔ)在數(shù)據(jù)庫(kù)中。
17.如權(quán)利要求16所述的設(shè)備,其中,第四模塊在顯示第三日志信息的處理中,根據(jù)用戶的請(qǐng)求,從數(shù)據(jù)庫(kù)中讀取特定的第三日志信息,并且圖形化地顯示特定的第三日志信息。
18.如權(quán)利要求17所述的設(shè)備,其中,第四模塊在圖形化地顯示特定的第三日志信息的處理中,以用于產(chǎn)生第三日志信息的監(jiān)控維度中包含的請(qǐng)求來(lái)源方、請(qǐng)求功能模塊、被請(qǐng)求方或被請(qǐng)求功能模塊為節(jié)點(diǎn),以監(jiān)控維度中的監(jiān)控字段以及監(jiān)控閾值為邊,以監(jiān)控字段產(chǎn)生警報(bào)信息為邊的狀態(tài)來(lái)構(gòu)造圖形,并顯示構(gòu)造的圖形。
19.如權(quán)利要求17所述的設(shè)備,其中,第四模塊在圖形化地顯示特定的第三日志信息的處理中,將特定的第三日志信息的監(jiān)控字段的值為縱坐標(biāo),將時(shí)間或監(jiān)控維度中的任一字段或多個(gè)字段的聚合作為橫坐標(biāo),將所述特定的第三日志信息顯示為曲線圖或柱狀圖。
20.如權(quán)利要求13所述的設(shè)備,其中,所述第二日志信息物理上為一個(gè)或多個(gè),并且當(dāng)產(chǎn)生多個(gè)細(xì)粒度的第二日志信息時(shí),將所述多個(gè)細(xì)粒度的第二日志信息進(jìn)行匯聚。
【文檔編號(hào)】G06F11/34GK103823743SQ201210468482
【公開日】2014年5月28日 申請(qǐng)日期:2012年11月19日 優(yōu)先權(quán)日:2012年11月19日
【發(fā)明者】賈春鑫 申請(qǐng)人:北京百度網(wǎng)訊科技有限公司