適應(yīng)性度量收集、存儲(chǔ)、和警告閾值的制作方法
【技術(shù)領(lǐng)域】
[0001]本公開(kāi)一般涉及度量收集和分析的方面,包括適應(yīng)性度量存儲(chǔ)和警告(alert)閾值。
【背景技術(shù)】
[0002]本節(jié)中所述的方式是能夠繼續(xù)發(fā)展的方式,但不一定是先前已經(jīng)被構(gòu)思或追尋過(guò)的方式。因此,除非以其他方式指明,不應(yīng)當(dāng)僅僅由于這些方式被包括在本章節(jié)中就假定本章節(jié)所述的任何方式為現(xiàn)有技術(shù)。
[0003]度量收集被用于很多不同上下文中。在本上下文中的“度量(metric) ”指代表示計(jì)算機(jī)、網(wǎng)絡(luò)、系統(tǒng)或服務(wù)的使用或性能特性的數(shù)據(jù)值。在一些情形中,度量被系統(tǒng)管理者用于確定網(wǎng)絡(luò)的健康度。在其他情形中,度量被廣告商用于開(kāi)發(fā)針對(duì)具體人口統(tǒng)計(jì)的市場(chǎng)戰(zhàn)略。然而,與度量收集、存儲(chǔ)和基于度量的警告有關(guān)的傳統(tǒng)技術(shù)具有顯著的局限性。
[0004]在度量收集領(lǐng)域,現(xiàn)有的度量收集技術(shù)已使用“字符串”作為傳輸度量的格式。然而,對(duì)字符串執(zhí)行搜索問(wèn)詢通常需要執(zhí)行昂貴的正則表達(dá)式操作從而獲得有用的度量數(shù)據(jù)。在度量存儲(chǔ)領(lǐng)域,企業(yè)會(huì)努力解決如何使用有限集的資源來(lái)高效地存儲(chǔ)巨量的度量數(shù)據(jù)的問(wèn)題。通常,企業(yè)執(zhí)行數(shù)據(jù)縮減以通過(guò)移除或合并較舊的度量來(lái)減少需要被存儲(chǔ)的數(shù)據(jù)量(因此降低了存儲(chǔ)成本)。然而,這樣的技術(shù)是不靈活的并且不允許在用戶的需求隨時(shí)間變化時(shí)對(duì)舊數(shù)據(jù)的恢復(fù)。在警告閾值的領(lǐng)域,網(wǎng)絡(luò)管理者開(kāi)發(fā)出這樣的系統(tǒng),該系統(tǒng)基于諸如延遲、丟掉的連接、拒絕的請(qǐng)求等等的度量來(lái)提供關(guān)于操作環(huán)境中潛在的問(wèn)題的自動(dòng)通知。然而,對(duì)度量的值采用靜態(tài)絕對(duì)限制的傳統(tǒng)技術(shù)經(jīng)常在某些情況下生成誤報(bào)(falsepositives)。例如,在短時(shí)間內(nèi)接收到的大量請(qǐng)求可能預(yù)示網(wǎng)絡(luò)正在經(jīng)歷拒絕服務(wù)(DoS)攻擊。然而,對(duì)所接收到的請(qǐng)求的數(shù)目的硬性閾值限制導(dǎo)致了生成活動(dòng)的合法爆發(fā)的事件發(fā)生情形中的誤報(bào)。例如,如果企業(yè)提供流媒體服務(wù),那么新的電影大片被放到流上的夜晚會(huì)導(dǎo)致與閾值被初始設(shè)定時(shí)所預(yù)期的流量相比高得多的流量流,因此導(dǎo)致了針對(duì)合法的活動(dòng)生成的警告。
【發(fā)明內(nèi)容】
[0005]根據(jù)本發(fā)明的一個(gè)方面,提供了一種計(jì)算機(jī)實(shí)現(xiàn)的方法,包括:由度量收集器計(jì)算機(jī)存儲(chǔ)先前收集的度量值,所述先前收集的度量值是基于一個(gè)或多個(gè)先前時(shí)間段內(nèi)從一個(gè)或多個(gè)客戶端計(jì)算機(jī)發(fā)送到服務(wù)伺服器計(jì)算機(jī)的先前請(qǐng)求的;由所述度量收集器計(jì)算機(jī)在當(dāng)前時(shí)間段接收基于從特定客戶端計(jì)算機(jī)發(fā)送到服務(wù)伺服器計(jì)算機(jī)的請(qǐng)求的新度量值;由所述度量收集器計(jì)算機(jī)對(duì)所述先前收集的度量值執(zhí)行回歸分析以確定所述當(dāng)前時(shí)間段的預(yù)測(cè)度量值;以及響應(yīng)于確定所述預(yù)測(cè)度量值和所述新度量值之間的偏離大于指定閾值,由所述度量收集器計(jì)算機(jī)生成警告。
[0006]根據(jù)本發(fā)明的另一個(gè)方面,提供了存儲(chǔ)有執(zhí)行相應(yīng)方法的非暫態(tài)計(jì)算機(jī)可讀介質(zhì)。根據(jù)本發(fā)明的又另一個(gè)方面,提供了一種系統(tǒng),所述系統(tǒng)包括具有存儲(chǔ)器、處理器、由處理器執(zhí)行的過(guò)程的度量收集器計(jì)算機(jī),所述度量收集器計(jì)算機(jī)被配置為執(zhí)行相應(yīng)的方法。
【附圖說(shuō)明】
[0007]在附圖中:
[0008]圖1示出了可在其上實(shí)現(xiàn)實(shí)施例的示例操作環(huán)境。
[0009]圖2示出了根據(jù)實(shí)施例用于收集度量的示例處理。
[0010]圖3示出了根據(jù)實(shí)施例在框圖中用于存儲(chǔ)度量的示例處理。
[0011]圖4示出了根據(jù)實(shí)施例在框圖中使用適應(yīng)性警告閾值的示例處理。
[0012]圖5是示出了可在其上實(shí)現(xiàn)本發(fā)明的實(shí)施例的計(jì)算機(jī)系統(tǒng)的框。
【具體實(shí)施方式】
[0013]在以下說(shuō)明中,為了解釋的目的提出了眾多具體細(xì)節(jié)以提供對(duì)于本發(fā)明的透徹理解。然而,清楚的是,可在沒(méi)有這些具體細(xì)節(jié)的情況下實(shí)踐本發(fā)明。在其他實(shí)例中,公知的結(jié)構(gòu)和設(shè)備被示出在框圖中以避免不必要地模糊了本發(fā)明。
[0014]為了方便起見(jiàn),以下說(shuō)明會(huì)提及諸如“消息”、“分組”、“幀”、“段”之類(lèi)屬于開(kāi)放系統(tǒng)互聯(lián)(OSI)模型的不同層的各種通信。然而,提到與特征相結(jié)合的特定類(lèi)型的通信并不意圖將該特征限制于OSI模型中的僅一層。因此,所論述的、可應(yīng)用到OSI模型中的一層的特征還可應(yīng)用到OSI模型中的其他層。
[0015]這里根據(jù)以下提綱來(lái)對(duì)實(shí)施例進(jìn)行描述:
[0016]1.0 總體概述
[0017]2.0 示例操作環(huán)境
[0018]3.0 度量收集概述
[0019]4.0 度量存儲(chǔ)概述
[0020]5.0 適應(yīng)性警告閾值概述
[0021]6.0 實(shí)現(xiàn)機(jī)制-硬件概述
[0022]7.0 擴(kuò)展和替換
[0023]——
[0024]1.0總體概述
[0025]如上所述,將度量作為長(zhǎng)字符串傳輸需要進(jìn)行正則表達(dá)式分析以執(zhí)行對(duì)度量的具體類(lèi)型的問(wèn)詢。然而,執(zhí)行正則表達(dá)式分析能夠是相當(dāng)占用資源的。在實(shí)施例中,度量收集器計(jì)算機(jī)以記錄格式從一個(gè)或多個(gè)客戶端接收度量,其中度量包括標(biāo)簽以及一個(gè)或多個(gè)鍵/值對(duì)(key/value pair) 二者。因此,標(biāo)簽?zāi)軌虮挥糜跇?biāo)識(shí)正被收集的度量的類(lèi)型并且鍵/值對(duì)代表度量的維度或?qū)傩?。結(jié)果,度量收集器計(jì)算機(jī)能夠存儲(chǔ)或者使得不同的元件存儲(chǔ)所收集的度量記錄到能夠基于鍵進(jìn)行語(yǔ)義問(wèn)詢的存儲(chǔ)系統(tǒng)中,這在多數(shù)情形中將比正則表達(dá)式分析更加高效。
[0026]在實(shí)施例中,一種計(jì)算機(jī)實(shí)現(xiàn)的方法包括:度量收集器計(jì)算機(jī)從客戶端計(jì)算機(jī)接收與從客戶端計(jì)算機(jī)送往服務(wù)計(jì)算機(jī)的請(qǐng)求有關(guān)的第一度量記錄,其中第一度量記錄包括度量標(biāo)簽和多個(gè)鍵-值對(duì)。度量收集器計(jì)算機(jī)使得第一度量記錄被存儲(chǔ)到度量數(shù)據(jù)庫(kù)中,該度量數(shù)據(jù)庫(kù)包含被發(fā)送到服務(wù)伺服器計(jì)算機(jī)的請(qǐng)求的多個(gè)度量記錄。度量收集器計(jì)算機(jī)在接收第一度量記錄之后的一段時(shí)間從客戶端計(jì)算機(jī)接收第二度量記錄,其中第二度量記錄包括度量標(biāo)簽和多個(gè)鍵-值對(duì)中其值在該段時(shí)間期間已經(jīng)改變的一個(gè)或多個(gè)鍵-值對(duì),而不包括多個(gè)鍵-值對(duì)中其值在該段時(shí)間期間尚未改變的一個(gè)或多個(gè)鍵-值對(duì)。度量收集器計(jì)算機(jī)通過(guò)基于度量數(shù)據(jù)庫(kù)中存儲(chǔ)的第一度量記錄至少自動(dòng)地填充多個(gè)鍵-值對(duì)中其值在該段時(shí)間期間尚未改變的一個(gè)或多個(gè)鍵-值對(duì)來(lái)將第二度量記錄存儲(chǔ)在度量數(shù)據(jù)庫(kù)中。
[0027]如上所述,企業(yè)一般會(huì)嘗試通過(guò)記錄與數(shù)據(jù)點(diǎn)的群組有關(guān)的統(tǒng)計(jì)值同時(shí)從存儲(chǔ)裝置移除那些數(shù)據(jù)點(diǎn)來(lái)減少為所收集的度量存儲(chǔ)的數(shù)據(jù)量。例如,通過(guò)在度量已經(jīng)達(dá)到特定的年齡之后對(duì)度量進(jìn)行聚合或合并。然而,上述方式是不靈活的并且限制了能夠?qū)Χ攘繑?shù)據(jù)執(zhí)行的問(wèn)詢的類(lèi)型。在實(shí)施例中,存儲(chǔ)了度量的系統(tǒng)被劃分為多個(gè)層,基于訪問(wèn)的速度對(duì)這多個(gè)層進(jìn)行排名。例如,第一存儲(chǔ)層可表示被完全保存在存儲(chǔ)器中的活動(dòng)集,第二存儲(chǔ)層可表示被存儲(chǔ)到硬驅(qū)動(dòng)盤(pán)的RAID上的較不頻繁活動(dòng)集,并且第三存儲(chǔ)層可表示諸如磁帶機(jī)的集合之類(lèi)的檔案存儲(chǔ)。負(fù)責(zé)確定度量如何被跨存儲(chǔ)層存儲(chǔ)的存儲(chǔ)控制器計(jì)算機(jī)維護(hù)策略數(shù)據(jù),該策略數(shù)據(jù)包括指示了要對(duì)符合一定標(biāo)準(zhǔn)的度量執(zhí)行的動(dòng)作的規(guī)則集。因此,例如存儲(chǔ)控制器計(jì)算機(jī)可被配置為將較新的度量保存在更快的存儲(chǔ)層上并且隨時(shí)間逐漸地將度量降級(jí)到較低的存儲(chǔ)層。在一些情形中,用戶可能只關(guān)心度量數(shù)據(jù)點(diǎn)在信息是新的時(shí)處于精細(xì)的顆粒度水平,但是隨后隨度量信息變得更舊而需要不那么精確的數(shù)據(jù)。結(jié)果,存儲(chǔ)控制器計(jì)算機(jī)可被配置為對(duì)特定的時(shí)間段之后的度量執(zhí)行聚合和/或合并,隨后將基本度量數(shù)據(jù)降級(jí)至較低的存儲(chǔ)層。在一些實(shí)施例中,上述分層存儲(chǔ)的一個(gè)優(yōu)勢(shì)是:如果用戶的需求隨時(shí)間改變,則存儲(chǔ)在存儲(chǔ)控制器計(jì)算機(jī)上的策略數(shù)據(jù)能夠被更新以使得存儲(chǔ)在個(gè)體層間的數(shù)據(jù)移位或者以其他方式依附于新的策略。因此,如果針對(duì)特定時(shí)間段的數(shù)據(jù)變得有興趣,策略能夠被改變以創(chuàng)建例外,該例外將此數(shù)據(jù)保存在較高的存儲(chǔ)層并因此可更輕易地針對(duì)問(wèn)詢進(jìn)行訪問(wèn)。另外,即使在度量數(shù)據(jù)保留在較低的存儲(chǔ)層時(shí)被尋找,數(shù)據(jù)對(duì)于用戶問(wèn)詢?nèi)允强稍L問(wèn)的同時(shí)仍然以資源高效的形式被存儲(chǔ)。
[0028]在實(shí)施例中,一種計(jì)算機(jī)實(shí)現(xiàn)的方法包括:存儲(chǔ)控制器計(jì)算機(jī)將多個(gè)度量記錄存儲(chǔ)到包括多個(gè)存儲(chǔ)層的存儲(chǔ)系統(tǒng)中,其中從最高到最低對(duì)存儲(chǔ)層進(jìn)行排名。響應(yīng)于觸發(fā)事件,存儲(chǔ)控制器計(jì)算機(jī)基于策略數(shù)據(jù)對(duì)被存儲(chǔ)在多個(gè)存儲(chǔ)層中的特定存儲(chǔ)層中的多個(gè)度量記錄中的一個(gè)或多個(gè)度量記錄執(zhí)行聚合操作或者合并操作,其中策略數(shù)據(jù)規(guī)定了一組操作并且針對(duì)該組操作中的每個(gè)操作規(guī)定了對(duì)在其上執(zhí)行操作的度量記錄的一個(gè)或多個(gè)標(biāo)準(zhǔn)。存儲(chǔ)控制器計(jì)算機(jī)將一個(gè)或多個(gè)度量記錄從特定的存儲(chǔ)層中移除并且將一個(gè)或多個(gè)度量記錄存儲(chǔ)在多個(gè)存儲(chǔ)層中的較低存儲(chǔ)層上。
[0029]如上所述,系統(tǒng)一般被開(kāi)發(fā)為使用度量作為操作環(huán)境中的組件的健康或適當(dāng)功能性的指示符。然而,由于估計(jì)出適當(dāng)?shù)南拗频睦щy性,針對(duì)警告使用絕對(duì)靜態(tài)閾值能夠?qū)е抡`報(bào)。例如,如果操作環(huán)境提供了流送視頻服務(wù),限制可被設(shè)定為在前一周期間所記錄的度量的值(通過(guò)前一周的同一天期間的活動(dòng)來(lái)估計(jì)該限制)。然而,如果新的視頻被發(fā)布,當(dāng)前周生成了與前一周相比多出許多量的活動(dòng);度量會(huì)大大超過(guò)所估計(jì)的限制,而其實(shí)際上不是指示管理者應(yīng)當(dāng)被警告的議題。在實(shí)施例中,度量收集器計(jì)算機(jī)使用先前收集的度量作為時(shí)間序列中的數(shù)據(jù)點(diǎn)并且計(jì)算出針對(duì)當(dāng)前時(shí)間處的度量的預(yù)測(cè)值。度量收集器計(jì)算機(jī)隨后將預(yù)測(cè)值與新紀(jì)錄的度量值進(jìn)行比較并確定偏離是否超出了特定的閾值。如果閾值被超過(guò),度量收集器計(jì)算機(jī)生成警告。因此,警告僅在所收集的度量值顯著遠(yuǎn)離先前的時(shí)間段期間度量所遵循的趨勢(shì)時(shí)被發(fā)出。結(jié)果,閾值基于最近的趨勢(shì)保持為可變的,而非依附于呆板的絕對(duì)限制。然而,在一些實(shí)施例中,還能夠?qū)夹g(shù)進(jìn)行組合,因此使得警告或者在度量值超過(guò)了靜態(tài)絕對(duì)閾值、或者足夠偏離閾值時(shí)被生成。例如,管理者可能想要警告在請(qǐng)求數(shù)接近系統(tǒng)不能夠處理的水平時(shí)、或者在請(qǐng)求數(shù)極大地偏離了所預(yù)測(cè)的請(qǐng)求數(shù)時(shí)被發(fā)出。
[0030]在實(shí)施例中,一種計(jì)算機(jī)實(shí)現(xiàn)的方法包括:度量收集器計(jì)算機(jī)基于在一個(gè)或多個(gè)先前的時(shí)間段期間從一個(gè)或多個(gè)客戶端計(jì)算機(jī)被發(fā)送至服務(wù)伺服器計(jì)算機(jī)的先前請(qǐng)求存儲(chǔ)先前收集到的度量值。度量收集器計(jì)算機(jī)在當(dāng)前的時(shí)間段處基于從特定的客戶端計(jì)算機(jī)被發(fā)送至服務(wù)伺服器計(jì)算機(jī)的請(qǐng)求接收新的度量值。度量收集器計(jì)算機(jī)對(duì)先前收集到的度量值執(zhí)行回歸以確定當(dāng)前時(shí)間段的預(yù)測(cè)度量值。響應(yīng)于預(yù)測(cè)度量值與新的度量值之間的偏離大于規(guī)定的閾值的確定,度量收集器計(jì)算機(jī)生