欧美中文字幕第一页-欧美中文字幕一区-欧美中文字幕一区二区三区-欧美中文字幕在线-欧美中文字幕在线播放-欧美中文字幕在线视频

Yahoo大規(guī)模時列數(shù)據(jù)異常檢測技術(shù)及其高性能可伸縮架構(gòu)-36大數(shù)據(jù)

我是創(chuàng)始人李巖:很抱歉!給自己產(chǎn)品做個廣告,點擊進來看看。  

Yahoo大規(guī)模時列數(shù)據(jù)異常檢測技術(shù)及其高性能可伸縮架構(gòu)-36大數(shù)據(jù)

作者: 彭冬

1. 摘要

本文介紹了大規(guī)模時序數(shù)據(jù)自動異常檢測的通用和可擴展框架。能夠在早期檢測到系統(tǒng)異常,無論在維護用戶數(shù)據(jù)一致性方面,還是在保護企業(yè)免受惡意攻擊方面都發(fā)揮著非常關(guān)鍵的作用。用于異常檢測的現(xiàn)有技術(shù)在可擴展性和易用性上都存在很大問題。我們在雅虎(EGADS)的系統(tǒng)設(shè)計了基于異常檢測和預(yù)測模型構(gòu)建的異常過濾層,用于準(zhǔn)確地進行時序數(shù)據(jù)的異常檢測。我們比較了我們的方法與其他異常檢測系統(tǒng)對實時和合成數(shù)據(jù)的不同時間序列特征。EGADS框架在精度和召回率上提高了50%~60%。

2. 簡介

雖然計算硬件和軟件的快速發(fā)展已經(jīng)極大提高了應(yīng)用程序的可靠性,但是在大型集群中仍然存在大量的軟件錯誤和硬件故障。系統(tǒng)要求7*24小時不間斷運行,因此,對這些系統(tǒng)的持續(xù)監(jiān)控就至關(guān)重要。從數(shù)據(jù)分析的角度來看,這意味著不間斷地監(jiān)控大量的時間序列數(shù)據(jù),以便檢測潛在的故障或異常現(xiàn)象。由于實際中的系統(tǒng)異常或者軟件BUG可能會非常多,通過人工監(jiān)控幾乎是不可能的,因此非常有必要使用機器學(xué)習(xí)和數(shù)據(jù)挖掘技術(shù)進行自動化異常檢測。

異常值本質(zhì)上是一個數(shù)據(jù)點。通常,大多數(shù)應(yīng)用程序中的數(shù)據(jù)是由一個或多個反映系統(tǒng)功能的程序產(chǎn)生的。當(dāng)?shù)讓討?yīng)用程序以不正常的方式運行時,它就會產(chǎn)生異常值。快速高效地發(fā)現(xiàn)這些異常值非常有價值,比如:入侵檢測、信用卡欺詐、傳感器事件、醫(yī)療診斷、執(zhí)法等。

我們在雅虎的系統(tǒng)被稱為EGADS,它可以準(zhǔn)確和可擴展地檢測時間序列異常。 EGADS將預(yù)測、異常檢測和警報分為三個單獨的組件,允許人員將自己的模型添加到任何組件中。本文重點介紹后兩個組件。

EGADS是首個靈活、準(zhǔn)確且可擴展的異常檢測綜合系統(tǒng)。 EGADS框架與異常檢測基準(zhǔn)數(shù)據(jù)已經(jīng)一起開源,旨在幫助學(xué)者和行業(yè)合作開發(fā)新的異常檢測模型。在雅虎,EGADS每天被許多團隊用于數(shù)百萬次的時間序列異常檢測工作。

整體架構(gòu)

EGADS框架由三個主要部分組成:時間序列建模模塊(TMM)、異常檢測模塊(ADM)和報警模塊(AM)。給定一個時間序列,TMM組件模擬產(chǎn)生時間序列,由ADM和AM組件進行消費處理,分別計算誤差并過濾不感興趣的異常。這些組件在第3和4節(jié)中有詳細描述。

