成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

如何實現(xiàn)多維智能監(jiān)控?--AI運維的實踐探索【一】

xioqua / 3078人閱讀

摘要:近十年監(jiān)控系統(tǒng)開發(fā)經(jīng)驗,具有構(gòu)建基于大數(shù)據(jù)平臺的海量高可用分布式監(jiān)控系統(tǒng)研發(fā)經(jīng)驗。的哈勃多維監(jiān)控平臺在完成大數(shù)據(jù)架構(gòu)改造后,嘗試引入能力,多維根因分析是其中一試點,用于摸索的應(yīng)用經(jīng)驗。

作者丨吳樹生:騰訊高級工程師,負(fù)責(zé)SNG大數(shù)據(jù)監(jiān)控平臺建設(shè)。近十年監(jiān)控系統(tǒng)開發(fā)經(jīng)驗,具有構(gòu)建基于大數(shù)據(jù)平臺的海量高可用分布式監(jiān)控系統(tǒng)研發(fā)經(jīng)驗。

導(dǎo)語:監(jiān)控數(shù)據(jù)多維化后,帶來新的應(yīng)用場景。SNG的哈勃多維監(jiān)控平臺在完成大數(shù)據(jù)架構(gòu)改造后,嘗試引入AI能力,多維根因分析是其中一試點,用于摸索AI的應(yīng)用經(jīng)驗。本分分享探索過程和經(jīng)驗,希望可給后續(xù)AI應(yīng)用提供參考。

前言

在2015年構(gòu)建多維監(jiān)控平臺時用kmeans做了異常點多維根因分析的嘗試,后因種種原因而擱置了深入研究。雖中止了兩年,但一直未忘當(dāng)初的夢想。隨著掀起AI浪潮,平臺和技術(shù)也已成熟,監(jiān)控團隊歷經(jīng)兩個月的重新調(diào)研和預(yù)研后取得突破,另辟蹊徑地找到異常點的多維根因分析方法,我們稱為MDRCA(Multi-Dimensional Root Cause Analysis)算法。

這篇文章為持續(xù)兩年多的夢畫上一個句號,它是監(jiān)控團隊第一代成果總結(jié):介紹監(jiān)控多維數(shù)據(jù)特點、基于kmeans多維根因分析方法、第一代MDRCA算法和AI在監(jiān)控領(lǐng)域應(yīng)用經(jīng)驗。筆者不敢貪功,僅將成果描述出來,如有偏差不全之處還望與讀者多交流修正。

監(jiān)控多維數(shù)據(jù)特點

監(jiān)控的核心是對監(jiān)控對象的指標(biāo)采集、處理、檢測和分析。傳統(tǒng)監(jiān)控的對象是一個單一的實體,例如服務(wù)器、路由器、交換機等。這些單一對象通過指標(biāo)反映運行狀態(tài),例如服務(wù)器的狀態(tài)指標(biāo)有CPU使用率、內(nèi)存使用大小、磁盤IO和網(wǎng)卡流量等。

傳統(tǒng)監(jiān)控系統(tǒng)通過定時任務(wù)采集這些監(jiān)控對象的指標(biāo)數(shù)據(jù),經(jīng)過校正后存儲起來用于展示和異常檢測。異常檢測通過判斷指標(biāo)是否偏離設(shè)置的閾值來標(biāo)識異常事件。

在傳統(tǒng)監(jiān)控之后,將監(jiān)控對象擴展為一個虛擬的業(yè)務(wù)功能或業(yè)務(wù)模塊,這時的對象仍是單一的,可用一個唯一ID表達。對象的指標(biāo)也相應(yīng)的轉(zhuǎn)變?yōu)榉从硺I(yè)務(wù)功能狀態(tài)的指標(biāo),例如接口調(diào)用次數(shù)、http返回200次數(shù)、http返回500次數(shù)等。

這些指標(biāo)數(shù)據(jù)通常需要在應(yīng)用程序埋點上報。數(shù)據(jù)處理、存儲和異常檢測與傳統(tǒng)監(jiān)控一致。

