国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于孤立森林算法的分布式服務(wù)故障分析模型研究與應(yīng)用

2021-05-29 06:25:00
信息通信技術(shù) 2021年2期
關(guān)鍵詞:運維森林監(jiān)控

中國聯(lián)合網(wǎng)絡(luò)通信有限公司濟南軟件研究院 濟南 250100

引言

隨著互聯(lián)網(wǎng)業(yè)務(wù)的全面發(fā)展,企業(yè)IT架構(gòu)發(fā)生重大變化,分布式云化架構(gòu)應(yīng)用越來越多,傳統(tǒng)運維模式面臨越來越多的挑戰(zhàn),難以適應(yīng)業(yè)務(wù)的高速發(fā)展需求[1]。目前,信息化系統(tǒng)廣泛微服務(wù)化,運維機器數(shù)量、容器數(shù)量、外部服務(wù)日均調(diào)用量、系統(tǒng)服務(wù)數(shù)量均顯著上升。在此規(guī)模下,支撐難度、運維難度、排查問題難度呈幾何增長,對運維模式及技術(shù)有更高的要求。

互聯(lián)網(wǎng)業(yè)務(wù)具有業(yè)務(wù)無間斷在線、業(yè)務(wù)敏感性較高、負面影響大、傳播范圍廣、傳播速度快等特點,對運維要求越來越高,傳統(tǒng)運維模式已無法適應(yīng)互聯(lián)網(wǎng)業(yè)務(wù)的高速發(fā)展需求,智能運維(AIOps)成為必不可少的運維利器[2]。

在大型互聯(lián)網(wǎng)架構(gòu)中,為提升平臺計算能力及資源利用率,普遍采用分布式技術(shù)。然而使用分布式技術(shù)也會帶來一些潛在問題,若主機資源需求與資源分配不均勻、部分主機長時間負載過重,容易導致服務(wù)失效,造成服務(wù)中斷甚至數(shù)據(jù)丟失;同時當系統(tǒng)發(fā)生故障時,服務(wù)分散在不同主機會導致故障問題難以定位、故障排查耗時較長等問題[3]。

通過國內(nèi)外相關(guān)文獻分析,目前針對分布式服務(wù)故障分析的研究仍處于初級階段。其中大部分系統(tǒng)是根據(jù)領(lǐng)域知識人工設(shè)定報警規(guī)則,難以自動檢測故障并細粒度定位問題原因[4]。近年來機器學習算法廣泛應(yīng)用于各項領(lǐng)域,其中孤立森林算法是十分優(yōu)秀的異常檢測算法[5],然而目前尚未有研究人員將孤立森林算法應(yīng)用于大型分布式系統(tǒng)中進行故障分析。

針對上述優(yōu)缺點并借鑒國內(nèi)外相關(guān)文獻,本文提出一種基于孤立森林算法的分布式服務(wù)故障分析模型。通過采集分布式環(huán)境中服務(wù)主機監(jiān)控數(shù)據(jù)及服務(wù)調(diào)用耗時數(shù)據(jù),對采集到的時序數(shù)據(jù)通過滑動平均算法計算生成閾值區(qū)間,并利用孤立森林算法對預處理后的數(shù)據(jù)進行模型計算,構(gòu)建合適的異常分析模型,實現(xiàn)了分布式環(huán)境下服務(wù)故障分析功能,有效提升了運維人員的工作效率并減輕了運維人員的工作負擔,同時協(xié)助運維人員快速排查問題,達到對分布式服務(wù)故障快速定位快速處理的效果。

1 相關(guān)算法

1.1 滑動平均算法

滑動平均算法是時間序列分析算法的一種,可以用來估計變量的局部均值,使得變量的更新與一段時間內(nèi)的歷史取值有關(guān)。比較常用的滑動平均算法有簡單移動平均法、加權(quán)移動平均法、自回歸滑動平均模型等,目前工業(yè)界比較流行的滑動平均算法為自回歸滑動平均模型。