EGADS被構(gòu)建為一個框架,可以輕松地集成到現(xiàn)有的監(jiān)控基礎(chǔ)設(shè)施中。在雅虎,我們內(nèi)部的雅虎監(jiān)控服務(wù)(YMS)每秒處理數(shù)百萬個數(shù)據(jù)點。因此,對YMS進行可擴展、精準(zhǔn)且自動化的異常檢測至關(guān)重要。接下來我們將詳細描述YMS的具體細節(jié)。

2.1系統(tǒng)集成

EGADS作為獨立平臺運行,可用作大型系統(tǒng)中的庫。因此,設(shè)計EGADS和雅虎監(jiān)控服務(wù)(YMS)之間的接口至關(guān)重要。 EGADS與YMS的集成架構(gòu)圖如圖1所示。

Yahoo大規(guī)模時列數(shù)據(jù)異常檢測技術(shù)及其高性能可伸縮架構(gòu)-36大數(shù)據(jù)

圖1 EGADS-YMS 整體架構(gòu)

此外,異常檢測還需要幾個支撐組件來驅(qū)動完成。首先,所有的異常檢測模型都是離線批處理(batch)產(chǎn)生的,然后應(yīng)用到實時環(huán)境(real time)。其中批處理由三個步驟組成:

  • 監(jiān)測數(shù)據(jù)(即監(jiān)控的時間序列數(shù)據(jù))批量存儲在Hadoop集群上
  • 批量模型生成器針對這些數(shù)據(jù)運行,并為目標(biāo)時間序列構(gòu)建模型
  • 模型存儲在模型數(shù)據(jù)庫中

然后在線實時流使用這些存儲的模型,具體步驟如下:

  • 數(shù)據(jù)流入Storm進行流式處理
  • 集群中的一個模塊調(diào)用EGADS ADM,根據(jù)存儲在模型數(shù)據(jù)庫中的模型來評估輸入數(shù)據(jù)點
  • 如果存在異常,則將其發(fā)送到由組合規(guī)則和其他包含特定邏輯組成的輔助規(guī)則流(見第4節(jié))
  • 根據(jù)規(guī)則,如果異常是警報事件,則生成事件,存儲在狀態(tài)數(shù)據(jù)庫中,并轉(zhuǎn)發(fā)到警報路由系統(tǒng)
  • 警報路由系統(tǒng)應(yīng)用路由配置規(guī)則將警報發(fā)送給相應(yīng)的處理人員

2.2 可擴展性

EGADS的監(jiān)控需要每秒分析超過百萬級數(shù)據(jù)點和億級別時間序列。要求在CPU負(fù)載、I/O和內(nèi)存占用方面具有可擴展性,并且數(shù)據(jù)點的處理需要盡可能高效。這意味著需要預(yù)先計算盡可能多的模型。從磁盤讀取模型是不切實際的,會降低性能,因此模型應(yīng)該存儲在內(nèi)存中。另一方面,為了控制成本,模型應(yīng)盡可能小。

異常檢測算法

在本節(jié)中,我們給出了EGADS支持的異常檢測算法。目前,EGADS能夠檢測出三類異常:

Yahoo大規(guī)模時列數(shù)據(jù)異常檢測技術(shù)及其高性能可伸縮架構(gòu)-36大數(shù)據(jù)

在以下章節(jié)中,我們給出了EGADS當(dāng)前用于檢測上述異常類型的方法。

3.1 異常檢測

檢測異常值是許多監(jiān)控應(yīng)用中最重要的功能。EGADS提供了兩類用于檢測輸出的算法,本節(jié)對這兩類算法進行了描述。

3.1.1 插件方法

EGADS中異常值檢測的第一類方法稱為插件方法。為了模擬輸入時間序列的正常行為,可以業(yè)務(wù)和時序數(shù)據(jù)的特點來插入大量的時間序列模型和預(yù)測模型(例如ARIMA、指數(shù)平滑、Kalman濾波、狀態(tài)空間模型等)。這就是為什么我們將這個總體策略稱為插件方法。應(yīng)該注意的是,所有這些模型都在EGADS中用于時間序列預(yù)測,這是我們框架的另一個特征;然而,由于本文的重點是異常檢測,更多關(guān)于EGADS的建模和預(yù)測特征的細節(jié)我們不進行更深入的討論。