隨著業(yè)務(wù)擴展,業(yè)務(wù)模塊間的關(guān)系愈加復(fù)雜。通過單一對象的指標(biāo)反映的狀態(tài)已不能滿足業(yè)務(wù)監(jiān)控需求。業(yè)務(wù)異常往往體現(xiàn)在多個對象的指標(biāo)異常,用戶收到告警后需要在大量指標(biāo)數(shù)據(jù)中剝絲抽繭般地分析異常原因。

這個狀況伴生了運維痛點:一是告警量大;二是分析耗時長。

解決這一問題的關(guān)鍵是建立對象和指標(biāo)的關(guān)聯(lián)模型。通過相關(guān)性收斂對象和指標(biāo),減少告警量。并通過關(guān)聯(lián)模型中的調(diào)用關(guān)系模型和層次關(guān)系模型快速找到問題根因。對傳統(tǒng)監(jiān)控中的對象翻譯為多維度屬性后對指標(biāo)數(shù)據(jù)進行處理、存儲和異常檢測,形成多維監(jiān)控。對象的維度屬性將對象分類,構(gòu)建了對象的關(guān)聯(lián)模型。

這樣對單一對象的異常檢測可提煉為對某一維度屬性的異常檢測,從而減少檢測對象。在發(fā)生異常后根據(jù)維度下鉆分析,有規(guī)則地提供分析路徑,避免盲目分析,減少分析耗時。

用A、B和C這三個業(yè)務(wù)模塊來說明上面介紹的多維監(jiān)控形成過程:

這三個模塊的調(diào)用關(guān)系為A調(diào)用B,B調(diào)用C。C根據(jù)機房劃分為C1和C2兩個子模塊。A模塊下有2臺機器(10.0.1.1和10.0.1.2),B下有3臺機器(10.0.2.1、10.0.2.2和10.0.2.3),C1下有1臺機器(10.0.3.11),C2下有2臺機器(10.0.3.21和10.0.3.22)。

假設(shè)C模塊下的機器負(fù)載已飽和,也就是說如果其中有一臺機器異常,則提供有損服務(wù),影響B(tài)和A的成功率。如果C2模塊下的10.0.3.21機器異常,則會觸發(fā)10.0.3.21機器告警及A和B下的5臺機器告警,總共有6個對象產(chǎn)生告警。

在實際運營中,往往有多個指標(biāo)反映一個功能狀態(tài),進一步增加告警量。

為解決例子描述的告警量大和分析耗時痛點,將監(jiān)控對象的機器翻譯成業(yè)務(wù)模塊,從而形成一個業(yè)務(wù)模塊和機器的多維度數(shù)據(jù)。異常檢測也由機器維度更改為業(yè)務(wù)模塊維度,減少檢測對象的數(shù)量。在分析異常時,沿著業(yè)務(wù)模塊到機器的層級關(guān)系可查找出異常點。

還有一種多維數(shù)據(jù)的場景是面向APP應(yīng)用。APP的請求自身帶有版本、機型、運營商和地域這些維度信息。發(fā)現(xiàn)指標(biāo)異常后需要判斷是哪個維度特性造成的異?;虍惓S绊懙木S度范圍。

監(jiān)控多維數(shù)據(jù)由三部分組成:

時間維度,監(jiān)控系統(tǒng)時間粒度通常取1分鐘粒度;

業(yè)務(wù)特性維度,后端服務(wù)的維度通常為業(yè)務(wù)模塊,APP監(jiān)控的維度通常為版本、機型、運營商和地域;

指標(biāo),如成功率,耗時和延時分段統(tǒng)計等。

下表是一個SNG移動監(jiān)控的多維數(shù)據(jù)樣例:

基于Kmeans分類的多維根因分析方法

在建設(shè)多維監(jiān)控平臺初期,為解決人工逐個觀察各維度的異常數(shù)據(jù)帶來的效率問題,使用kmeans對成功率指標(biāo)分類。推薦出分類后的異常維度后再做二次分析。
下圖是2014年12月手Q接入層SSO模塊的成功率分鐘曲線。當(dāng)天中午13:00附近接入層成功率由接近99.9%下降為99.5%。

