版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 基于AI的網(wǎng)絡(luò)運(yùn)維方案前言感謝高效運(yùn)維社區(qū)提供這樣的平臺(tái),我曾經(jīng)是一名網(wǎng)絡(luò)工程師,經(jīng)歷了360的架構(gòu)變革過(guò)程,我個(gè)人的技術(shù)轉(zhuǎn)型開始更專注網(wǎng)絡(luò)的監(jiān)控、自動(dòng)化運(yùn)維、網(wǎng)絡(luò)可視化和AI應(yīng)用上。我今天的分享主要有下面四個(gè)部分:1 項(xiàng)目背景2 時(shí)序序列算法3 機(jī)器學(xué)習(xí)4 當(dāng)下與未來(lái)一、項(xiàng)目背景聚焦網(wǎng)絡(luò)的項(xiàng)目,這個(gè)項(xiàng)目是如何在DC中ISP出口發(fā)現(xiàn)流量異常,通過(guò)流量異常能自動(dòng)發(fā)現(xiàn),自動(dòng)定位,最后找出哪些業(yè)務(wù),通知業(yè)務(wù)的過(guò)程。我們公司的業(yè)務(wù)拓展到搜索、智能硬件、手機(jī)、行車記錄儀、兒童手表、小水滴,也出了掃地機(jī)器人,也有360云,雖然公司沒(méi)有BAT體量那么大,但業(yè)務(wù)方向麻雀雖小五臟俱全,也積累了很多云方面的經(jīng)驗(yàn)
2、,公司還有一些在娛樂(lè)方面的業(yè)務(wù)。OUR OPS ,這是我們2017年底的數(shù)據(jù):PC端的月活5.15億用戶,移動(dòng)端月活3.5億用戶,加起來(lái)有8.65億的月活用戶體量。運(yùn)維數(shù)據(jù)中心在大陸有120個(gè),香港1個(gè),洛杉磯1個(gè),運(yùn)維ISP帶寬達(dá)到3.5T的規(guī)模。面對(duì)這樣大規(guī)模的網(wǎng)絡(luò)情況,我們對(duì)業(yè)務(wù)中斷零容忍,要洞察網(wǎng)絡(luò)中的任何異常。雖然業(yè)務(wù)會(huì)切換,但對(duì)于某個(gè)用戶體驗(yàn)上會(huì)有一定的下降,我們希望能實(shí)時(shí)的知道現(xiàn)在網(wǎng)絡(luò)中DC的出口,流量上有沒(méi)有異常?出現(xiàn)了什么樣的異常,并第一時(shí)間進(jìn)行響應(yīng)和修復(fù)?這是我們DC流量出口圖,整體上看有早晚高峰的趨勢(shì),放大看有一些上下的波動(dòng),而且波動(dòng)比較頻繁,局部再放大看沒(méi)有什么太大的規(guī)
3、律。DC不是一個(gè)單獨(dú)的業(yè)務(wù),它是綜合性的,很多業(yè)務(wù)都在流量出口上跑,帶來(lái)的問(wèn)題是一個(gè)告警出來(lái),不知道是哪個(gè)業(yè)務(wù)出現(xiàn)的異常。對(duì)于我們來(lái)講可能是一個(gè)黑盒子,哪些波動(dòng)算異常?異常是哪些業(yè)務(wù)造成的?打開這個(gè)黑盒子,從異常的定義到發(fā)現(xiàn),再到定位業(yè)務(wù)給網(wǎng)絡(luò)運(yùn)維人員帶來(lái)了一定的挑戰(zhàn)。這里面提到定位到業(yè)務(wù),如果你最后的定位找不到哪個(gè)業(yè)務(wù),你告訴人家也是沒(méi)意義的,工程師大半夜起來(lái)說(shuō)我要去看這是誰(shuí)的業(yè)務(wù),給業(yè)務(wù)打電話,說(shuō)我今天晚上有一個(gè)APP發(fā)布,流量高一下是正常的。通過(guò)定位是什么類型的業(yè)務(wù),是不是應(yīng)不應(yīng)該告知這個(gè)業(yè)務(wù)的運(yùn)維負(fù)責(zé)人?如果沒(méi)有定位是什么業(yè)務(wù),很可能前面做的很多工作是沒(méi)有意義的,網(wǎng)絡(luò)監(jiān)控也用了一些傳統(tǒng)
4、的,傳統(tǒng)的監(jiān)控都是對(duì)于流量固定閾值類的監(jiān)控,固定閾值內(nèi)的波動(dòng)異常根本無(wú)法發(fā)現(xiàn),如果閾值設(shè)置太低誤告警量就比較大了。去年的時(shí)候我們?yōu)榱俗霎惓z測(cè)和流量預(yù)測(cè),做了大膽的嘗試,360所有的網(wǎng)絡(luò)算下來(lái)有幾十萬(wàn)個(gè)Port,我們把所有的流量數(shù)據(jù)都做了時(shí)序化的存儲(chǔ)。每個(gè)Port存儲(chǔ)的時(shí)候,抽取了幾十維以上的數(shù)據(jù)特征,要知道這個(gè)Port是哪臺(tái)服務(wù)器,是哪個(gè)域名對(duì)應(yīng)哪個(gè)業(yè)務(wù)負(fù)責(zé)人,屬于哪個(gè)地市、哪個(gè)區(qū)域,因此我們打了很多標(biāo)簽,有了這些時(shí)序化的數(shù)據(jù)才有了后面我們進(jìn)行異常檢測(cè)與分析的前提。二、時(shí)序序列算法拿到數(shù)據(jù)以后,我們可以用時(shí)序序列算法和機(jī)器學(xué)習(xí)的手段對(duì)數(shù)據(jù)進(jìn)行分析,在處理數(shù)據(jù)前,我們先要做數(shù)據(jù)平穩(wěn)性驗(yàn)證,我們
5、有一些平穩(wěn)性不到位的數(shù)據(jù),我們會(huì)做一些處理比如差分。原始數(shù)據(jù)進(jìn)行一階拆分,可以看到基本上是0上下進(jìn)行浮動(dòng)的區(qū)間,再計(jì)算自相關(guān)系數(shù),在正負(fù)0.2的范圍,再看一下分布情況是不是符合正態(tài)分布,經(jīng)過(guò)分析發(fā)現(xiàn)大部分的數(shù)據(jù)還是平穩(wěn)的。2.1 3-sigma通過(guò)校驗(yàn)的數(shù)據(jù)、平穩(wěn)的數(shù)據(jù)我們可以應(yīng)用一些算法,大家一看這是正態(tài)分布的圖,橫軸代表了數(shù)據(jù)分布的情況,每個(gè)格子代表標(biāo)準(zhǔn)差的范圍,從圖上可以看出,只有百分之零點(diǎn)幾的數(shù)據(jù)在3倍標(biāo)準(zhǔn)差以外,那么得到一個(gè)當(dāng)前的數(shù)據(jù)以后,用這個(gè)數(shù)據(jù)來(lái)判斷一下,如果超出了均值的3倍標(biāo)準(zhǔn)差以上的范圍視為異常。2.2 EWMA指數(shù)加權(quán)移動(dòng)平均EWMA這個(gè)算法中認(rèn)為歷史數(shù)據(jù)對(duì)當(dāng)前的數(shù)據(jù)是有
6、一定影響的,歷史數(shù)據(jù)影響大小反映在權(quán)重上,該算法引入了參數(shù),當(dāng)在0和1之間,越大,當(dāng)前的權(quán)重越大,前面時(shí)刻就越小。我們?cè)趯?shí)際的流量圖中發(fā)現(xiàn),確實(shí)是時(shí)間越近的數(shù)據(jù)越能表現(xiàn)出數(shù)據(jù)近期的特征,因?yàn)槲覀儾捎靡蕴鞛閱挝坏模?5分鐘一個(gè)時(shí)間窗口進(jìn)行7天的ewma計(jì)算,計(jì)算出一個(gè)趨勢(shì)的ewma曲線,以曲線最后一個(gè)值,也是最新的值來(lái)替代均值,再做上面的3sigma的計(jì)算比較,這樣超出了則視為異常。這個(gè)算法考慮到了歷史同期的數(shù)據(jù)對(duì)當(dāng)前數(shù)據(jù)的影響。在數(shù)據(jù)中心流量圖這塊選兩個(gè)時(shí)間,t時(shí)刻和t-1時(shí)刻,再取兩個(gè)時(shí)間窗口,分別取均值,用后一個(gè)窗口比前一個(gè)窗口再比絕對(duì)值再乘百分之百,就是波動(dòng)的比例。方法二采用時(shí)間窗口可
7、以有效吸收一定的瞬時(shí)波動(dòng),也犧牲了敏感性。2.3 動(dòng)態(tài)閾值如上圖有一個(gè)正常的區(qū)間,兩側(cè)異常的區(qū)間,把14天的歷史數(shù)據(jù)倒數(shù)第二小的乘以60%,倒數(shù)第二個(gè)大的乘以1.2就認(rèn)為它是異常,看起來(lái)缺點(diǎn)很大,雖然實(shí)現(xiàn)了閾值的動(dòng)態(tài),經(jīng)過(guò)幾次波動(dòng)以后會(huì)發(fā)現(xiàn)閾值拉高或是降低了。2.4 小流量監(jiān)控優(yōu)化這是我們針對(duì)實(shí)際業(yè)務(wù)做的優(yōu)化算法,應(yīng)對(duì)一些小流量時(shí)的處理。X軸是時(shí)間,Y軸是大小,大小的單位是1兆到9兆,從1個(gè)G到9個(gè)G,雖然都是9倍,但是從運(yùn)維角度看所代表的意義是不一樣的。我們希望通過(guò)一條曲線,能動(dòng)態(tài)的有些容忍度,曲線在流量很小的時(shí)候很陡,越往后的時(shí)候曲線越緩慢,數(shù)學(xué)比較了解的人知道是用對(duì)數(shù)函數(shù)實(shí)現(xiàn)。y=w*1
8、n(x+b),b一開始放在外面,放在外面的效果不如放在里面的好,放在里面的影響大一些,w表現(xiàn)斜率。四個(gè)算法同時(shí)應(yīng)用的時(shí)候,對(duì)于平穩(wěn)的數(shù)據(jù)占DC出口的80%很OK,用算法解決是很好的。還有一種數(shù)據(jù),用時(shí)間窗口切它,在一個(gè)里面很難切出相似的情況,這種情況下比較難優(yōu)化,也比較頭疼。三、機(jī)器學(xué)習(xí)面對(duì)上面說(shuō)的比較難優(yōu)化的情況,工程師會(huì)想辦法解決它,我們看到了當(dāng)前流行的一種方法-機(jī)器學(xué)習(xí)。3.1 機(jī)器學(xué)習(xí)架構(gòu)考慮到用機(jī)器學(xué)習(xí),首先看一下架構(gòu),我們希望通過(guò)設(shè)計(jì)一個(gè)自動(dòng)Update的 Model,為什么呢? 業(yè)務(wù)流量模型往往是不固定的,上個(gè)月和這個(gè)月可能就不一樣,上個(gè)月沒(méi)有頻繁的抖動(dòng),這個(gè)月可能波動(dòng)就頻繁。可
9、能依賴與業(yè)務(wù)的調(diào)度方式等,往往越近的趨勢(shì)越能反應(yīng)業(yè)務(wù)當(dāng)前的流量特征。拿到訓(xùn)練后的 model ,我們把實(shí)時(shí)的流量進(jìn)行特征提取,作為樣本輸入模型以后,模型能告訴這個(gè)流量是正常還是異常的,上面的部分因?yàn)橛?xùn)練需要一定的時(shí)間,也不滿足實(shí)時(shí)處理的要求,我們把它放在 Offline 上進(jìn)行,而下面的實(shí)時(shí)預(yù)測(cè)要放到online實(shí)時(shí)的進(jìn)行。3.2 學(xué)習(xí)方式對(duì)比學(xué)習(xí)方式的選擇也做了一些嘗試,先說(shuō)一下有監(jiān)督的機(jī)器學(xué)習(xí),一般要求正負(fù)樣本的比例是1:1,而且有人工標(biāo)注,通過(guò)標(biāo)注可以有效的做算法提升,實(shí)現(xiàn)整體的提升。無(wú)監(jiān)督是不需要考慮正負(fù)樣本的比例,不用做標(biāo)注能自動(dòng)從信息中學(xué)到一些有用的信息,但是也需要一些調(diào)參,這個(gè)得
10、根據(jù)工程師的結(jié)論不斷的手動(dòng)調(diào)整這些參數(shù)。3.3 特征提取輸入一些特征和原始數(shù)據(jù)的信息,我們?cè)趺闯槿∵@個(gè)特征呢?我們的目標(biāo)是通過(guò)分析,把第一張圖中的異常數(shù)據(jù)分離出來(lái),實(shí)際上解決的是分類問(wèn)題。右邊這幅圖這是兩個(gè)正常的簇,藍(lán)色和紅色代表正常的數(shù)據(jù),打叉的數(shù)據(jù)離得比較遠(yuǎn)的是異常數(shù)據(jù),異常點(diǎn)也叫離群點(diǎn)。那么如果抽取這樣的數(shù)據(jù)特征呢?特征出現(xiàn)的時(shí)候一定是有波動(dòng)的,平穩(wěn)就不叫異常了,如果這個(gè)數(shù)據(jù)時(shí)時(shí)刻刻都是這樣波動(dòng),我們認(rèn)為就是正常的,異常的時(shí)候一定是小概率事件。特征向量,我們也做了一些嘗試,最終是數(shù)據(jù)歸一化流量大小,我們是在分位數(shù)的概率分布,時(shí)間段分開后,一般分布數(shù)據(jù)的分布概率是固定的,還用了很多同比周期
11、、環(huán)比變異系數(shù)的數(shù)據(jù)所為特征進(jìn)行訓(xùn)練,效果最后測(cè)出來(lái)總不太理想,目前還是采用直接拿數(shù)據(jù)歸一后的大小和環(huán)比振幅作為特征。3.4 Model選擇既然是分類問(wèn)題,Model的選擇也很多,嘗試了經(jīng)典聚類 K-Means 算法:給定一個(gè)數(shù)據(jù)集,要定義分幾種類別,然后進(jìn)行計(jì)算,設(shè)置最大的循環(huán)次數(shù),輸出樣本集的中心點(diǎn),每個(gè)分類的中心在什么位置,每個(gè)數(shù)據(jù)進(jìn)行打標(biāo),它是什么樣的情況,下面是循環(huán)的計(jì)算,最后計(jì)算出我的中心點(diǎn)的過(guò)程。計(jì)算出中心點(diǎn)之后怎么知道輸出異常呢?往往需要在這里面設(shè)置一個(gè)閾值,通過(guò)最后的訓(xùn)練我拿到的是每一個(gè)類別簇的中心點(diǎn),要判斷異常的時(shí)候需要設(shè)置一個(gè)閾值,計(jì)算該點(diǎn)到中心點(diǎn)的歐式距離,距離超過(guò)閾值
12、我認(rèn)為它算是異常。這張圖是我們?cè)跍y(cè)試的時(shí)候閾值設(shè)置2.4完全可以分開,綠色的部分都是正常的數(shù)據(jù),波動(dòng)的點(diǎn)就是這個(gè)紅點(diǎn)。接下來(lái)分享的是獨(dú)立森林,算法來(lái)自周志華在2011年 Isolation-based Anomaly Detection 通過(guò)切蛋糕的方式看誰(shuí)先被切出來(lái),比如隨機(jī)切100次,幾次就把B切出來(lái)了,而A則要切了很多次才分出來(lái)。在實(shí)現(xiàn)上則是采用的森林的算法,隨機(jī)建立一些二叉樹的方式,把小的放左邊,大的放右邊,在距離根最短的路徑經(jīng)過(guò)score的仲裁后來(lái)進(jìn)行預(yù)測(cè)是否是異常。比較兩個(gè)方法,目前我們拿到的數(shù)據(jù)特征還是比較少,之前同比和環(huán)比的特征還是比較少。我們做分類的時(shí)候,如果特征比較多的情況
13、下 K-Means 比較好。分類的設(shè)定 K-Means 要剔除一些異常的樣本, Iforest 不需要。在易用性上,我們認(rèn)為 Iforest 更好一些,最后我們選擇的是 Iforest 。由于每個(gè)DC的場(chǎng)景不一樣, IN/OUT方向的流量特性也不一樣,最好是每Port每方向就訓(xùn)練一個(gè)model,這樣可以更貼合業(yè)務(wù)。也就是 每個(gè)Port 的一個(gè)方向就是一條曲線,每個(gè)曲線對(duì)應(yīng)一個(gè) Model ,窗口大小選擇10分鐘,模型更新是每天更新一次。如果說(shuō)我用前面四種方法進(jìn)行仲裁,仲裁的概念就是多種算法進(jìn)行投票,四種算法中符合兩個(gè)以上出現(xiàn)異常,算法就是異常,這種情況下準(zhǔn)確率比較低。多種算法仲裁的情況下,再加
14、上機(jī)器學(xué)習(xí),最后 Model 的判令,準(zhǔn)確率能提高到98%以上。四、當(dāng)下與未來(lái)異常檢測(cè)可以檢測(cè)出來(lái)了,但異常出現(xiàn)的時(shí)候,如果不能定位是哪兒的業(yè)務(wù)做這個(gè)意義不是很大?;谥暗姆e累,我們把數(shù)據(jù)中心在出口上進(jìn)行分割,流量鏡像可以獲得完整的數(shù)據(jù),寫了一些C語(yǔ)言的開發(fā),能夠知道這里面哪個(gè)IP跑得比較高,哪個(gè)跑得比較低,出現(xiàn)異常的時(shí)候,告警里面可以調(diào)用API拉一下 TopN ,突發(fā)的時(shí)候看 TopN,陡峭的時(shí)候是看不了的。前兩天我們剛改進(jìn)一版,知道哪個(gè)業(yè)務(wù)的哪個(gè)IP還不夠,還給出了流量的協(xié)議類型,知道是TCP/UDP/ICMP等。找到對(duì)應(yīng)的業(yè)務(wù)人,直接給業(yè)務(wù)人和運(yùn)維負(fù)責(zé)人發(fā)郵件,最為異常的依舊。還有一種判定方法是 Pearson相關(guān)系數(shù)相關(guān)系數(shù),兩條曲線的相似度,如果小于等于0.3是不存在線性相關(guān),0.3到0.5是低度線性相關(guān),0.5到0.8是顯著線性相關(guān),大于0.8是高度線性相關(guān)。出口流量出現(xiàn)曲線波動(dòng)的時(shí)候,我們要抓取IDC相關(guān) Port 的曲線出來(lái)。我們做了千里眼,網(wǎng)絡(luò)運(yùn)維平臺(tái)上鼠標(biāo)一選,就會(huì)幫你后臺(tái)計(jì)算相同時(shí)段DC里面還有哪些曲線和你選擇的相似度最高,并顯示是哪個(gè)業(yè)務(wù)。在這之前都是工程師肉眼去分析流量圖,一個(gè)圖一個(gè)圖去看,如果交換機(jī)特別多端口
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年幼兒園食品安全管理協(xié)議書
- 合作投資合同書示例
- 廣州市勞動(dòng)合同范本參考
- 2024燈飾采購(gòu)合同范文
- 安徽省淮南市七年級(jí)上學(xué)期語(yǔ)文期中試題3套【附答案】
- 提升機(jī)租賃合同樣式
- 2024抵押貸款合同協(xié)議書樣式
- 6.2 共筑生命家園(導(dǎo)學(xué)案) 2024-2025學(xué)年統(tǒng)編版道德與法治九年級(jí)上冊(cè)
- 購(gòu)房合同協(xié)議書范本
- 倉(cāng)庫(kù)租賃合同樣本
- 有色金屬熔煉與鑄錠課件
- 阻生牙拔除的護(hù)理
- 安徽省蕪湖市七年級(jí)上學(xué)期語(yǔ)文期中試卷(含答案)
- 兩癌知識(shí)科普課件
- 食用菌現(xiàn)代高效農(nóng)業(yè)示范園區(qū)建設(shè)項(xiàng)目建議書
- 東營(yíng)港加油、LNG加氣站工程環(huán)評(píng)報(bào)告表
- 2024年日歷(打印版每月一張)
- 車用動(dòng)力電池回收利用 管理規(guī)范 第2部分:回收服務(wù)網(wǎng)點(diǎn)征求意見(jiàn)稿編制說(shuō)明
- 新劍橋少兒英語(yǔ)第六冊(cè)全冊(cè)配套文本
- 科學(xué)預(yù)測(cè)方案
- 職業(yè)生涯規(guī)劃網(wǎng)絡(luò)與新媒體專業(yè)
評(píng)論
0/150
提交評(píng)論