自回歸滑動平均模型(Auto-Regressive and Moving Average Model,ARMA)是研究時間序列的重要算法,根據(jù)時間序列數(shù)據(jù)逐項推移,依次計算包含一定項數(shù)的時序平均值,以反映長期趨勢[6]。

ARMA模型的計算公式為:

由于本文系統(tǒng)采集到的監(jiān)控數(shù)據(jù)具有一定的時間序列性,因此選擇ARMA模型對監(jiān)控數(shù)據(jù)進行時間序列分析,方便后續(xù)模型計算。

1.2 孤立森立算法

孤立森林算法是一種適用于連續(xù)數(shù)據(jù)的無監(jiān)督異常檢測方法,其基本思想是計算對象與對象之間的差異,通過檢測兩點距離或某一區(qū)域點的密度,計算異常點得分,分值越高,則代表對象越有可能是異常點[5]。

對于如何查找哪些點容易被孤立,孤立森林算法使用了一套非常高效的策略。在構(gòu)建孤立森林模型中,遞歸地隨機分割數(shù)據(jù)集,直到所有樣本點都是孤立的。在這種隨機分割的策略下,異常點通常具有較短的路徑。即密度高的簇是需要被切很多次才能被孤立,而密度低的點很容易就可以被孤立。這里參考下面的圖1、2進行說明。

圖1 孤立森林算法示意圖

圖2 平均分割路徑長度

從圖2中可以直觀地看到,相對更異常的點x0只需要4次切割就從整體中被分離出來,而更加正常的點xi經(jīng)過了11次分割才從整體中分離出來。這里的分割方式采用的是,隨機選擇一個特征以及拆分的值(這個值位于該特征的最小值和最大值之間)。其中圖2展示了異常點的平均路徑長度小于正常點的平均路徑長度。

2 基于孤立森林算法的分布式服務(wù)故障分析模型

2.1 背景介紹

分布式系統(tǒng)即一組異構(gòu)計算機和處理器通過網(wǎng)絡(luò)聯(lián)接在一起,通過機器間緊密配合,共同完成一項任務(wù)[1]。不同主機的性能都會對分布式系統(tǒng)中的服務(wù)有一定影響,因此本文的關(guān)鍵數(shù)據(jù)為分布式系統(tǒng)中不同服務(wù)下的主機性能數(shù)據(jù)。通過監(jiān)控工具實時采集分布式系統(tǒng)中各主機的性能指標數(shù)據(jù),其中監(jiān)控工具采集到的主機性能特征指標為:網(wǎng)絡(luò)流入流量、網(wǎng)絡(luò)流出流量、用戶CPU使用率、系統(tǒng)CPU使用率、CPU整體剩余情況、寫IO量、ICMP、數(shù)據(jù)庫連接數(shù)、數(shù)據(jù)庫慢SQL數(shù)量、數(shù)據(jù)庫長連接數(shù)量等,采集到的監(jiān)控數(shù)據(jù)如表1所示。

表1 監(jiān)控數(shù)據(jù)

針對分布式服務(wù)故障分析場景,本文的目標是對監(jiān)控數(shù)據(jù)構(gòu)建模型,給出故障的定位及原因。本模型需要完成的兩大任務(wù)是異常檢測及異常分析,其中異常檢測是通過AI異常檢測模型找出分布式服務(wù)中發(fā)生故障的主機及引起服務(wù)故障的性能指標,而異常分析是通過大數(shù)據(jù)統(tǒng)計分析出導致故障發(fā)生的異常信息。

由于本文的異常檢測場景是在監(jiān)控數(shù)據(jù)中尋找異常值,同時采集到的監(jiān)控數(shù)據(jù)具有連續(xù)性,因此選擇孤立森林算法比較合適;同時采集到的監(jiān)控數(shù)據(jù)具有時間序列性,因此選擇滑動平均算法對監(jiān)控數(shù)據(jù)進行時間序列分析。

2.2 基于孤立森林算法的分布式服務(wù)故障分析模型