發(fā)生異常后,通過人工分析的步驟為分別查看某一維度的成功率,找出成功率低并且總量大的維度條件。選定最可疑的維度條件再重復(fù)剛剛介紹的分析過程。直到遍歷完所有維度,找出成功率下降的維度組合。
例如:模塊維度有A、B和C三個模塊,A模塊下有命令字(a1,a2和a3),B模塊下有命令字(b1,b2),C模塊下有命令字(c1,c2和c3)。

在異常點的指標(biāo)統(tǒng)計如下表:

按模塊觀察,模塊A的成功率為99.75%,總數(shù)為300;模塊B的成功率為95.83%,總數(shù)為150;模塊C的成功率為99.4%,總數(shù)為300。

經(jīng)過比較,模塊B成功率顯著低于模塊A和模塊C,并且接近95%。模塊B成為可以維度條件。

接著觀察模塊B條件下的命令字,其中命令字b1的成功率顯著低于異常點平均成功率95%。

分析完成后確定模塊B的命令字b1造成成功率下降。

使用kmeans對成功率分類模擬人工分類操作。對各維度的成功率進行分類后可以得到顯著差異的維度條件。
如對上面例子的各模塊成功率做kmeans分類,可以獲得成功率有顯著差異的模塊B和命令字b1。稱具有顯著差異的維度集合為反向分析。反向分析結(jié)果在二次分析時需要特別關(guān)注。

下面兩張圖是對手 Q 接入層異常模塊分析的反向分析結(jié)果, 結(jié)合接入層的響應(yīng)量判斷出異常模塊的RedTouchSvc,異常命令字為RedTouchSvc.ClientReport。

MDRCA(Multi-Dimensional Root Cause Analysis)算法

基于Kmeans對成功率分析方法在一定程度上提升了問題分析效率,但存在兩個問題:

只能應(yīng)用于成功率的指標(biāo)分析,對于累積量的指標(biāo)如請求量則失去作用;

未引入成功率總量的權(quán)重,分類后推薦出的異常維度條件需要二次人工分析。

中斷近兩年,并在建設(shè)完成多維監(jiān)控平后,監(jiān)控團隊重新投入人力調(diào)研實現(xiàn)多維根因分析方法。在監(jiān)控領(lǐng)域AI剛剛起步,可參考的論文和經(jīng)驗較少。我們在走了一段彎路后,借鑒和改進廣告推薦中的異常分析算法,實現(xiàn)MDRCA算法,解決Kmeans成功率分類方法的兩個問題。

對于指標(biāo)我們分兩類:單一變量指標(biāo)和復(fù)合指標(biāo)。

單一變量指標(biāo):請求量、響應(yīng)量等不依賴其他變量獨立統(tǒng)計的指標(biāo)。

復(fù)合指標(biāo):成功率這類需要通過兩個或多個變量做除法計算的指標(biāo)。

這里我們用單一變量指標(biāo)請求量來說明MDRCA算法的原理。

假設(shè)一個業(yè)務(wù)的請求量X(m)的某一維度下有m個值,分解到各維度的請求量為(x1,x2,…,xn,n=m)。X(m)可用公式表示:

在異常時刻t 觀察到異常的請求量為A(m)。A(m) 由各維度在t 時刻的值組成。A(m) 可用公式表示:

也就是說觀察到的總體請求量異常由各維度的異常分量組成。
根據(jù)歷史觀察值獲得時刻 t 的請求量預(yù)測值F(m)。F(m)由各維度的預(yù)測值組成。F(m) 可用公式表示:

生成預(yù)測值算法有多種,一種方法是取前一天對于時刻 t 的值。在本文的 MDRCA 算法中,預(yù)測值取離前7天的 t-20,t 時刻的平均值最近的一天的 t 時刻作為參考點。
在MDRCA算法中定義一個值 Explanatory Power,簡稱EP來衡量觀察維度 i 下維度值 j 對異常的占比,或稱貢獻度。EP的計算公式為:

例如,異常時刻t的請求量為1000,根據(jù)歷史數(shù)據(jù)預(yù)測時刻t的請求量為1500。維度 i 下的維度值 j 在異常時刻 t 的請求量值為200,根據(jù)j的歷史數(shù)據(jù)預(yù)測時刻 t 下 j 的請求量值應(yīng)為500。根據(jù)公式計算可知j的EP值為(200-500)/(1000-1500)=0.6。

