自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

智能運(yùn)維在百度日常業(yè)務(wù)監(jiān)控中的探索

原創(chuàng)
運(yùn)維 系統(tǒng)運(yùn)維 開發(fā)工具
本文以實(shí)際例子來講解,在百度我們是如何幫助產(chǎn)品完成智能化運(yùn)維監(jiān)控之路的。主要內(nèi)容包括:如何發(fā)現(xiàn)商業(yè)數(shù)據(jù)與運(yùn)維數(shù)據(jù)的關(guān)系?如何進(jìn)行異常的自動檢測?如何解決報(bào)警風(fēng)暴?如何進(jìn)行自動故障定位?如何形成發(fā)現(xiàn)+定位+止損的監(jiān)控閉環(huán)?

  隨著互聯(lián)網(wǎng)產(chǎn)品規(guī)模的爆發(fā)式增長,大型分布式系統(tǒng)的監(jiān)控復(fù)雜性也日益顯現(xiàn)。工程師們發(fā)現(xiàn):監(jiān)控遺漏導(dǎo)致宕機(jī)的黑天鵝現(xiàn)象頻繁發(fā)生;出現(xiàn)故障時很難從海量監(jiān)控指標(biāo)中迅速找到故障根因;報(bào)警風(fēng)暴極大地干擾了工程師定位問題的速度;故障恢復(fù)速度基本依賴于工程師的操作速度。由此,我們嘗試建立一個智能運(yùn)維監(jiān)控系統(tǒng),希望用智能化的手段去幫助工程師解決這些問題。

一、嘉賓介紹

[[145437]]

  曲顯平 百度運(yùn)維部資深研發(fā)工程師

  百度智能運(yùn)維監(jiān)控負(fù)責(zé)人,在運(yùn)維監(jiān)控、大數(shù)據(jù)處理與分析方向有著豐富的經(jīng)驗(yàn)。

  二、百度數(shù)據(jù)情況

  隨著百度各產(chǎn)品的蓬勃發(fā)展,百度的服務(wù)器數(shù)量也呈現(xiàn)出爆發(fā)式增長,最近5年增長了大概20倍的規(guī)模。與產(chǎn)品規(guī)模不斷增長相對應(yīng)地,運(yùn)維人員每天會收到越來越多的監(jiān)控報(bào)警,面對海量的運(yùn)維指標(biāo),如何快速定位問題所發(fā)生的業(yè)務(wù)層面,達(dá)到精準(zhǔn)化報(bào)警、快速解決問題的目標(biāo)就成為運(yùn)維監(jiān)控常態(tài)化的需求。

  百度監(jiān)控系統(tǒng)數(shù)據(jù)規(guī)模,單以時間序列數(shù)據(jù)為例,不包含日志類數(shù)據(jù)。

  • 服務(wù)器指標(biāo)數(shù)量:>1億
  • 業(yè)務(wù)指標(biāo)數(shù)量:>8千萬
  • 數(shù)據(jù)增長速度:50TB/日

  三、運(yùn)維中面臨的監(jiān)控問題

  當(dāng)前,面對復(fù)雜的業(yè)務(wù)監(jiān)控和問題診斷,運(yùn)維人員想找到指標(biāo)和事件之間的關(guān)聯(lián)關(guān)系,進(jìn)行因果關(guān)系推導(dǎo),并最終定位故障,基本依靠人的經(jīng)驗(yàn)來進(jìn)行。但隨著業(yè)務(wù)和監(jiān)控規(guī)模的膨脹,運(yùn)維也希望能夠更加自動化、智能化地達(dá)成保證服務(wù)高可用性的目標(biāo),即快速的問題發(fā)現(xiàn)、分析定位或止損。

  下面,我們可以從發(fā)現(xiàn)問題—分析問題—解決問題的思路出發(fā),逐步給出遞進(jìn)的解決方案。

  四、發(fā)現(xiàn)問題篇:異常自動檢測

  日常運(yùn)維的業(yè)務(wù)指標(biāo)數(shù)據(jù)會出現(xiàn)一些環(huán)比昨日的明顯異常、持續(xù)偏離的明顯問題和隨著時間周期漂移的指標(biāo)數(shù)據(jù)等問題,以前這些監(jiān)控的配置基本靠工程師經(jīng)驗(yàn)或持續(xù)的迭代修正,甚至純?nèi)斯づ挪?。隨著監(jiān)控系統(tǒng)的發(fā)展,可以通過制定監(jiān)控標(biāo)準(zhǔn)和自動化監(jiān)控部署實(shí)現(xiàn)運(yùn)維的標(biāo)準(zhǔn)化和自動化,最終的目標(biāo),是希望用智能化的方法徹底解決這個問題。

  一般,在系統(tǒng)出現(xiàn)指標(biāo)數(shù)據(jù)波動時,需要先判定是否確實(shí)為異常情況,確定異常后再實(shí)現(xiàn)精準(zhǔn)報(bào)警。那么,怎么自動檢測業(yè)務(wù)的異常指標(biāo),幫助運(yùn)維工程師和開發(fā)工程師處理問題呢?

  這里主要有兩個策略,自動恒定閾值設(shè)定與動態(tài)閾值設(shè)定:

  1.恒定閾值設(shè)定法

  對于普通數(shù)據(jù),運(yùn)維人員在服務(wù)器端設(shè)定服務(wù)器應(yīng)用指標(biāo)超過某合理數(shù)值自動報(bào)警,并對服務(wù)器異常的波動狀態(tài)進(jìn)行報(bào)警。這個可使用一些標(biāo)準(zhǔn)的統(tǒng)計(jì)學(xué)方法去自動計(jì)算這個閾值,取代人工配置成本。

  參考方式:

  • 基于歷史數(shù)據(jù)統(tǒng)計(jì)
  • 假設(shè)正態(tài)分布
  • 3-sigma策略

  2.動態(tài)閾值設(shè)定法

  百度大多數(shù)業(yè)務(wù)數(shù)據(jù)的流量呈現(xiàn)很強(qiáng)的天周期特性,在某時刻出現(xiàn)數(shù)據(jù)波峰的驟降或波谷數(shù)據(jù)的驟增等變動情況時,恒定閾值法很難解決這類問題的精準(zhǔn)異常判斷。那么我們可以把上述方法衍變升級一下,采用動態(tài)時間窗口的閾值設(shè)定法來解決周期性數(shù)據(jù)的異常判斷。

  參考方式:

  • 多分布形式:將數(shù)據(jù)分段
  • 按天同期計(jì)算統(tǒng)計(jì)閾值
  • 分段3-sigma策略

  #p#