Yahoo大規(guī)模時列數(shù)據(jù)異常檢測技術(shù)及其高性能可伸縮架構(gòu)-36大數(shù)據(jù)

如果錯誤超出某些固定閾值,則會發(fā)出警報。這種簡單的方法在某些情況下可能會起作用,但是對于大多數(shù)的方法來說,它不會是一個很好的策略,因為它不能捕獲到錯誤的具體信息。

Yahoo大規(guī)模時列數(shù)據(jù)異常檢測技術(shù)及其高性能可伸縮架構(gòu)-36大數(shù)據(jù)

通過對相對誤差進行閾值處理,可以檢測異常值,同時對所期望值的幅度進行歸一化。雖然這些閾值確定了異常檢測模塊的敏感度,然而,很難確定異常檢測的最佳度量。事實上,給定時間序列的最優(yōu)度量的選擇取決于時間序列的性質(zhì)以及TMM性能。例如,如果我們處理一個非常規(guī)則的時間序列,我們有一個準(zhǔn)確的模型,使用預(yù)測誤差進行異常檢測可能就足夠了,因為它預(yù)期是正態(tài)分布的。在其他情況下,最佳度量可能在預(yù)測誤差和相對誤差之間存在某種差異。因此,EGADS默認(rèn)跟蹤一組偏差度量,使用系統(tǒng)的人可以創(chuàng)建自己的錯誤度量。在第4節(jié)中描述的警報模塊(AM)中使用這些錯誤度量以及其他功能(如時間序列特征)來了解用戶的偏好并過濾不重要的異常。

3.1.2 基于分解的方法

EGADS中第二類異常值檢測方法是基于時間序列分解的思想,在時間序列分析中,通常將時間序列分解為:趨勢、季節(jié)性和噪聲三個要素。通過監(jiān)測噪聲分量,可以捕獲異常值。更準(zhǔn)確地說,如果點Xt的噪聲分量的絕對值大于某個閾值,則可以認(rèn)為Xt為異常值。

3.2 變點檢測

在一些文獻里有提到一種基于時間窗口的變點檢測技術(shù),在EGADS中,目前采用基于模型的方法。在這些方法中,時間序列的預(yù)期行為通過3.1.1節(jié)中提到的建模技術(shù)建模。我們結(jié)合3.1.1節(jié)中描述的插件方法來計算輸入時間序列的殘差序列(或模型預(yù)測的偏差)。然后我們對殘差序列應(yīng)用絕對變化點檢測的方法來檢測殘差分布。我們使用內(nèi)核密度估計(Kernel Density Estimation)、非參數(shù)估計殘差分布和Kullback-Leibler(KL距離,常用來衡量兩個概率分布的距離)來測量分布變化。

3.3 檢測異常時間序列

Yahoo大規(guī)模時列數(shù)據(jù)異常檢測技術(shù)及其高性能可伸縮架構(gòu)-36大數(shù)據(jù)

報警

異常檢測的最終目標(biāo)是產(chǎn)生準(zhǔn)確和及時的警報。 EGADS通過兩階段過程實現(xiàn)這一點,首先通過閾值選擇產(chǎn)生一組候選異常,然后根據(jù)給定的規(guī)則過濾不相關(guān)的異常。

4.1 閾值選擇

閾值選擇的作用是根據(jù)異常檢測模塊(ADM)產(chǎn)生的偏差度量選擇合適的閾值。目前,EGADS基于以下兩種閾值選擇算法實現(xiàn):

(a)Kσ 偏差

(b)密度分布