當(dāng)維度下有值的變化方向與異常值變化方向相反時,EP取值為負(fù)數(shù)。這時其他維度值的EP取值也可能大于1。但是觀察維度下所有維度值的EP和為1。

MDRCA算法中定義另一個值Surprise來衡量觀察維度 i 下維度值 j 的變化差異。為計算JSD,先計算兩個變量 p 和 q 。其中 p 為維度值 j 在預(yù)測值中的占比,q 為維度值 j 在異常值中的占比。p 和 q 的計算公式如下:

和 q 的取值為(0,1)。獲得 p 和 q 后,維度值 j 的變化差異計算公式為:

至此,我們獲得衡量維度值 j 的異常貢獻值 EP 和變化差異值 Surprise。對這兩個值用四象限方法解釋如下:

從四象限中可知,維度中 EP 和 Surprise 分類大的維度值可作為候選維度。對 EP 和Surprise 分類可采用前面介紹的 kmeans 分類方法。
選出每個維度下的候選維度集合后,計算各集合的 Surprise 和用于衡量各維度的異常變化差異。差異越大的維度越有可能成為異常的主要影響因素。

在這還用了另一個技巧: 異常的主要影響因素往往是少量維度值的集合。所以取后續(xù)集合的 Surprise均值大的維度作為優(yōu)先選擇的條件。選出維度后,在選擇維度中貢獻大的維度值作為優(yōu)先條件。

MDRCA算法的多維根因分析方法如下:

以上為對單一變量的MDRCA算法介紹。對成功率這類復(fù)合指標(biāo)EP計算為求分子分母兩個變量的偏導(dǎo),Surprise的計算方法為求分子和分母變量的Surprise值之和。

AI應(yīng)用經(jīng)驗

為借助AI的東風(fēng)解決監(jiān)控領(lǐng)域的痛點,同時摸索AI在監(jiān)控的實踐經(jīng)驗。我們拿智能多維分析探路。中間經(jīng)歷曲折踩坑,反思當(dāng)中的過程有幾點經(jīng)驗值得在后續(xù)開發(fā)過程中借鑒。

其一,梳理AI應(yīng)用開發(fā)過程的角色。

新近的互聯(lián)網(wǎng)浪潮AI,必然吸引不少新老程序員踏浪,如何才能在浪中不翻船呢?
經(jīng)過摸索后,我們認(rèn)為在AI應(yīng)用開發(fā)中需要以下四類角色:

領(lǐng)域?qū)<?/strong>

深入了解業(yè)務(wù)的領(lǐng)域?qū)<夷馨盐兆≡摌I(yè)務(wù)的核心痛點,結(jié)合AI找出著力點和給AI專家提供業(yè)務(wù)領(lǐng)域信息;

AI專家

這個角色知識淵博、深入掌握算法和實踐。理解領(lǐng)域?qū)<姨峁┑耐袋c信息后,預(yù)研并提供算法指導(dǎo)和支撐。

算法工程化專家

這個角色拿到AI專家提供的算法后做工程化實現(xiàn)和優(yōu)化提升算法性能。

應(yīng)用開發(fā)專家

這類角色是將AI成果上線應(yīng)用,提升易用性和用戶體驗,同時在應(yīng)用中預(yù)設(shè)收集用戶操作和反饋信息的渠道。

其二,先調(diào)研、讀論文和參考業(yè)界做法的研究步驟。

讀論文很重要。領(lǐng)域?qū)<沂崂沓龊诵耐袋c,業(yè)界也存在類似痛點,并且有相關(guān)研究。不妨先參考業(yè)界做法,讀懂和理解相關(guān)論文和應(yīng)用場景后再做改進。

其三,溝通交流。

在監(jiān)控領(lǐng)域AI應(yīng)用剛剛起步,大家還在摸著石頭過河,可參考的成功案例較少。所謂三個臭皮匠抵過一個諸葛亮,聚在一起學(xué)習(xí)交流,有利于糾正錯誤認(rèn)識,明晰算法應(yīng)用場景和擴展思路。

結(jié)語