3.恒定閾值和動態(tài)閾值的使用

  針對以上兩種閾值劃分方式,異常檢測系統(tǒng)如何知道應(yīng)該對每組數(shù)據(jù)進(jìn)行什么樣的異常檢測策略呢?這就需要一種方法提前對數(shù)據(jù)進(jìn)行分類,可以采用一種可判斷數(shù)據(jù)是否具有周期性趨勢的分類器方式來解決。如果數(shù)據(jù)具有很強(qiáng)的周期性特征,建議使用動態(tài)閾值設(shè)定法;如果數(shù)據(jù)分析后沒有周期性特征,那么使用恒定閾值就可以了。

  另外,我們還會遇到這種特殊的情況,數(shù)據(jù)會隨時間出現(xiàn)漂移。比如某產(chǎn)品流量,會按照工作日、周末、傳統(tǒng)長假等時間呈現(xiàn)出不同的數(shù)據(jù)特征,產(chǎn)生階段性變化。這個時候要進(jìn)行異常檢測,就不僅要考慮數(shù)據(jù)的普通周期性,還要考慮季節(jié)性和趨勢性的變化。監(jiān)控系統(tǒng)可通過對日常數(shù)據(jù)進(jìn)行分析,采用三次指數(shù)平滑等方法,對數(shù)據(jù)本身的趨勢性進(jìn)行學(xué)習(xí)。

  當(dāng)然,上述方法都是基于從歷史數(shù)據(jù)進(jìn)行學(xué)習(xí)分析從而進(jìn)行異常檢測的,如果缺少歷史數(shù)據(jù),那么對于這些指標(biāo),基于歷史數(shù)據(jù)進(jìn)行同環(huán)比分析的意義就不大,核心就轉(zhuǎn)化為檢測數(shù)據(jù)有沒有突升和突降異常??刹捎妙愃朴诰植科交姆椒ú榭凑鎸?shí)數(shù)據(jù)與局部平滑后數(shù)據(jù)有沒有大的出入,如果差距較大,可判斷為有大的突升和突降,可以標(biāo)識數(shù)據(jù)異常。

  參考方式:

  • 局部平滑法
  • 速度法

  經(jīng)過經(jīng)驗(yàn)的積累,對于核心產(chǎn)品的流量變動,即使波動不大,監(jiān)控系統(tǒng)也可以做到靈敏且精準(zhǔn)的指標(biāo)監(jiān)控,能夠快速發(fā)現(xiàn)異常情況。當(dāng)然,全自動的異常檢測系統(tǒng)難免會出現(xiàn)誤報(bào)、漏報(bào)等情況,這就要求異常檢測系統(tǒng)需要支持工程師的標(biāo)注與反饋,百度監(jiān)控系統(tǒng)的自學(xué)習(xí)能力可以根據(jù)工程師的需求進(jìn)行動態(tài)調(diào)整,可同時支持人為調(diào)整和系統(tǒng)自動參數(shù)學(xué)習(xí)調(diào)整,系統(tǒng)可自動根據(jù)工程師的標(biāo)注或報(bào)警量的多少,進(jìn)行參數(shù)訓(xùn)練,把異常檢測參數(shù)調(diào)整到合理的范圍。

  工程師標(biāo)注

  • 修改參數(shù)
  • 標(biāo)記未檢測到的異常
  • 標(biāo)記錯誤的報(bào)警

  機(jī)器學(xué)習(xí)

  • 標(biāo)注報(bào)警 => 參數(shù)訓(xùn)練

  綜合上述方法,百度智能監(jiān)控系統(tǒng)中的自動異常檢測最終形成兩種狀態(tài)的結(jié)合:離線狀態(tài)和在線狀態(tài),離線部分可根據(jù)歷史數(shù)據(jù)進(jìn)行分類學(xué)習(xí)、參數(shù)訓(xùn)練,而在線部分能夠進(jìn)行最終的異常檢測和報(bào)警。

  具體的組成如圖所示:

  五、發(fā)現(xiàn)問題篇:精準(zhǔn)報(bào)警

  監(jiān)控系統(tǒng)僅僅發(fā)現(xiàn)了問題還不夠,由于指標(biāo)數(shù)量太過繁雜,為了起到輔助工程師快速解決問題的效果,還需要做到精準(zhǔn)化報(bào)警。百度的精準(zhǔn)報(bào)警主要分成兩個層面,一個是單個指標(biāo)的報(bào)警是否足夠精準(zhǔn);這里需要考慮兩個問題,一是是否每次異常都應(yīng)該報(bào)警?需要容忍系統(tǒng)毛刺的存在;二是異常過濾,把離散的異常點(diǎn)轉(zhuǎn)化為異常事件或狀態(tài),找到指標(biāo)和事件的關(guān)聯(lián)關(guān)系。

  在單一指標(biāo)的報(bào)警足夠精準(zhǔn)的基礎(chǔ)上,另一個是把不同指標(biāo)的報(bào)警結(jié)合起來做到足夠精準(zhǔn)。如何把多個指標(biāo)的報(bào)警綜合起來呢?簡單策略是固定時間窗口來報(bào)警,時間相近的報(bào)警可進(jìn)行一定的合并,只要將首先出現(xiàn)的指標(biāo)報(bào)警送達(dá)給到運(yùn)維人員即可。從整個監(jiān)控策略來看,把報(bào)警綜合起來,同類的報(bào)警進(jìn)行合并來報(bào)給運(yùn)維人員。復(fù)雜一些的策略是關(guān)聯(lián)挖掘,把歷史上產(chǎn)生的運(yùn)維報(bào)警和事件關(guān)聯(lián)起來報(bào)警,同時,某些報(bào)警經(jīng)常頻繁地一起出現(xiàn),可以認(rèn)為這是同一個報(bào)警,不再單獨(dú)分別進(jìn)行報(bào)警。

  采用的具體策略有:

  1. 報(bào)警合并簡單策略

  • 固定時間窗口
  • 相同監(jiān)控策略
  • 相同監(jiān)控對象  

  2. 報(bào)警合并復(fù)雜策略

  • 關(guān)聯(lián)挖掘
  • 合并置信度較高的頻繁項(xiàng)集

  3. 報(bào)警依賴

  • 策略依賴
  • 異常依賴

  六、分析問題篇:關(guān)聯(lián)分析

  監(jiān)控系統(tǒng)不僅需要幫助工程師發(fā)現(xiàn)問題,同時還需要通過建立關(guān)聯(lián)分析,進(jìn)行輔助問題定位,甚至迅速找到相關(guān)的指標(biāo)或影響。那么,如何為復(fù)雜多樣的運(yùn)維數(shù)據(jù)建立關(guān)聯(lián)呢?

  產(chǎn)品服務(wù)層級的關(guān)聯(lián)關(guān)系圖:

  運(yùn)維工程師可以把一些基礎(chǔ)的關(guān)聯(lián)關(guān)系配置到監(jiān)控系統(tǒng)中,可以讓監(jiān)控系統(tǒng)明白一些常態(tài)化的運(yùn)維指標(biāo)與其它指標(biāo)是否存在關(guān)聯(lián),比如多個模塊的異常是否存在關(guān)聯(lián)、服務(wù)器升級或者部署產(chǎn)生問題是否與數(shù)據(jù)中心或交換機(jī)異常有關(guān)等。

  具體的實(shí)現(xiàn)策略有:

  1.關(guān)聯(lián)挖掘

  (1)事件和事件間的關(guān)聯(lián)

  • 頻繁項(xiàng)集挖掘
  • 所有運(yùn)維事件

  (2)事件和時序間的關(guān)聯(lián)

  • 指標(biāo)異常經(jīng)常與部署升級事件相伴發(fā)生
  • 問題診斷&故障定位

  (3)多時序間的關(guān)聯(lián)

  #p#

