回顧整個(gè)運(yùn)維的發(fā)展史,從最開(kāi)始的系統(tǒng)管理到基礎(chǔ)腳本運(yùn)維,再到自動(dòng)化運(yùn)維,最后發(fā)展到了智能運(yùn)維。經(jīng)過(guò)這些年的發(fā)展,運(yùn)維人員的工作內(nèi)容發(fā)生了翻天覆地的變化:
十幾年前,我們不知道故障會(huì)出現(xiàn)在哪,也不知道什么時(shí)候會(huì)出現(xiàn)故障,只有在故障出現(xiàn)的時(shí)候才能去查找根因并解決故障,這是一種很被動(dòng)的方法。
到后來(lái)大規(guī)模的腳本引入,我們處理問(wèn)題的方式變得更加科學(xué)了,速度也差強(qiáng)人意,但還是沒(méi)有改變這一種被動(dòng)解決問(wèn)題的本質(zhì)現(xiàn)象;有了先前的經(jīng)驗(yàn),很多公司引入了監(jiān)控系統(tǒng),發(fā)展了自己的自動(dòng)化運(yùn)維平臺(tái),旨在問(wèn)題發(fā)生或者即將發(fā)生時(shí)能夠自動(dòng)地去解決問(wèn)題,這種方式剛突破了之前所有的“被動(dòng)運(yùn)維”的本質(zhì),能夠防患于未然,將故障扼殺在搖籃中。但與之而來(lái)的卻是大量的告警及海量的監(jiān)控?cái)?shù)據(jù),如何更加高效地解決故障成了我們現(xiàn)在必須解決的難題。
人工智能時(shí)代的來(lái)臨恰好解決了上面我們所面臨的問(wèn)題,而AIOps就是希望基于已有的運(yùn)維數(shù)據(jù)(日志、監(jiān)控信息、應(yīng)用信息等),并通過(guò)機(jī)器學(xué)習(xí)的方式來(lái)進(jìn)一步解決自動(dòng)化運(yùn)維沒(méi)辦法解決的問(wèn)題。
我們目前正在積極推動(dòng)數(shù)據(jù)庫(kù)運(yùn)維從自動(dòng)化到智能化的轉(zhuǎn)變。眾所周知,數(shù)據(jù)挖掘和機(jī)器學(xué)習(xí)離不開(kāi)海量的數(shù)據(jù)作為基礎(chǔ),而平安科技通過(guò)這幾年的自動(dòng)化運(yùn)維的應(yīng)用,已經(jīng)積累了海量多維的數(shù)據(jù)庫(kù)性能數(shù)據(jù)、日志數(shù)據(jù)和主機(jī)數(shù)據(jù)。
利用這些數(shù)據(jù),我們可以通過(guò)機(jī)器學(xué)習(xí)等方法在時(shí)間序列異常檢測(cè)、根因分析、郵件告警收斂、容量預(yù)測(cè)等多個(gè)應(yīng)用場(chǎng)景中獲取我們想要的信息,從而進(jìn)行故障的自動(dòng)發(fā)現(xiàn)、自動(dòng)診斷和自動(dòng)解決。
一、時(shí)間序列異常檢測(cè)
時(shí)序數(shù)據(jù)是AIOps的基礎(chǔ)數(shù)據(jù),有著規(guī)模大、種類多、需求多樣的特點(diǎn)。在自動(dòng)化運(yùn)維階段,我們所采用的大多是恒定閾值的方法。
這種方法簡(jiǎn)單易實(shí)現(xiàn),但是缺點(diǎn)也顯而易見(jiàn):它不夠靈活,發(fā)現(xiàn)故障也不夠及時(shí),無(wú)法滿足現(xiàn)在的告警需求。如下圖所示,傳統(tǒng)的閾值告警會(huì)忽略掉兩個(gè)波動(dòng)的異常:
恒定閾值方法
動(dòng)態(tài)閾值的方法在此時(shí)應(yīng)運(yùn)而生,傳統(tǒng)的動(dòng)態(tài)閾值的方法采用了基于同比和環(huán)比的統(tǒng)計(jì)方法,這種方法解釋性強(qiáng),易于實(shí)現(xiàn),但是靈活性較差,受節(jié)假日影響較大(如下圖中,9月24號(hào)為中秋節(jié),流量和上周相比下降明顯,此時(shí)環(huán)比和同比的方法不適用),發(fā)現(xiàn)問(wèn)題也不夠及時(shí)。
還有許多公司采用帶權(quán)移動(dòng)平均的方法來(lái)做動(dòng)態(tài)閾值,他們認(rèn)為在同一個(gè)維度下,某一個(gè)點(diǎn)的數(shù)值必然和它之前一段時(shí)間的數(shù)據(jù)有關(guān),如以下公式所示:
9/18-9/25指標(biāo)數(shù)據(jù)圖
我們目前正將機(jī)器學(xué)習(xí)應(yīng)用在時(shí)序數(shù)據(jù)異常檢測(cè)中,和上述方法相比,機(jī)器學(xué)習(xí)的方法更為準(zhǔn)確,成本也更大。
時(shí)間序列異常檢測(cè)本質(zhì)上也可以看做“正常”和“異常”的二分類問(wèn)題,通過(guò)將歷史的監(jiān)控?cái)?shù)據(jù)打上標(biāo)簽,再將有監(jiān)督和無(wú)監(jiān)督算法結(jié)合建立模型,可以判斷當(dāng)前的時(shí)間序列是否是正常的。
二、根因分析
大多數(shù)情況下,由于監(jiān)控指標(biāo)的相關(guān)聯(lián)性,如果某個(gè)指標(biāo)異常了,很多相關(guān)指標(biāo)也會(huì)異常。如果同時(shí)對(duì)所有的告警指標(biāo)進(jìn)行分析和處理,會(huì)浪費(fèi)許多人力。為了解決這個(gè)問(wèn)題,我們需要進(jìn)行根因分析來(lái)進(jìn)行針對(duì)性處理。
通常我們可以通過(guò)下列3種方法對(duì)數(shù)據(jù)進(jìn)行根因分析:
相關(guān)度指標(biāo)獲取,找到和異常指標(biāo)在特定時(shí)間段內(nèi)相似的指標(biāo)。
在大量的樣本中,找出經(jīng)常一起出現(xiàn)的異常指標(biāo)(該問(wèn)題就轉(zhuǎn)換成了頻繁序列挖掘問(wèn)題),實(shí)現(xiàn)方法有關(guān)聯(lián)規(guī)則、APRIORI、FP_GROTH等。
利用決策樹(shù)的強(qiáng)可解釋性,對(duì)正負(fù)樣本進(jìn)行分類,然后通過(guò)異常指標(biāo)的分類樹(shù)途徑,找到頻繁的異常指標(biāo)集。
以O(shè)racle數(shù)據(jù)庫(kù)的DB_TIME偏高為例:
第一種方法找出當(dāng)前時(shí)間段內(nèi)與DB_TIME指標(biāo)有相似曲線的指標(biāo),并將最相似指標(biāo)TOP N作為根因;
第二種方法則是在歷史數(shù)據(jù)中,當(dāng)DB_TIME異常時(shí),把其他異常的指標(biāo)組成若干個(gè)項(xiàng)集,再?gòu)倪@些項(xiàng)集里面利用關(guān)聯(lián)規(guī)則找出強(qiáng)相關(guān)組合,則這些組合中的其他指標(biāo)被視為根因;
第三種方法,則是在歷史數(shù)據(jù)中根據(jù)DB_TIME是否異常,將歷史數(shù)據(jù)分為正、負(fù)樣本,訓(xùn)練決策樹(shù)模型得到最終的根因。
根因分析方法一
根因分析方法二
根因分析方法三
三、告警收斂
當(dāng)監(jiān)控業(yè)務(wù)發(fā)展到一定規(guī)模時(shí),每日收到的告警郵件數(shù)會(huì)呈指數(shù)型增長(zhǎng),尤其是一些監(jiān)控頻率較高的監(jiān)控項(xiàng)出現(xiàn)問(wèn)題時(shí),這種情況特別明顯。
為了解決這一問(wèn)題,在最開(kāi)始,我們?cè)O(shè)定了告警頻率,讓同一種告警在一段時(shí)間內(nèi)只出現(xiàn)一次。
這種方法確實(shí)會(huì)減少一部分告警,但是還有一些顯而易見(jiàn)的告警可以通過(guò)制定規(guī)則的方法來(lái)實(shí)現(xiàn)進(jìn)一步的告警收斂。比如同一個(gè)集群內(nèi)的數(shù)據(jù)庫(kù)都出現(xiàn)了ping不通的問(wèn)題,又比如同一個(gè)網(wǎng)段內(nèi)的所有IP流量突增,就可以將這些告警整合后再發(fā)送。
而在AIOps時(shí)代,告警收斂和根因分析往往是一起進(jìn)行的。
和根因分析方法二類似,我們可以先獲取告警項(xiàng)集數(shù)據(jù),并提取頻繁項(xiàng)。如果在頻繁告警項(xiàng)集中,告警A和告警B經(jīng)常一起出現(xiàn)并且在A出現(xiàn)的時(shí)間比B早,則在郵件告警中,我們可以忽略B告警,只將A告警推送給運(yùn)維人員。
不同場(chǎng)景下的告警收斂有著不同的需求,和AIOps相比,傳統(tǒng)的告警收斂方法更加簡(jiǎn)單和高效,基于規(guī)則的方法也具有很強(qiáng)的拓展性和解釋性;而AIOps卻能挖掘出我們利用常識(shí)和經(jīng)驗(yàn)無(wú)法發(fā)現(xiàn)的關(guān)聯(lián)項(xiàng)并進(jìn)行告警收斂。
四、容量預(yù)測(cè)
容量預(yù)測(cè)在數(shù)據(jù)庫(kù)運(yùn)維中的很多地方都應(yīng)用著,不同的應(yīng)用場(chǎng)景有不同的特性,我們很難找到一個(gè)模型去適應(yīng)所有的數(shù)據(jù)。
在容量預(yù)測(cè)上,我們的典型應(yīng)用是數(shù)據(jù)庫(kù)DB_SIZE容量預(yù)測(cè),數(shù)據(jù)庫(kù)容量具有總體上升、無(wú)規(guī)律、波動(dòng)大的特點(diǎn)。對(duì)數(shù)據(jù)庫(kù)容量進(jìn)行合理的預(yù)測(cè),短期可以提前發(fā)現(xiàn)可能的故障,進(jìn)行主動(dòng)預(yù)防和提前解決,無(wú)需在問(wèn)題發(fā)生時(shí)被動(dòng)處理;長(zhǎng)期可以進(jìn)行合理的容量規(guī)劃和資源分配。
最開(kāi)始,我們想到的是線性回歸加上簡(jiǎn)單的數(shù)據(jù)預(yù)處理,但是結(jié)果十分不理想。由于業(yè)務(wù)規(guī)模的落差,不同數(shù)據(jù)庫(kù)的容量有著很大的差別,并且在數(shù)據(jù)庫(kù)進(jìn)行導(dǎo)表,擴(kuò)容等操作時(shí),線性擬合或者非線性擬合的效果不盡人意。
顯然,傳統(tǒng)的線性回歸方法雖然簡(jiǎn)單,但是預(yù)測(cè)效果較差,不能滿足要求。為了解決這一問(wèn)題,我們將容量數(shù)據(jù)進(jìn)行了分類,分為周期型和突升突降型,分類的方法可以采用統(tǒng)計(jì)方法,也可以使用聚類或分類的方法。
對(duì)于周期型數(shù)據(jù),我們可以認(rèn)為其實(shí)線性可擬合的,因?yàn)樵诳傮w上升的趨勢(shì)上,周期型的數(shù)據(jù)在周期內(nèi)的增長(zhǎng)值是線性遞增的。對(duì)于這種類型的數(shù)據(jù),我們可以采用線性回歸的機(jī)器學(xué)習(xí)方法來(lái)對(duì)數(shù)據(jù)庫(kù)容量進(jìn)行預(yù)測(cè)。
周期型數(shù)據(jù)
而對(duì)于突增突降型的數(shù)據(jù),線性擬合效果較差,這時(shí)我們使用環(huán)比增量求和的方法,求得歷史數(shù)據(jù)中星期一到星期天的具體每天增量的加權(quán)平均值;再將這個(gè)增量應(yīng)用到預(yù)測(cè)中。和單純的線性擬合方法相比,這種方法的準(zhǔn)確性提高了很多,平均預(yù)測(cè)數(shù)據(jù)的均方殘差縮小了近一倍。
突升突降型數(shù)據(jù)
以上四個(gè)應(yīng)用場(chǎng)景的技術(shù)開(kāi)拓都是致力于通過(guò)AI讓運(yùn)維更加高效,讓更多的故障可以被提前發(fā)現(xiàn)和解決。關(guān)于AIOps,我們還有很多東西可以去嘗試和探索,如智能問(wèn)答機(jī)器人、日志集中分析平臺(tái)等,后續(xù)有相關(guān)成果再與大家分享。
-
數(shù)據(jù)庫(kù)
+關(guān)注
關(guān)注
7文章
3926瀏覽量
66211 -
機(jī)器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8503瀏覽量
134599 -
運(yùn)維
+關(guān)注
關(guān)注
1文章
270瀏覽量
8171
發(fā)布評(píng)論請(qǐng)先 登錄
如何用labview顯示數(shù)據(jù)庫(kù)的表格內(nèi)容
請(qǐng)教如何用SQL語(yǔ)句來(lái)壓縮ACCESS數(shù)據(jù)庫(kù)
如何用labview創(chuàng)建SQLite數(shù)據(jù)庫(kù)?
請(qǐng)問(wèn)查詢sql數(shù)據(jù)庫(kù)的表格結(jié)果都是升序排列的,如何用降序排列?二維數(shù)組排列也只能升序?
學(xué)習(xí)Linux運(yùn)維發(fā)展方向
跨平臺(tái)嵌入式數(shù)據(jù)庫(kù)EffiProz介紹
ADO 控件訪問(wèn)數(shù)據(jù)庫(kù)的各種技巧探討
數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)是什么意思
SQL Server數(shù)據(jù)庫(kù)學(xué)習(xí)總結(jié)

MySQL數(shù)據(jù)庫(kù)誤刪后的回復(fù)技巧

數(shù)據(jù)庫(kù)學(xué)習(xí)教程之數(shù)據(jù)庫(kù)的發(fā)展?fàn)顩r如何數(shù)據(jù)庫(kù)有什么新發(fā)展

評(píng)論