第一種方法是參數(shù)化的,并假定數(shù)據(jù)正態(tài)分布,有明確的平均值和標(biāo)準(zhǔn)偏差。依靠高斯分布,并基于“3sigma規(guī)則”(即:其中99.73%的樣本位于平均值的三個標(biāo)準(zhǔn)偏差之內(nèi))。因此,根據(jù)Kσ中的K值,可以確定在時間t觀測樣品的可能性。根據(jù)所需的敏感度,可以測量給定的樣品是否在K = 2或1的所有樣品的95.45%或68.27%之內(nèi)。請注意,這里的假設(shè)是以我們的偏差度量是正態(tài)分布為前提的。 第二種方法是非參數(shù)的,對于偏差度量不是正態(tài)分布的情況是有用的。基本思想是找到偏差度量分布的低密度區(qū)域。一種方法是使用諸如局部離群因子(LOF)的算法。通過將對象的局部密度與其鄰居的局部密度進行比較,可以識別具有相似密度的區(qū)域,以及具有比鄰居密度明顯更低的密度的點,這些點被認(rèn)為是異常值。

4.2 過濾

表1 EGADS所使用的時序數(shù)據(jù)特征表

Yahoo大規(guī)模時列數(shù)據(jù)異常檢測技術(shù)及其高性能可伸縮架構(gòu)-36大數(shù)據(jù)

圖2顯示了樣本時間序列的特征曲線。請注意,以dc開始的指標(biāo)是在時間序列上經(jīng)過調(diào)整后(即刪除趨勢和季節(jié)性數(shù)據(jù)后)得到的。在第6.2節(jié)中,我們將看看這些時間序列特征如何影響模型性能。

Yahoo大規(guī)模時列數(shù)據(jù)異常檢測技術(shù)及其高性能可伸縮架構(gòu)-36大數(shù)據(jù)

圖2:EGADS提取的時間序列及其特征的一個示例

實驗研究

6.1數(shù)據(jù)

用于實驗的數(shù)據(jù)集由1:1的合成數(shù)據(jù)和真實數(shù)據(jù)混合而成。我們創(chuàng)建了一個合成的時間序列生成工具,該工具已經(jīng)隨著框架和基準(zhǔn)數(shù)據(jù)開源。使用該工具,通過指定長度、幅度、異常數(shù)、異常類型、異常大小、噪聲水平、趨勢和季節(jié)性來生成合成時間序列。真實數(shù)據(jù)集使用了雅虎會員登錄數(shù)據(jù)(YML)。合成和真實數(shù)據(jù)在時間序列都包含3000個數(shù)據(jù)點,YML數(shù)據(jù)包含了3個月的數(shù)據(jù)點。除非另有說明,所有實驗均以1000次隨機選取的時間序列進行,結(jié)果取平均值。還要注意,合成和真實數(shù)據(jù)都有異常標(biāo)簽,方便測量精度和召回率。

6.2建模實驗

時間序列建模(由EGADS中的TMM組件捕獲)是異常檢測的基本部分。通常情況下,異常檢測與底層時間序列模型一樣好。由于大量的候選模型,模型選擇變得至關(guān)重要,并且取決于時間序列特征和可用資源。在下面的實驗中,我們展示了時間序列特征對模型性能的影響,并顯示了精度,實驗中使用的模型和誤差度量分別參見表2和3。

表2 用于建模實驗的模型列表

Yahoo大規(guī)模時列數(shù)據(jù)異常檢測技術(shù)及其高性能可伸縮架構(gòu)-36大數(shù)據(jù)

表3 用于建模實驗的指標(biāo)列表

Yahoo大規(guī)模時列數(shù)據(jù)異常檢測技術(shù)及其高性能可伸縮架構(gòu)-36大數(shù)據(jù)

6.2.1時間序列特征和性能

為了證明時間序列特征對模型性能的影響,我們比較了不同模型的時間序列與不同特征的誤差度量(見4.2節(jié))。圖3顯示了時間序列特征在模型行為中起著重要作用。例如,季節(jié)性模式的Olympic模型在數(shù)據(jù)集上表現(xiàn)不佳,沒有季節(jié)性和強勁趨勢。 EGADS能夠跟蹤歷史時間序列特征和模型性能,使用這些歷史信息,EGADS選擇由表3中描述的誤差度量判斷的最佳模型(給定時間序列特征)。實際上,基于數(shù)據(jù)特征進行模型選擇比針對每個模型執(zhí)行交叉驗證要快得多。