2.關(guān)聯(lián)可視化

  通過關(guān)聯(lián)變動,幫助運(yùn)維人員分析重點(diǎn)數(shù)據(jù)的變動情況。

  (1)事件&事件關(guān)聯(lián)

  (2)事件&時序關(guān)聯(lián)

  3.服務(wù)透視定位問題

  運(yùn)維事件多是與時間持續(xù)緊密關(guān)聯(lián),我們可以把運(yùn)維事件按照時間軸演進(jìn)順序進(jìn)行展示。同時,運(yùn)維工程師常常接觸的服務(wù)拓?fù)?,本身也是一種運(yùn)維模塊的關(guān)聯(lián)關(guān)系。把這些離散的運(yùn)維數(shù)據(jù)通過模塊關(guān)聯(lián)、時間關(guān)聯(lián)、數(shù)據(jù)流關(guān)聯(lián)等緊密地聯(lián)系起來,構(gòu)成一個完整的服務(wù)透視圖,如果異常發(fā)生在關(guān)系透視圖中的某個部分,就可以按照周邊關(guān)系的通路來快速定位問題。

  (1)模塊調(diào)用關(guān)系

  (2)事件和模塊關(guān)聯(lián)

  六、分析問題篇:故障定位

  僅僅找到關(guān)聯(lián)還不夠,真正分析業(yè)務(wù)問題解決問題才是關(guān)鍵。這里介紹兩個常用的輔助定位問題策略。

  1.多維數(shù)據(jù)分析

  監(jiān)控系統(tǒng)采集到的很多指標(biāo)具備包含關(guān)系,很多情況下,一個總體指標(biāo)是由許多子指標(biāo)加和構(gòu)成的,或者也可以說成是總體維度是由許多子維度組成的。監(jiān)控系統(tǒng)可以計(jì)算出每個子指標(biāo)或子維度占總指標(biāo)總維度的百分比,并按照影響權(quán)重去進(jìn)行分析,當(dāng)某個子指標(biāo)的變化幅度對總體指標(biāo)影響權(quán)重***,我們就傾向于認(rèn)為這個指標(biāo)可能是問題的原因。

  舉個例子,百度的總體流量指標(biāo)對應(yīng)每個地域的流量之和,總體流量有問題有可能是某個地域流量出現(xiàn)問題,找到目前對總體流量變化影響***的地域進(jìn)行問題處理就可以解決問題。同樣的道理也可以推廣到其它情況。

  2.故障診斷樹

  運(yùn)維人員可以通過數(shù)據(jù)可視化(熱力圖、多維報(bào)表)的形式,結(jié)合以前發(fā)現(xiàn)問題的經(jīng)驗(yàn)沉淀模式,發(fā)現(xiàn)指標(biāo)間的強(qiáng)相關(guān),做出問題診斷。那我們是不是可以將運(yùn)維人員的經(jīng)驗(yàn)固化到監(jiān)控系統(tǒng)中,通過不同指標(biāo)的分析方向和下探方法可以形成樹狀結(jié)構(gòu),通過樹上的某個節(jié)點(diǎn)進(jìn)行逐級探查。最終形成故障診斷樹,通過推導(dǎo)路徑不僅可以幫助運(yùn)維人員快速完成問題出現(xiàn)時的排查過程,節(jié)省這部分的定位時間,也很有可能達(dá)到直接定位問題或加速解決故障的目的。

  故障檢測:

  (1)領(lǐng)域?qū)<抑R

  (2)邏輯推導(dǎo)引擎

  (3)迅速找到問題根因

  七、解決問題篇

  • 監(jiān)控系統(tǒng)產(chǎn)生決策
  • 部署調(diào)度系統(tǒng)執(zhí)行

  1.單邊故障自動止損

  單邊故障指單個IDC故障、單個鏈路故障等。比如一個IDC或者某些IDC出現(xiàn)問題,解決辦法是切走這部分流量,利用監(jiān)控系統(tǒng)來做動態(tài)的部署調(diào)度。通過某個數(shù)據(jù)中心或鏈路的部署調(diào)整,幫助系統(tǒng)快速恢復(fù),進(jìn)而實(shí)現(xiàn)自動化決策和執(zhí)行來實(shí)現(xiàn)單邊故障止損。

  具體策略有:

  (1)實(shí)現(xiàn)自動冗余與調(diào)度

  (2)智能監(jiān)控系統(tǒng)負(fù)責(zé)動態(tài)決策

  (3)部署調(diào)度系統(tǒng)負(fù)責(zé)調(diào)度執(zhí)行

  2.灰度發(fā)布自動止損

  研發(fā)工程師做灰度發(fā)布時,可以先做小流量的發(fā)布,部署系統(tǒng)可以跟監(jiān)控系統(tǒng)配合,如果出現(xiàn)問題,直接進(jìn)行狀態(tài)終止或回滾,把問題控制在灰度發(fā)布范圍內(nèi)。

  八、智能運(yùn)維監(jiān)控總結(jié)

  通過上述說明,百度的智能運(yùn)維監(jiān)控系統(tǒng)最終形成了一個監(jiān)控閉環(huán),包含問題發(fā)現(xiàn)、分析決策和問題的解決。具體的組成包括異常檢測、報(bào)警收斂、關(guān)聯(lián)分析、故障定位和自動處理五部分內(nèi)容。

  九、未來運(yùn)維變被動為主動

  1.全方位覆蓋

  在用戶端(APP、瀏覽器等)、云端(機(jī)房、服務(wù)器、自身服務(wù)、第三方服務(wù)等)、管道(鏈路、運(yùn)營商)等任何維度進(jìn)行數(shù)據(jù)采集并進(jìn)行異常自動檢測。

  2. 讓監(jiān)控更聰明

  • 分析運(yùn)用已有數(shù)據(jù),并把服務(wù)狀態(tài)、問題影響分析等可視化
  • 自動學(xué)習(xí)并理解故障的趨勢和模式
  • 自動發(fā)現(xiàn)服務(wù)或依賴環(huán)境的變更

  當(dāng)然,更進(jìn)一步地,監(jiān)控系統(tǒng)是不是可以先于故障發(fā)生而預(yù)測到故障,在故障發(fā)生之前就可以處理并解決故障,從而達(dá)成產(chǎn)品的超高可用性目標(biāo)。未來的智能監(jiān)控應(yīng)該是這樣的,運(yùn)維工程師經(jīng)過完善的監(jiān)控部署,實(shí)現(xiàn)全方位的異常自動檢測覆蓋,同時,在系統(tǒng)剛出現(xiàn)故障征兆,有損之前就進(jìn)行處理并解決,實(shí)現(xiàn)完整的智能化監(jiān)控系統(tǒng)解決方案。

  歡迎所有對智能化運(yùn)維技術(shù)感興趣的同學(xué)加入百度運(yùn)維部,一起推動智能化運(yùn)維的發(fā)展。

  歡迎訪問百度運(yùn)維部博客:http://op.baidu.com