基于孤立森林算法的分布式服務(wù)故障分析模型由兩部分組成,一個是異常檢測模型,另一個是異常分析模型,其中異常檢測模型為核心模型。

異常檢測模型的主要思想是通過滑動平均算法對一段時間內(nèi)單一主機單一性能指標數(shù)據(jù)利用孤立森林算法進行模型訓練,生成異常檢測模型,對不同主機不同性能指標數(shù)據(jù)進行異常檢測,從而實現(xiàn)對分布式服務(wù)故障進行問題定位。

目前工業(yè)界異常檢測場景中效果較好的算法即孤立森林算法,同時孤立森林算法是無監(jiān)督機器學習算法,無需對數(shù)據(jù)進行人工打標處理,能夠節(jié)省很多人工成本,因此本文選擇孤立森林算法構(gòu)建異常檢測模型。然而本文中采集到的監(jiān)控數(shù)據(jù)具有時間序列性,因此選擇滑動平均算法對監(jiān)控數(shù)據(jù)進行時間序列分析,進行數(shù)據(jù)處理,方可進行模型訓練。異常檢測模型流程圖如圖3所示。

圖3 異常檢測模型流程圖

異常檢測模型的核心代碼如下:

異常檢測模型主要使用sklearn代碼庫中的Isolation Forest以及Numpy、Scipy等科學計算包分別實現(xiàn)了孤立森林算法及滑動平均算法,針對不同主機不同指標分別進行模型訓練,對訓練好的模型統(tǒng)一進行保存,方便系統(tǒng)調(diào)用。

異常分析模型的主要思想是對一段時間內(nèi)異常檢測出的異常值進行不同維度的大數(shù)據(jù)統(tǒng)計分析,通過對各種指標進行聚合,統(tǒng)計得出這一段時間內(nèi)哪些主機哪些指標頻繁發(fā)生異常,并通過異常得分排序得出故障發(fā)生的IP及指標,從而為運維人員節(jié)省大量時間及精力,提高了問題排查的效率。異常分析模型流程圖如圖4所示。

圖4 異常分析模型流程圖

從圖4可以看出,模型會針對實時獲取的監(jiān)控數(shù)據(jù)調(diào)用已訓練完成的異常檢測模型,生成異常檢測結(jié)果,再對一段數(shù)據(jù)內(nèi)調(diào)用到的異常檢測結(jié)果進行大數(shù)據(jù)統(tǒng)計,針對不同主機統(tǒng)計結(jié)果排序可以定位故障主機,針對不同指標統(tǒng)計結(jié)果排序可以定位故障指標,由此對故障進行根因定位。

3 基于孤立森林算法的分布式服務(wù)故障分析系統(tǒng)

3.1 技術(shù)架構(gòu)

基于孤立森林算法的分布式服務(wù)故障分析系統(tǒng)以機器學習、大數(shù)據(jù)框架為基礎(chǔ),結(jié)合AI、大數(shù)據(jù)等技術(shù)對監(jiān)控數(shù)據(jù)進行建模分析,是集異常檢測、智能告警、故障智能分析、監(jiān)控視圖、業(yè)務(wù)視圖為一體的智能運維平臺。其系統(tǒng)架構(gòu)如圖5所示。

該架構(gòu)融合機器學習與大數(shù)據(jù)的分析流程,即獲取到基礎(chǔ)數(shù)據(jù)后,對基礎(chǔ)數(shù)據(jù)進行數(shù)據(jù)預處理生成特征矩陣,然后對特征矩陣進行特征分析,挑選出適合的特征進行模型訓練,最終對模型訓練完成的數(shù)據(jù)進行大數(shù)據(jù)統(tǒng)計分析,生成所需的報表視圖。

3.2 功能架構(gòu)

基于孤立森林算法的分布式服務(wù)故障分析系統(tǒng)通過接入統(tǒng)一監(jiān)控平臺采集監(jiān)控數(shù)據(jù),通過接入日志歸集平臺采集日志數(shù)據(jù),將采集到的歷史數(shù)據(jù)通過大數(shù)據(jù)框架進行數(shù)據(jù)預處理,再將處理完成的特征數(shù)據(jù)通過機器學習核心框架構(gòu)建模型,最終通過可視化大盤將分析后的結(jié)果數(shù)據(jù)展示。其功能架構(gòu)圖如圖6所示。

