色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁(yè) > 消費(fèi)電子 > 設(shè)計(jì)應(yīng)用 > 視頻監(jiān)控落地四要素:預(yù)測(cè)、檢測(cè)、報(bào)警及定位

          視頻監(jiān)控落地四要素:預(yù)測(cè)、檢測(cè)、報(bào)警及定位

          作者: 時(shí)間:2018-08-02 來(lái)源:網(wǎng)絡(luò) 收藏

          本文引用地址:http://cafeforensic.com/article/201808/384998.htm

          圖4 均值漂移原理

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

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

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

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

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

          4、智能全景

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

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

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

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

          5、輔助定位

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

          (1)全鏈路分析

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

          圖5 全鏈路tracing

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

          (2)報(bào)警時(shí)間點(diǎn)上發(fā)生了什么?

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

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

          (3)A/B test或TopN

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

          圖7 A/B test or TopN

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

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

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

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

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

          四、難點(diǎn)

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

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

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

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

          (3)對(duì)于需要均值漂移來(lái)檢測(cè)細(xì)微波動(dòng)的情況,24小時(shí)的時(shí)間序列本身有流量高峰和低谷,這種情況一般采用差分法做平滑處理,使用幾階差分自己掌握。Goldeneye沒(méi)有直接使用差分法,因?yàn)槲覀円呀?jīng)預(yù)測(cè)了基準(zhǔn)值,所以我們使用實(shí)際監(jiān)測(cè)值與基準(zhǔn)值的gap序列作為變點(diǎn)監(jiān)測(cè)的輸入樣本。

          2、埋點(diǎn)代價(jià)

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

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

          3、數(shù)據(jù)標(biāo)準(zhǔn)化

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

          但是,這些標(biāo)準(zhǔn)化的推進(jìn)需要很多參與者的認(rèn)可和支持,甚至需要他們?cè)谙到y(tǒng)架構(gòu)上的重構(gòu),看似是比較困難的。

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

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

          時(shí)間序列預(yù)測(cè)模型,目前的模型只考慮了日期、節(jié)假日/周末、時(shí)間段的因素,沒(méi)有年同比趨勢(shì)、大促活動(dòng)影響、運(yùn)營(yíng)調(diào)整影響的因素,需要抽象出來(lái)。

          指標(biāo)相關(guān)性由統(tǒng)計(jì)分析程序來(lái)確定。


          上一頁(yè) 1 2 下一頁(yè)

          關(guān)鍵詞:

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