最新精品久久,欧美亚洲福利,表妹免费在线观看,久久国产二区,国产三级电影网站,日本特黄久久,成人a在线视频免费观看

視頻監(jiān)控落地四要素:預測、檢測、報警及定位

來源:網(wǎng)絡

點擊:1065

A+ A-

所屬頻道:新聞中心

關(guān)鍵詞: 視頻監(jiān)控,安防

    背景介紹

    該分享是阿里媽媽Goldeneye業(yè)務監(jiān)控平臺的智能監(jiān)控解決方案。

    這個分享主要包括智能監(jiān)控的技術(shù)實現(xiàn),以及大規(guī)模日志監(jiān)測數(shù)據(jù)的自動化接入兩部分。我先介紹一下智能監(jiān)控部分,下一期分享中我的兩位同事將給大家著重介紹日志分析處理的計算存儲。智能監(jiān)控現(xiàn)在其他一些公司也有在做,希望通過這次分享能夠給大家?guī)硪恍┬碌膯l(fā),也歡迎大家能夠提出問題和建議,互相切磋交流經(jīng)驗?!R小鵬

    相關(guān)廠商內(nèi)容

    分享內(nèi)容的提綱如下:Goldeneye智能監(jiān)控的業(yè)務背景、技術(shù)思想、技術(shù)實現(xiàn)細節(jié)、難點和今后的優(yōu)化方向。

    嘉賓介紹

    馬小鵬,阿里媽媽全景業(yè)務監(jiān)控平臺技術(shù)負責人。2013 起在阿里從事大規(guī)模系統(tǒng)日志分析及應用的研發(fā),曾經(jīng)主導了直通車廣告主報表平臺和實時報表存儲選型。在加入阿里之前,曾負責網(wǎng)易電商 App 數(shù)據(jù)統(tǒng)計平臺的研發(fā)。

    一、Goldeneye智能監(jiān)控的背景

    Goldeneye作為阿里媽媽業(yè)務監(jiān)控平臺,主要在業(yè)務日志、數(shù)據(jù)的實時統(tǒng)計分析基礎(chǔ)上做監(jiān)控報警以及輔助定位。阿里集團內(nèi)部也有很多優(yōu)秀的監(jiān)控平臺,它們在開放性上做的很好,接入成本也不高,但是監(jiān)控閾值也是開放給用戶自己設(shè)定。這種情況下,對于業(yè)務監(jiān)控人工維護閾值就比較復雜,需要有豐富的經(jīng)驗來拍定閾值,需要人工持續(xù)的維護不同監(jiān)控項的監(jiān)控閾值。所以,在業(yè)務快速發(fā)展的前提下,傳統(tǒng)的靜態(tài)閾值監(jiān)控很容易出現(xiàn)了誤報、漏報的問題,而且人工維護成本高,監(jiān)控視野局限。Goldeneye就是在這種基礎(chǔ)上,我們試著從大數(shù)據(jù)應用的角度,去解決業(yè)務監(jiān)控中的問題,由此誕生的。

    1. 業(yè)務背景:

    (1)體量大:Goldeneye現(xiàn)在接入的業(yè)務線覆蓋了阿里媽媽主體的90%業(yè)務,每天處理的日志量在100T以上,業(yè)務監(jiān)控需要對各業(yè)務線的流量分層級實時監(jiān)控,核心數(shù)據(jù)以1分鐘為周期,一般監(jiān)測數(shù)據(jù)以5分鐘或1小時為周期,監(jiān)控目標非常多,按人工維護這些監(jiān)控的閾值、啟停、生效實效等幾乎是達不到的。

    (2)變化多:業(yè)務監(jiān)控的監(jiān)測數(shù)據(jù)大都是業(yè)務指標,不同于系統(tǒng)運維指標,比如RT/QPS/TPS等一般是比較穩(wěn)定的,業(yè)務指標具有周期性變化的特點,比如工作日和節(jié)假日的區(qū)別、業(yè)務營銷策略調(diào)整的影響等,在這種情況下人工設(shè)定的靜態(tài)報警閾值準確性就很難保障了。

    (3)迭代快:隨著阿里媽媽資源整合和業(yè)務的快速發(fā)展,監(jiān)控目標也經(jīng)常發(fā)生變化,比如流量監(jiān)控資源位的調(diào)整、效果監(jiān)控的產(chǎn)品類型劃分等,曾經(jīng)出現(xiàn)過新流量上線后的監(jiān)控盲點。

    2. 技術(shù)背景:

    視頻監(jiān)控落地四要素:預測、檢測、報警及定位

    圖1 Goldeneye技術(shù)背景

    通常的業(yè)務監(jiān)控系統(tǒng)或平臺,都是由采集、數(shù)據(jù)處理、檢測、報警等模塊組成的,Goldeneye也是如此,不過它的技術(shù)架構(gòu)上用了阿里內(nèi)部的一些技術(shù)中間件,比如采集我們使用TimeTunnel(它有agent在各臺日志服務器上拉日志到Topic,并且負責將離線日志放到ODPS上),這部分我不再介紹了。

    數(shù)據(jù)處理我們使用的jstorm和ODPS MR job分別對日志進行實時、離線批處理,主要包括日志解析、校驗、時間周期歸一化、聚合、寫存儲(HBase)等操作,這部分下一期分享中我的同事會詳細介紹。今天的分享主要集中在閾值預測、監(jiān)控檢測、報警生成&通知、輔助定位這四部分。

    二、技術(shù)思想

    智能監(jiān)控就是讓系統(tǒng)在業(yè)務監(jiān)控的某些環(huán)節(jié)上代替人工執(zhí)行和判斷的過程。人工維護監(jiān)控目標和閾值是以經(jīng)驗為參考的,系統(tǒng)如何自動判斷哪些目標需要監(jiān)控、自動設(shè)定監(jiān)控目標的閾值水位、不用人力維護,是基于對歷史樣本數(shù)據(jù)統(tǒng)計分析得出判斷依據(jù)。

    通過收集監(jiān)測數(shù)據(jù)的樣本,并使用智能檢測算法模型,讓程序自動對監(jiān)控項指標的基準值、閾值做預測,在檢測判斷異常報警時使用規(guī)則組合和均值漂移算法,能精確地判斷需要報警的異常點和變點。

    1.閾值水位自適應變化

    以往我們添加監(jiān)控有兩種做法:

    給指標M1設(shè)置一個水位線,低于(或高于)水位,觸發(fā)報警;

    給指標M1設(shè)置同比、環(huán)比波動幅度,比如同比波動20%、環(huán)比波動10%觸發(fā)報警;

    以上兩種方式,是平常大家常用的監(jiān)控方式,但是效果確不理想,這種靜態(tài)閾值長期來看沒有適應變化的能力,需要人工維護,而且報警準確性也依賴于同環(huán)比數(shù)據(jù)的穩(wěn)定性。

    我們能否讓系統(tǒng)具備自動適應變化的能力,自動調(diào)整閾值水位?就如同手動擋的汽車換成自動擋一樣,可以根據(jù)速度自己調(diào)節(jié)檔位。

    2.監(jiān)控項自動發(fā)現(xiàn)

    當我們的監(jiān)控系統(tǒng)具備預測動態(tài)閾值的能力后,監(jiān)控項的維護是否也可以交給系統(tǒng)去做?

    可能大家也曾遇到過類似的情況,舊的監(jiān)控項已經(jīng)沒有數(shù)據(jù)了,新的監(jiān)控目標卻因為各種原因被漏掉,人工維護監(jiān)控項需要及時同步上下線變更,但是當我們需要監(jiān)控的目標有一千個、一萬個甚至更多的時候,人力是無法一直跟進這些監(jiān)控項的維護工作的,或者說這種工作比較單調(diào)容易被忽視。

    我們能否將判斷如何篩選監(jiān)控項的規(guī)則交給系統(tǒng),讓它去定期檢查哪些監(jiān)控項已經(jīng)實效,哪些監(jiān)控項需要新增,哪些監(jiān)控項的閾值需要調(diào)節(jié)。這種發(fā)現(xiàn)規(guī)則是穩(wěn)定的,僅僅是依據(jù)發(fā)現(xiàn)規(guī)則得出的監(jiān)控項內(nèi)容在不斷變化而已。

    3.過濾誤報時欲擒故縱

    當我們的監(jiān)控系統(tǒng)具備預測動態(tài)閾值、自動發(fā)現(xiàn)并維護監(jiān)控項的能力后,如何達到不漏報和不誤報之間的平衡?

    對于監(jiān)控而言,漏報是不可容忍的,但是誤報過多也容易使人麻木。

    通常的做法是為了不被誤報干擾至麻木,會把閾值調(diào)節(jié)得寬松些,但是這種做法容易產(chǎn)生漏報,尤其是下跌不太明顯的情況。

    Goldeneye采取的思路是對誤報case欲擒故縱,在首先確保不漏報的基礎(chǔ)上降低誤報率。先監(jiān)控產(chǎn)生疑似異常點,這一環(huán)節(jié)我們基于動態(tài)閾值去檢測時相對嚴格一些(或者說這一環(huán)節(jié)不用考慮報警收斂的問題),然后對這些疑似異常點再做驗證、過濾,最終生成報警通知,驗證和過濾的依據(jù)是預先定義的規(guī)則,比如指標組合判斷、報警收斂表達式等。

    三、技術(shù)實現(xiàn)細節(jié)

    下面介紹技術(shù)實現(xiàn)的一些細節(jié),分為監(jiān)控系統(tǒng)的架構(gòu)、動態(tài)閾值、變點檢測、智能全景、輔助定位五個點。

    1、整體介紹

    Goldeneye監(jiān)控系統(tǒng)的四個輸入:實時監(jiān)測數(shù)據(jù)、歷史數(shù)據(jù)、預測策略、報警過濾規(guī)則。

    其中,歷史數(shù)據(jù)是實時監(jiān)測數(shù)據(jù)的積累。

    而預測策略主要包括:

    (1)閾值參數(shù):設(shè)置基于預測基準值的系數(shù)決定閾值上下限區(qū)間、分時段閾值預測系數(shù)、分報警靈敏度閾值預測系數(shù);

    (2)預測參數(shù):樣本數(shù)量、異常樣本過濾的高斯函數(shù)水位或者過濾比例、基于均值漂移模型的樣本分段選取置信度等。

    關(guān)于報警過濾規(guī)則,主要是為了在充分捕捉疑似異常點的前提下,過濾不必要的報警。比如指標M1異常,但是組合規(guī)則是M1和M2同時異常才報警,這種就會過濾掉。再比如,按照報警收斂規(guī)則,一個監(jiān)控項的第1次,第2次,第10次,第50次連續(xù)報警值得關(guān)注,可以設(shè)置收斂表達式為1,2,10,50,那么在報警通知生成時對于第3,4,…,9,11,12,…,49次報警可以忽略,因為反復通知的意義不大,這個規(guī)則可以按需要達到自動收斂。也可以在同一監(jiān)控項的多個實例同時發(fā)生異常報警的情況下,按規(guī)則合并成一條報警,這些規(guī)則可以按具體情況去實現(xiàn),最終的目的是以最簡潔的方式暴露最值得關(guān)注的報警。

    (這里補充一句,我們最近在考慮新的收斂方式,對第1條和最后1條報警,并且自動計算出累積gap,這樣異常的起止和影響范圍更明顯)

    視頻監(jiān)控落地四要素:預測、檢測、報警及定位

    圖2 Goldeneye報警系統(tǒng)架構(gòu)

    2、動態(tài)閾值

    監(jiān)控使用控制圖,對監(jiān)測指標的時間序列可視化,讓人們可以清楚的看到指標的波動?;诳刂茍D的監(jiān)控,以往很多都是靜態(tài)閾值方式,比如前面提到的靜態(tài)水位線、同環(huán)比。動態(tài)閾值是為控制圖的時間序列每個點,預估該點對應時刻這個指標的基準值、閾值上限、閾值下限,從而讓程序可以自動判斷是否有異常。因為這種預估基于過去幾個月甚至更多的歷史樣本作為參考,所以比同環(huán)比兩個數(shù)據(jù)作為參照的準確度要高。動態(tài)閾值預測的理論基礎(chǔ)是高斯分布和均值漂移模型。

    視頻監(jiān)控落地四要素:預測、檢測、報警及定位

    圖3 動態(tài)閾值原理

    動態(tài)閾值預測的步驟主要是這樣:

    (1)樣本選?。哼@個根據(jù)自己的需要,一般建議選取過去50天左右的樣本。

    (2)異常樣本篩除:這個過程主要使用高斯分布函數(shù)過濾掉函數(shù)值小于0.01,或者標準方差絕對值大于1的樣本。

    (3)樣本截取:因為后來我們優(yōu)化的版本,在(2)的基礎(chǔ)上使用均值漂移模型對歷史樣本在時間序列上進行分段檢驗,如果有周期性變化、或者持續(xù)單調(diào)變化,則會反復迭代均值漂移模型尋找均值漂移點,然后截取離當前日期最近第一段(或者可以理解為最近一段時間最平穩(wěn)的樣本序列)。樣本選取還有一個需要注意的問題,節(jié)假日和工作日的樣本要分開選取,預測工作日的閾值要選擇工作日的樣本,節(jié)假日亦然,也就是對預測樣本從日期、周末、平穩(wěn)性三個維度拆分選取。

    (4)預測基準值:經(jīng)過(2)和(3)的篩選、截取,剩下的樣本基本上是最理想的樣本了,在此基礎(chǔ)上,保持樣本在日期上的順序,按指數(shù)平滑法預測目標日期的基準值,得到基準值以后根據(jù)靈敏度或閾值系數(shù),計算閾值上下限。

    (補充說明:第四步預測基準值,有些人可能之前用過指數(shù)平滑法預測,跟第四步我們在樣本權(quán)重加權(quán)時的做法很相近,但是他們預測的效果不理想,因為對樣本整體沒有充分的過濾選取最穩(wěn)定的樣本集合)

    3、變點檢測

    動態(tài)閾值用數(shù)據(jù)統(tǒng)計分析的辦法解決了靜態(tài)閾值的誤報漏報問題,節(jié)省了人工維護的成本,一定程度上降低了監(jiān)控風險。不過在微量波動、持續(xù)陰跌的故障面前,動態(tài)閾值也有局限性,閾值區(qū)間收的太緊誤報會增多,區(qū)間寬松就會漏報一些不太顯著的故障。在review漏報case時,我們從控制圖上發(fā)現(xiàn)這些微量波動肉眼可以觀察到趨勢,但是程序通過閾值區(qū)間擊穿的判斷方式很難控制,所以引入了均值漂移模型來尋找變點。所謂變點,就是持續(xù)微量下跌到一定時間,累積變化量到一定程度后,使得變點前后監(jiān)測指標在一段時間內(nèi)的均值發(fā)生漂移。

    視頻監(jiān)控落地四要素:預測、檢測、報警及定位

    圖4 均值漂移原理

    從上圖可以看到,均值漂移模型的算法原理,實際上是把程序不容易識別的陰跌趨勢,轉(zhuǎn)換成CUSUM時間序列,它的趨勢很明顯,在變點左側(cè)單調(diào)增、右側(cè)單調(diào)減,CUSUM時間序列描述了被監(jiān)測時間序列每個點偏離均值的累積變化量,它的規(guī)律是從S0=0開始,到Sn=0結(jié)束,變點兩側(cè)單調(diào)變化。

    CUSUM=Cumulative Sum。累積和用以在某個相對穩(wěn)定的數(shù)據(jù)序列中,檢測出開始發(fā)生異常的數(shù)據(jù)點。累積和最典型的應用是在“改變檢測”(Change Detection)中對參量變化的檢測問題轉(zhuǎn)化了以后,用程序求CUSUM序列上每個點的一階導數(shù),從持續(xù)增變?yōu)槌掷m(xù)減即可判定為變點,至于持續(xù)增、減多少個點,由自己來設(shè)定。

    關(guān)于變點檢測使用的mean-shift模型,大家可以去網(wǎng)上找找paper,我這臺電腦上找不到了,上面主要說明了發(fā)現(xiàn)變點的原理,通俗地講,就是把問題轉(zhuǎn)化成程序容易解決的狀態(tài)陰跌線程序不容易量化衡量、判斷,那么就用CUSUM控制圖里的“富士山”形狀去尋找,這是我個人的通俗解釋。

    上面說到我們使用CUSUM序列上每個點的一階導數(shù)來判斷拐點(變點)是否到來,其實圖上這個例子是比較理想的情況,在我應用mean-shift模型時,遇到了一些復雜情況,比如這個圖上就一個“山頭尖”,但是也時候會有多個,這種情況下就要再次轉(zhuǎn)化問題,比如可以把CUSUM再差分,或者以我們的做法,記錄一階導數(shù)的狀態(tài)值,從連續(xù)N個正值變?yōu)槌掷m(xù)N個負值時可以判定。

    另外,變點檢測的算法實現(xiàn)我這里不方便詳細說明,其中變點在反復迭代時自己可以根據(jù)實際情況設(shè)定迭代次數(shù)和置信度,有助于提高變點發(fā)現(xiàn)的準確性。

    4、智能全景

    變點檢測彌補了動態(tài)閾值對細微波動的檢測不足,這兩種方式結(jié)合起來,基本可以達到不漏報和不誤報的平衡,同時也不需要人工長期維護,這是智能全景監(jiān)控的基礎(chǔ)。當監(jiān)控的人力成本節(jié)省了以后,理論上我們可以依賴智能監(jiān)控無限制的開拓監(jiān)控視野,并將這些監(jiān)控報警連結(jié)起來分析。

    監(jiān)控項的自動發(fā)現(xiàn)規(guī)則,比如對維度D的指標M做實時監(jiān)控,維度D下可能由1000種維度值,而且是不斷變化的1000種,如何讓程序自動維護監(jiān)控項?你可以制定一個規(guī)則,比如指標M>X則認為需要監(jiān)控(畢竟不是所有的都需要監(jiān)控報警,至少在目前故障定位處理沒有完全自動化的狀況下,報警處理也是需要一定人力的)。在滿足M>X的條件下,為了提高報警準確性,我們還需要根據(jù)重要性區(qū)分報警靈敏度,也就是對于宏觀、核心的維度值我們希望能夠非常靈敏的監(jiān)控波動,而對于非重要的維度值我們預測閾值可以寬松一些,這些可以通過上面說的閾值參數(shù)來設(shè)定。

    (說明:這個規(guī)則我這里只是舉一個例子,各位同仁可以根據(jù)自己的實際場景去實現(xiàn)一些規(guī)則,比如系統(tǒng)運維層面的監(jiān)控,有些是按照距離故障發(fā)生的速度或風險系數(shù)來判斷,那么就可以圍繞這種指標來制定,假如是對磁盤利用率的監(jiān)控,就是容量增長速度與剩余資源比例作為參考等等)

    以上條件都滿足了之后,智能全景監(jiān)控基本可以運行,不過我們也曾遇到一些其他的問題,比如業(yè)務方需要接入監(jiān)控,但是不一定是必須要我們解析日志,他們有自己的數(shù)據(jù),可能是數(shù)據(jù)庫、接口返回、消息中間件里的消息等等。所以,我們在數(shù)據(jù)接入上采用分層接入,可以從日志標準輸出格式、存儲的時間序列schema約定、閾值預測的接口三個層次接入使用,這個內(nèi)容將在下一次分享時由我的同事單獨介紹。這里之所以提到,是因為全景監(jiān)控接入的數(shù)據(jù)比較多,所以接入途徑要有層次、靈活性。

    5、輔助定位

    報警的最終目的是減少損失,所以定位問題原因尤為重要。Goldeneye嘗試著用程序去執(zhí)行人工定位原因時的套路,當然這些套路目前是通過配置生成的,還沒有達到機器學習得出來的地步,不過當業(yè)務監(jiān)控指標接入的越來越多,指標體系逐漸完善以后,通過統(tǒng)計學的相關(guān)性分析,這些套路的生成也有可能讓程序去完成。這里我介紹一下,程序可以執(zhí)行的人工總結(jié)處的幾個套路。

    (1)全鏈路分析

    從技術(shù)架構(gòu)、業(yè)務流程的角度,我們的監(jiān)測指標是否正常,從外部因素分析,一般會受到它的上游影響。按照這個思路,逐一分析上游是否正常,就形成了一條鏈路。這種例子很多,比如系統(tǒng)架構(gòu)的模塊A,B,C,D,E的QPS。

    視頻監(jiān)控落地四要素:預測、檢測、報警及定位

    圖5 全鏈路tracing

    (插一句,全鏈路分析有兩種數(shù)據(jù)記錄方式,要么鏈路每個節(jié)點內(nèi)部透傳,拼接成完整鏈路處理信息記錄到最終的節(jié)點日志;要么異步地每個節(jié)點各自將信息push到中間件)

    (2)報警時間點上發(fā)生了什么?

    這是收到監(jiān)控報警后大多數(shù)人的反應,我們把運維事件、運營調(diào)整事件盡可能地收集起來,將這些事件地散點圖和監(jiān)測報警的控制圖結(jié)合起來,就能看出問題。如果程序自動完成,就是將事件發(fā)生的時間點也按相同的方式歸一化到固定周期的時間點,檢查與報警時間點是否吻合。

    視頻監(jiān)控落地四要素:預測、檢測、報警及定位

    圖6 生產(chǎn)事件與時間序列

    (3)A/B test或TopN

    有些人定位問題,使用排除法縮小出問題的范圍。比如在維度D上指標M有異常波動,可以將D拆分成D1,D2,D3來對比,常見的具體情況比如機房對照、分組對照、版本對照、終端類型對照等等,如果在監(jiān)測數(shù)據(jù)層級清晰的基礎(chǔ)上,我們可以一層一層的鉆取數(shù)據(jù)做A/B test,直到定位到具體原因。還有一種方式,不是通過枚舉切分做A/B test,而是直接以指標M為目標,列出維度D的子維度D1,D2,D3,……中指標M的TopN,找出最突出的幾項重點排查。

    視頻監(jiān)控落地四要素:預測、檢測、報警及定位

    圖7 A/B test or TopN

    topn也是類似的。大家可以也能看出來,智能監(jiān)控和輔助定位是需要一個清晰的數(shù)據(jù)層級和元數(shù)據(jù)管理系統(tǒng)來支撐的,這一點很基礎(chǔ)。

    (4)關(guān)聯(lián)指標

    不同的指標在監(jiān)控中都是持續(xù)的時間序列,有些指標之間是函數(shù)關(guān)系,比如ctr=click/pv,click和pv的變化必然帶來ctr的變化,這種聯(lián)系是函數(shù)直接描述的。還有一些指標的關(guān)聯(lián),無法用函數(shù)公式描述,它們之間的相關(guān)性用統(tǒng)計學指標來衡量,比如皮爾遜系數(shù)。Goldeneye的指標關(guān)聯(lián)依據(jù),目前還沒有自動分析,暫時是人工根據(jù)經(jīng)驗設(shè)置的,只是視圖讓程序去完成追蹤定位的過程,比如指標M1出現(xiàn)異常報警后能夠觸發(fā)相關(guān)指標RMG1/RMG2/RMG3的檢測(因為這些指標可能平時不需要7*24小時監(jiān)控報警,僅在需要的時候check),以此類推逐級檢測定位。

    這些方式或許大家平時也嘗試著去做過一些程序化的處理,我個人認為關(guān)聯(lián)指標的方式,基礎(chǔ)在于構(gòu)建指標體系,這個構(gòu)建過程可以是人工經(jīng)驗和程序統(tǒng)計分析的結(jié)合,指標體系至少能夠描述指標的分類、數(shù)據(jù)出處、具體含義、影響相關(guān)指標的權(quán)重等等,有了這些基礎(chǔ)才能應用統(tǒng)計學的分析方法完成。

    四、難點

    1、時間序列平穩(wěn)化

    平穩(wěn)化的時間序列,對預測準確性有非常重要的意義,可是我們的業(yè)務監(jiān)測時間序列恰好大多數(shù)都不是平穩(wěn)化的,以5分鐘的監(jiān)測周期為力,除了大盤及核心監(jiān)測序列,其他的時間序列都是在一定范圍內(nèi)正常波動但總體趨勢卻是穩(wěn)定的。我們目前采用的方法是:

    視頻監(jiān)控落地四要素:預測、檢測、報警及定位

    圖8 關(guān)聯(lián)指標

    (1)滑動平均,比如波動鋸齒明顯,容易造成誤報干擾的化,則加大監(jiān)控監(jiān)測周期,將5分鐘提高到30分鐘,相當于擬合6個時間窗口的數(shù)據(jù)來平滑時間序列。

    (2)持續(xù)報警判斷,如果覺得30分鐘發(fā)現(xiàn)問題會比較晚,可以按5分鐘檢測,鋸齒波動容易發(fā)生報警,但可以連續(xù)3次報警再發(fā)通知,這樣就避免了鋸齒波動的誤報。

    (3)對于需要均值漂移來檢測細微波動的情況,24小時的時間序列本身有流量高峰和低谷,這種情況一般采用差分法做平滑處理,使用幾階差分自己掌握。Goldeneye沒有直接使用差分法,因為我們已經(jīng)預測了基準值,所以我們使用實際監(jiān)測值與基準值的gap序列作為變點監(jiān)測的輸入樣本。

    2、埋點代價

    業(yè)務監(jiān)控的監(jiān)測數(shù)據(jù)來源主要是日志、業(yè)務系統(tǒng)模塊吐出到中間件、采集接口被push,從系統(tǒng)各模塊吐出數(shù)據(jù)到中間件似乎比直接寫入磁盤的IO開銷小很多,不過對于請求壓力比較大的系統(tǒng),開旁路寫出數(shù)據(jù)即使是內(nèi)存級也是有一定開銷的。

    解決這個問題的辦法是數(shù)據(jù)采樣,對于在時間上分布均勻的監(jiān)測數(shù)據(jù),直接按百分比采樣。

    3、數(shù)據(jù)標準化

    雖然數(shù)據(jù)接入是分層開放的,但是我們還是制定了標準的數(shù)據(jù)格式,比如時間序列數(shù)據(jù)存儲schema,可擴展的日志消息proto格式,在這些結(jié)構(gòu)化數(shù)據(jù)的定義中,可以區(qū)分出業(yè)務線、產(chǎn)品、流量類型、機房、版本等一些標準的監(jiān)控維度信息,這樣做的目的是以后可以將這些監(jiān)測數(shù)據(jù)和故障定位的指標相關(guān)性分析銜接起來。

    但是,這些標準化的推進需要很多參與者的認可和支持,甚至需要他們在系統(tǒng)架構(gòu)上的重構(gòu),看似是比較困難的。

    目前可以想到的辦法,就是在旁路吐出監(jiān)測數(shù)據(jù)時,以標準化的消息格式封裝,然后保證在Goldeneye的存儲層有標準的schema和接口訪問。

    五、今后的優(yōu)化方向

    時間序列預測模型,目前的模型只考慮了日期、節(jié)假日/周末、時間段的因素,沒有年同比趨勢、大促活動影響、運營調(diào)整影響的因素,需要抽象出來。

    指標相關(guān)性由統(tǒng)計分析程序來確定。


    (審核編輯: 林靜)

    聲明:除特別說明之外,新聞內(nèi)容及圖片均來自網(wǎng)絡及各大主流媒體。版權(quán)歸原作者所有。如認為內(nèi)容侵權(quán),請聯(lián)系我們刪除。