統(tǒng)一監(jiān)控平臺:自主研發(fā)的跨平臺、支持多種中間件的IT綜合監(jiān)控平臺,全面覆蓋IasS、PaaS、SaaS三層監(jiān)控。

日志歸集平臺:提供日志采集、檢索、告警、可視化大盤等功能,解決海量日志的管理難題。

大數(shù)據(jù)、機器學習框架:基于孤立森林算法的分布式服務(wù)故障分析系統(tǒng)的核心,提供數(shù)據(jù)預處理、數(shù)據(jù)分析、特征工程、算法、建模等能力。

3.3 智能告警功能

系統(tǒng)將告警與異常檢測結(jié)合,基于動態(tài)閾值,進行智能告警,當接收到告警時會自動進行信息壓縮整合、數(shù)據(jù)分析等操作。異常檢測生成的動態(tài)閾值是基于海量歷史數(shù)據(jù)分析產(chǎn)生的,能夠反映業(yè)務(wù)趨勢的變化規(guī)律,使告警更精準,質(zhì)量更高,而且釋放了部分人工配置的繁瑣工作,工作效率大大提高。

智能告警對告警消息進行關(guān)聯(lián)分析,同時對各類信息進行整合,如:數(shù)據(jù)庫存在長連接時,會自動對數(shù)據(jù)庫CPU、連接數(shù)、響應(yīng)時間等指標進行分析,并基于異常檢測確認數(shù)據(jù)庫性能是否存在波動,檢測到異常時才會進行消息發(fā)送,發(fā)送告警信息時會將數(shù)據(jù)庫的一系列信息進行壓縮、合并,統(tǒng)一進行發(fā)送。智能告警的功能流程圖如圖7所示。

使用基于孤立森林算法的分布式服務(wù)故障分析系統(tǒng)的智能告警功能后,告警數(shù)量大幅度減少,告警質(zhì)量得到大大提高,告警信息更精確、更有效(告警數(shù)量由每天5 000多條壓縮至100條左右)。

3.4 異常分析功能

對異常檢測進行改造,將多維度指標數(shù)據(jù)進行大數(shù)據(jù)統(tǒng)計分析,自動分析出故障時各指標的影響占比并生成異常分析報表,快速定位故障問題,大大提高故障排查效率,故障排查耗時由30min縮短至2min。其中傳統(tǒng)運維流程如圖8所示,異常分析流程如圖9所示。

從以上圖8和圖9的對比中,傳統(tǒng)運維當接收到監(jiān)控告警后,需人工對不同主機不同組件的各個指標進行逐項排查,最終對排查結(jié)果進行匯總定位根因,流程十分繁瑣,并需要耗費大量人員精力。而基于孤立森林算法的分布式服務(wù)故障分析系統(tǒng)的異常分析功能流程十分清晰明了,同時引入了異常檢測模型,故障定位更加準確,系統(tǒng)能夠采集到監(jiān)控告警后自動對故障進行統(tǒng)計分析,自動得出定位根因,釋放了大量勞動力,故障排查效率有所提高。

圖5 基于孤立森林算法的分布式服務(wù)故障分析系統(tǒng)架構(gòu)圖

圖6 基于孤立森林算法的分布式服務(wù)故障分析系統(tǒng)功能架構(gòu)圖

圖7 智能告警示意圖

4 基于孤立森林算法的分布式服務(wù)故障分析系統(tǒng)在中國聯(lián)通分布式架構(gòu)系統(tǒng)中的應(yīng)用效果

目前,基于孤立森林算法的分布式服務(wù)故障分析系統(tǒng)已在中國聯(lián)通號卡系統(tǒng)等應(yīng)用上線,服務(wù)在故障發(fā)生時,借助基于孤立森林算法的分布式服務(wù)故障分析系統(tǒng)能夠快速定位故障問題,有效減輕運維人員的工作壓力。