Yahoo大規(guī)模時列數(shù)據(jù)異常檢測技術(shù)及其高性能可伸縮架構(gòu)-36大數(shù)據(jù)

圖3 具有不同特性的時間序列性能

6.2.2時序模型的可擴展性

如第2節(jié)所述,時序模型需要高性能技術(shù)以支持大規(guī)模(例如每秒數(shù)百萬點)數(shù)據(jù)流的實時計算,因此需要在模型大小、訓(xùn)練時間和準(zhǔn)確性之間進行權(quán)衡。 這種權(quán)衡在圖4(a)和4(b)中可以看出。 例如,從圖中可以看出,季節(jié)性天性模型訓(xùn)練很快,但是具有較大的存儲要求和較高的平均誤差。 在雅虎,首先設(shè)定了資源和模型訓(xùn)練時間的目標(biāo),然后選擇相應(yīng)的模型。 換句話說,目標(biāo)是在資源和模型建立時間限制下使得表3中的錯誤減到最小。

Yahoo大規(guī)模時列數(shù)據(jù)異常檢測技術(shù)及其高性能可伸縮架構(gòu)-36大數(shù)據(jù)

圖4 模型大小與訓(xùn)練時間的權(quán)衡

6.3異常檢測實驗

在本節(jié)中,我們比較了開源系統(tǒng)與EGADS,參考的開源系統(tǒng)如表4所示。

表4 開源異常檢測模型(系統(tǒng))列表

Yahoo大規(guī)模時列數(shù)據(jù)異常檢測技術(shù)及其高性能可伸縮架構(gòu)-36大數(shù)據(jù)

在圖5顯示了對6.1節(jié)中描述的數(shù)據(jù)的測試結(jié)果,比較方法采用:

Yahoo大規(guī)模時列數(shù)據(jù)異常檢測技術(shù)及其高性能可伸縮架構(gòu)-36大數(shù)據(jù)

Yahoo大規(guī)模時列數(shù)據(jù)異常檢測技術(shù)及其高性能可伸縮架構(gòu)-36大數(shù)據(jù)

圖5 異常模型在不同數(shù)據(jù)集上的表現(xiàn)(觀察到在所有數(shù)據(jù)集上沒有最好的單一模型)

結(jié)果可以看出,沒有一個最佳的異常檢測模型能適合所有業(yè)務(wù)場景,不同的算法需要結(jié)合檢測不同類型的異常來確定。例如,Twitter在數(shù)據(jù)集上表現(xiàn)最好,而ExtremeLowDensity模型在上表現(xiàn)最好。但是,EGADS的設(shè)計初衷是在用戶對數(shù)據(jù)類型的時間序列和異常類型不了解的情況下,該系統(tǒng)能夠優(yōu)雅和穩(wěn)健地處理數(shù)據(jù)中存在的各種異常現(xiàn)象。因此,EGADS被構(gòu)建為將一組異常檢測模型組合成一個最佳框架的庫。這些模型的異常被轉(zhuǎn)發(fā)到過濾組件以進行精確的異常檢測。

6.4異常過濾實驗

異常的重要性往往取決于實際應(yīng)用場景。具體來說,一些用戶可能對展示惡意攻擊的時間序列行為感興趣,而其他用戶可能對收入有興趣。

為了解決這個要求,過濾階段掃描所有模型的所有異常,并使用分類為作為真正的模型。在YM用例的過濾階段使用的模型是基于AdBoost的增強樹模型。模型中使用的特征參見表1。AdaBoost的核心原理是在變化的數(shù)據(jù)上進行適合一系列weak learners(例如,小決策樹),最后的結(jié)果是通過組合加權(quán)多數(shù)表決產(chǎn)生的。圖6中的實驗結(jié)果表明,在濾波階段使用不同的模型特征,得到比較好的精確率和召回率。