最后,再次感謝SNG監(jiān)控團隊小伙伴們的努力,摸索出了以上經(jīng)驗。也歡迎大家多交流指正。團隊也在持續(xù)探索更優(yōu)的多維監(jiān)控異常分析算法,后續(xù)也將持續(xù)推出系列文章。大家敬請關(guān)注。

參考資料: 1 Adtributor: Revenue Debugging in Advertising Systems Ranjita
Bhagwan,Rahul Kumar,Ramachandran Ramjee, George Varghese,Surjyakanta
Mohapatra, Hemanth Manoharan, and Piyush Shah, Microsoft, 2014

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/19661.html

相關(guān)文章

  • 如何實現(xiàn)多維智能監(jiān)控?--AI維的實踐探索

    摘要:近十年監(jiān)控系統(tǒng)開發(fā)經(jīng)驗,具有構(gòu)建基于大數(shù)據(jù)平臺的海量高可用分布式監(jiān)控系統(tǒng)研發(fā)經(jīng)驗。監(jiān)控多維數(shù)據(jù)特點監(jiān)控的核心是對監(jiān)控對象的指標(biāo)采集處理檢測和分析。通過單一對象的指標(biāo)反映的狀態(tài)已不能滿足業(yè)務(wù)監(jiān)控需求。 吳樹生:騰訊高級工程師,負(fù)責(zé)SNG大數(shù)據(jù)監(jiān)控平臺建設(shè)。近十年監(jiān)控系統(tǒng)開發(fā)經(jīng)驗,具有構(gòu)建基于大數(shù)據(jù)平臺的海量高可用分布式監(jiān)控系統(tǒng)研發(fā)經(jīng)驗。前言在2015年構(gòu)建多維監(jiān)控平臺時用kmeans做了異常點...

    王軍 評論0 收藏0
  • 清華裴丹:AIOps 落地路線圖

    摘要:從那個時候開始,我就開始用一些機器學(xué)習(xí)人工智能的技術(shù)來解決的運維問題了,有不少智能運維的嘗試,并發(fā)表了不少先關(guān)論文和專利。而處理海量高速多樣的數(shù)據(jù)并產(chǎn)生高價值,正是機器學(xué)習(xí)的專長。也就是說,采用機器學(xué)習(xí)技術(shù)是運維的一個必然的走向。 大家上午好,非常榮幸,能有這個機會,跟這么多的運維人一起交流智能運維。最近這兩年運維里面有一個很火的一個詞叫做AIOps(智能運維)。我本人是老運維了,在2000...

    Aomine 評論0 收藏0
  • 數(shù)據(jù)庫智能運維探索實踐

    摘要:本文將介紹美團點評整個數(shù)據(jù)庫平臺的演進歷史,以及我們當(dāng)前的情況和面臨的一些挑戰(zhàn),最后分享一下我們從自動化到智能化運維過渡時,所進行的思考探索與實踐。 從自動化到智能化運維過渡時,美團DBA團隊進行了哪些思考、探索與實踐?本文根據(jù)趙應(yīng)鋼在第九屆中國數(shù)據(jù)庫技術(shù)大會上的演講內(nèi)容整理而成,部分內(nèi)容有更新。 背景 近些年,傳統(tǒng)的數(shù)據(jù)庫運維方式已經(jīng)越來越難于滿足業(yè)務(wù)方對數(shù)據(jù)庫的穩(wěn)定性、可用性、靈活...

    CHENGKANG 評論0 收藏0
  • 數(shù)據(jù)庫智能運維探索實踐

    摘要:本文將介紹美團點評整個數(shù)據(jù)庫平臺的演進歷史,以及我們當(dāng)前的情況和面臨的一些挑戰(zhàn),最后分享一下我們從自動化到智能化運維過渡時,所進行的思考探索與實踐。 從自動化到智能化運維過渡時,美團DBA團隊進行了哪些思考、探索與實踐?本文根據(jù)趙應(yīng)鋼在第九屆中國數(shù)據(jù)庫技術(shù)大會上的演講內(nèi)容整理而成,部分內(nèi)容有更新。 背景 近些年,傳統(tǒng)的數(shù)據(jù)庫運維方式已經(jīng)越來越難于滿足業(yè)務(wù)方對數(shù)據(jù)庫的穩(wěn)定性、可用性、靈活...

    yzzz 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<