4.1 單指標異常檢測

單指標異常檢測基于滑動平均算法生成動態(tài)閾值,再使用孤立森林算法構(gòu)建異常檢測模型,最終基于異常檢測模型實現(xiàn)實時異常檢測。

使用滑動平均算法、孤立森林算法對海量歷史數(shù)據(jù)進行建模分析,實時發(fā)現(xiàn)海量數(shù)據(jù)中的異常點,可以實現(xiàn)動態(tài)調(diào)整閾值,生成異常檢測報表。其效果如圖10所示。

4.2 多指標異常分析

目前,異常檢測僅能夠?qū)尉S度指標實時計算,無法對多維度指標進行有效分析,多指標異常分析是基于異常檢測進行改造,對各指標數(shù)據(jù)進行大數(shù)據(jù)統(tǒng)計分析,通過對各種指標進行聚合,分析出故障發(fā)生時各指標的影響占比并生成異常分析報表。其效果如圖11所示。

4.3 導航式故障排查

導航式故障排查功能通過對現(xiàn)有的故障排查流程進行總結(jié)固化為工作流,與單指標異常檢測進行結(jié)合,基于異常檢測動態(tài)調(diào)整閾值,通過重點標識故障指標,動態(tài)生成故障分析報告。其效果如圖12所示。

圖8 傳統(tǒng)運維流程示意圖

圖9 異常分析流程示意圖

圖10 異常檢測報表

圖11 異常分析報表

圖12 導航式故障排查分析報表

5 結(jié)論

基于孤立森林算法的分布式服務(wù)故障分析系統(tǒng)上線使用后,告警質(zhì)量得到大大提高,告警信息更精確、更有效(告警數(shù)量由每天5000多條壓縮至100條左右),同時能夠快速定位故障問題,大大提高故障排查效率,故障排查耗時由30min縮短至2min。因此相對于傳統(tǒng)運維模式,基于孤立森林算法的分布式服務(wù)故障分析系統(tǒng)在故障定位及故障分析等方面實現(xiàn)了自動化、智能化,減少了運維人員的投入,人力成本及運維成本都有所降低,證明了基于孤立森林算法的分布式服務(wù)故障分析模型具有一定的可行性及有效性。

基于孤立森林算法的分布式服務(wù)故障分析模型還有很多地方需要改進,由于本文特定場景的需求并沒有引入其它主機性能指標,在今后的研究工作中將引入更多性能指標及異常檢測算法進行多項驗證,探索能否形成一套通用模型,可應(yīng)用于不同生產(chǎn)系統(tǒng),從而大大提高模型的魯棒性。

猜你喜歡
運維森林監(jiān)控
The Great Barrier Reef shows coral comeback
運維技術(shù)研發(fā)決策中ITSS運維成熟度模型應(yīng)用初探
你被監(jiān)控了嗎?
Zabbix在ATS系統(tǒng)集中監(jiān)控中的應(yīng)用
風電運維困局
能源(2018年8期)2018-09-21 07:57:24
雜亂無章的光伏運維 百億市場如何成長
能源(2017年11期)2017-12-13 08:12:25
看監(jiān)控攝像機的4K之道
哈Q森林
哈Q森林
哈Q森林
宜黄县| 三河市| 南溪县| 南投县| 武功县| 湘阴县| 九江县| 含山县| 滦南县| 汕头市| 军事| 宜黄县| 壶关县| 汝南县| 柏乡县| 博白县| 岚皋县| 宽甸| 门头沟区| 射阳县| 太仓市| 宜兴市| 五大连池市| 沁阳市| 鹰潭市| 铁力市| 额济纳旗| 博乐市| 东乡| 长葛市| 平定县| 茶陵县| 灵寿县| 衡阳县| 张北县| 田阳县| 阜新市| 菏泽市| 青川县| 绥阳县| 三亚市|