Yahoo大規(guī)模時列數(shù)據(jù)異常檢測技術(shù)及其高性能可伸縮架構(gòu)-36大數(shù)據(jù)

圖6:使用不同類型特征的過濾階段的精度

結(jié)論

異常檢測是許多具有故障應(yīng)用的實時監(jiān)控系統(tǒng)的核心部分, 比如檢測、欺詐檢測、網(wǎng)絡(luò)入侵檢測等等。盡管它至關(guān)重要,但實際上實施全自動異常檢測系統(tǒng)是一項極具挑戰(zhàn)性的任務(wù),這些挑戰(zhàn)通常導(dǎo)致解決方案不可擴展或并非高度專業(yè)化的,也導(dǎo)致了較高的誤報率。

在本文中,我們介紹了EGADS——雅虎實現(xiàn)的通用異常檢測系統(tǒng),對不同的Yahoo屬性和數(shù)百萬個時間序列進行自動監(jiān)控和警報。正如我們在本文中所描述的,Hadoop上的EGADS并行架構(gòu)以及Storm的流處理機制使得它能夠在雅虎的數(shù)百萬個時序數(shù)據(jù)集上執(zhí)行實時異常檢測。此外,EGADS采用不同的時間序列建模和異常檢測算法來處理不同的監(jiān)控場景。通過將這一組算法與機器學(xué)習(xí)機制結(jié)合到警報模塊中,EGADS能自動適應(yīng)對用戶重要的異常檢測用例。所有這些功能都有效地創(chuàng)建了一個功能強大的異常檢測框架,它是通用且可擴展的。我們對真實數(shù)據(jù)集和綜合數(shù)據(jù)集的展示實驗表明,與其競爭對手的解決方案相比,我們的框架具有優(yōu)越的適用性。

End.

轉(zhuǎn)載請注明來自36大數(shù)據(jù)(36dsj.com): 36大數(shù)據(jù) ? Yahoo大規(guī)模時列數(shù)據(jù)異常檢測技術(shù)及其高性能可伸縮架構(gòu)

隨意打賞

yahoo mail大數(shù)據(jù)架構(gòu)設(shè)計大數(shù)據(jù)技術(shù)架構(gòu)大數(shù)據(jù)基礎(chǔ)架構(gòu)大數(shù)據(jù)平臺架構(gòu)yahoo!yahoo大數(shù)據(jù)架構(gòu)
提交建議
微信掃一掃,分享給好友吧。
主站蜘蛛池模板: 成人二区 | 国产偷怕自拍 | 99精品国产兔费观看久久99 | 日韩字幕一中文在线综合 | 色啦啦影院 | 成人免费精品视频 | 国产无套乱子伦精彩是白视频 | 日本久久中文字幕 | 特黄特色大片免费播放器999 | 国产91在线精品 | 国产成人精品日本 | 免费看爱爱视频 | 亚洲综合国产一区在线 | 看全色黄大色大片免费久久久 | 日韩一区二区在线视频 | 午夜久久久久久网站 | 亚洲综合插 | 久久免费视频2 | 大杳蕉伊人狼人久久一本线 | 久久精品资源 | 日韩国产综合 | 性短视频在线观看免费不卡流畅 | 猫咪伊人网 | 老司机精品在线观看 | 免费 黄 色 人成 视频 | 午夜精品久久久久久久99 | 欧美成人免费高清网站 | 亚洲视频在线一区二区 | 成人免费视频一区 | 五月婷婷婷婷婷 | 天堂毛片| www.精品| 久久久久久a亚洲欧洲aⅴ | 国产二级片 | 国产欧美日韩综合精品一区二区 | 伊人久久大香线焦综合四虎 | 精品视频在线观看一区二区 | 99国产精品热久久久久久夜夜嗨 | 国产成人精品久久综合 | 综合国产福利视频在线观看 | 在线亚洲综合 |