責(zé)任編輯:火鳳凰 來源: 51CTO
相關(guān)推薦

2015-08-26 14:33:48

技術(shù)周刊

2016-01-12 11:38:19

智能化運(yùn)維運(yùn)維業(yè)務(wù)

2013-11-04 17:38:09

Clouda百度

2015-10-27 09:14:36

數(shù)據(jù)監(jiān)控運(yùn)維百度

2023-12-20 17:38:44

APIhttp鴻蒙

2021-02-20 10:14:32

AI百度AI

2016-10-12 18:27:52

百度開放云百度云百度

2018-11-26 23:00:56

百度運(yùn)維管理

2015-12-14 13:54:51

百度運(yùn)維大數(shù)據(jù)

2024-07-17 12:52:56

2016-03-25 11:18:23

中華網(wǎng)

2014-04-29 15:29:28

百度聯(lián)盟大數(shù)據(jù)

2011-06-28 17:34:35

外鏈

2018-12-14 11:04:56

數(shù)據(jù)庫運(yùn)維智能

2018-11-15 11:52:36

百度云運(yùn)維AIOps

2020-09-16 13:57:27

百度世界2020百度大腦

2014-07-25 17:12:39

數(shù)據(jù)庫WOT2014MongoDB

2013-08-22 17:08:50

2010-08-05 14:12:01

百度日本

2018-03-27 12:45:27

百度AI小度在家小魚在家
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號