當前位置:
首頁 > 最新 > AIOps智能監控在阿里故障管理工作中的實踐!

AIOps智能監控在阿里故障管理工作中的實踐!

【IT168 技術】在自動化運維還不普及的時候,運維人員更多的運用手動的方式完成運維工作,這種方式耗時長,效率低。由此,如何合理髮揮人工智慧技術輔助運維人員進行故障管理工作逐步成為了業界關注的焦點。阿里巴巴的GOC團隊通過研究並使用AIOps系統到運維業務場景中的方式,積累了大量的智能運營的方法論和技術體系。

演講嘉賓簡介:

王肇剛,阿里巴巴高級技術專家

本文內容根據演講視頻及PPT整理而成。

運維行業的發展

2009年,在自動化運維還不普及的時候,運維人員更多的運用手動方式完成運維工作,這種方式耗時長,效率較低。例如:運行業務的伺服器有板卡故障時,運維人員往往需要將位於故障伺服器上游及下游的伺服器中對故障伺服器的流量從配置文件中摘掉,再將出現故障的伺服器中運行的應用全部停掉,最後將相關伺服器的監控屏蔽才可完成整個故障的運維。做完這些工作往往會消耗掉運維人員一下午的時間。對於此種情況,阿里巴巴的開發人員最開始想到的解決方法是編寫相對的響應腳本,並通過腳本的運行完成自動化運維。但在運維人員實際使用過程中腳本的方式不是很理想。於是開發人員嘗試使用了第二種方式,WEB化(或稱白屏化)的方式進行自動化的運維工作。相比腳本的編寫WEB化的方式更加優雅易用。但是,WEB化方式仍存在著不夠靈活的局限。運維人員希望將基礎的運維能力做成介面,並以平台化的方式進行應用,以此支持更加複雜的運維場景,DEVOps便由此產生。DEVOps雖不等同於自動化運維,卻是一個解決自動化運維非常好的方式,可以將其看作一個將研發及運維問題融合到一起的一個工作方法論。在DEVOps技術基礎之上,開發人員將運維做到了基礎架構領域,通過將更多的運維問題降為攻擊來使原本的問題不存在。上述這些時期,無論是運維腳本的開發、運維WEB化的開發、或是通過基礎架構進行運維,運維人員做的都是自動化運維,而非智能化運維。在2014年左右,業界提出了智能化運維的思路,運維人員可以利用人工智慧的技術來輔助運維人員將工作做的更好,基於此思想智能化運維的開發便提上了日程。回顧手動運維,自動化運維及智能化運維這三個時代,可以發現以下一些特點。1.手動運維時代:在手動時代,運維人員需要人工進行運維的決策並親自執行這些運維的決策。2.自動化運維時代(DEVOps):在自動化運維時代,運維人員仍需對運維問題進行人工的決策,但在制定決策後,運維人員便可通過自動化系統進行決策的執行。3.人工智慧運維時代(AIOps):在更多的場景下,機器會輔助運維人員自動制定決策,並由機器本身自動完成所制定的決策,以此達到高效解決問題的目的。

AIOps時代的智能運維

上圖為全球著名資訊公司Gartner對AIOps的發展趨勢判斷。根據Gartner的判斷,在2017年全球有10%的運維繫統具備了AIOps的能力,但到2020年時,具備這種能力的運維繫統的數量將攀升至50%左右,由此可見,AIOps技術將在未來變得越來越成熟。Gartner的這種判斷使得廣大運維人員不禁會問:AIOps究竟能為運維工作提供什麼幫助?借用遊戲中的一種表現方式,阿里巴巴開發團隊為AIOps繪製了一顆發展科技樹。AIOps的發展是一種從工業界到學術界,再由二者相結合的過程,AIOps的產生最初是由設計工程師們在一些諸如智能化的異常檢測,智能化的容量切換調度,智能化的問答這類問題上進行嘗試後,逐步由具體的功能點匯聚成了AIOps這種體系結構。對於運維來說,無外乎解決三方面問題即:質量,成本,效率。AIOps分別關注了這三個領域中的質量監控,根因分析,故障自愈,容量,調度,無人值守,運維機器人等必不可少的運維應用場景,通過對這些場景的研究來更好的達到人工智慧運維的目標。

如何孵化具有AIOps能力的產品?

1.搭建AIOps需要哪些部分?

阿里巴巴負責智能運維化產品開發的GOC團隊認為AIOps系統的架構應為場景,演算法,數據三位一體的架構。上圖羅列出了一些GOC團隊構建AIOps系統所用的技術。對於AIOps來說,演算法是必不可少的,而演算法底層需要數據為其進行訓練及複發,在有了演算法及數據之後,GOC團隊同樣需要一些運維的場景進行演算法效率的驗證並發揮系統智能的價值。基於此,GOC團隊選取了一些典型的運維場景,包括智能監控,智能調度,智能問答等等進行驗證。所用到的演算法組件包括但不限於:異常檢測,最優化策略/規劃&預測,VLP/意圖識別等相關演算法組件。而對於數據部分而言,人們常常會有一個誤區:即擁有大量數據並不代表可以快速生成人們想要的演算法,在利用數據生成演算法方面,應該更多注重的是數據的質量,若數據集中無意義及不標準的數據過多,則很難為演算法的生成做出貢獻。

2.AIOps系統搭建案例

AIOps的搭建同樣離不開好的團隊,下圖來自於《企業級AIOps實施建議》白皮書中AIOps團隊的構建建議。在AIOps的搭建過程中,只有將演算法與開發團隊,運維團隊形成良好的互動交流,才能更為高效的完成項目的搭建與開發。阿里巴巴GOC團隊正是這樣一個優秀的運維團隊,並已積累了多個項目開發經驗。下面將分享一些GOC團隊利用AIOps解決實戰問題的案例。

(1) 阿里巴巴集團全球運行指揮中心

為了能更好管理運維業務中的故障,GOC團隊希望搭建一個可以覆蓋每一個故障全部生命周期(從開始的故障發現,故障通告,到解決故障中的處理決策,再到故障解決後的復盤及演練等一系列)的指揮中心,系統的開發參照GOC團隊內部專業完備的流程化系統進行,並將由GOC團隊成員及阿里巴巴的工程師們共同完成。但是在一些關鍵的技術環節上,GOC團隊發現緊靠人力是無法做到的。鑒於此,團隊在系統的若干個關鍵點上又做了智能化的探索與突破,這些探索也取得了很大的成效。

上圖給出了GOC團隊已具備的技術及條件。基於對系統智能化的探索,GOC團隊發現其在很多運維層面已經具備了優勢條件。在運維場景層面,GOC團隊擁有很多可以應用演算法的場景,比如業務指標監控,故障定級/決策調度,故障相關信息流轉等。在演算法層面,GOC通過專業的演算法團隊研製出了智能基線,規則引擎及Chatbot等主要演算法。而演算法的背後,離不開海量數據的支持,GOC團隊通過與阿里巴巴其他團隊的業務合作得到海量的數據,將這些數據加以孵化來得到更多高質量的演算法。在團隊支持層面,GOC團隊擁有專業的演算法團隊,監控中心運維團隊,工程研發團隊等多團隊的支持。正是這些客觀主觀因素決定下,GOC團隊做到了很多優秀的實現案例。

(2)千錘百鍊的「智能基線」

阿里巴巴有很多業態,在GOC演算法分析團隊看來,這些業態的特徵比較分散且特徵的區別很大。GOC研究的智能基線演算法可以精確的發現在線業務指標的異常,且此過程中不需要任何人工配置的成本。演算法會自動通過歷史趨勢去學習數據曲線的客觀規律,並可以很好的應對不同行業產生的數據。為了更加優化演算法對數據的兼容性,智能基線演算法通過在線預測的功能(即演算法對往後一段時間的數據進行逐點預測),完成了對長期歷史規律與近期歷史規律較好的折衷。同時,GOC團隊吸收了運維同學值班時標註的經驗,讓人對不同業務的容忍程度這一十分難以琢磨的因素也能優雅的在演算法中體現出來。通過這些複雜的設計,演算法可以很好的適配數據曲線中的波動毛刺及隨業務產生的高低起伏。在阿里巴巴內部,智能基線演算法已產生了很好的效果。以本演算法為基礎,GOC團隊發現運維業務的故障發現準確率及故障召回率得到了成倍的提升,企業以此可以每周節省的流程操作時間達29個小時之多。概括來講,智能基線演算法有以下的特點。1精準性:演算法擁有精準全面的異常發現及觸發警報的能力2健壯性:演算法長期經受各種外部攻擊及爬蟲的內部壓測干擾的歷練,目前已具備了對干擾攻擊較好的抵抗能力。3高效性:演算法可以很好的支持秒級與分鐘級計算,無需任何人工監控配置。使用該演算法的人員無需隨業務變化對演算法進行調參,演算法可自己通過對規律的學習適應業務的變化。4普世性:演算法支持各個行業的業務數據,並可一鍵接入各類監控系統數據。而對於運維人員較常見的系統級指控指標(如CPU,網路的流量等),GOC團隊同樣也演化出了一種適用於系統級(應用級)指標的輕量級演算法異常檢測演算法。這種演算法的效果如下圖。

這種演算法可智能化的將海量數據中一些離群異常的且對運維人員較重要的數據自動檢測出來,而且此過程不需要任何的人工成本。同時由於體量較輕的緣由,演算法可被用於普世海量級別的系統工程當中。這也使得此類演算法擁有了精準,輕量,便捷的特點。

(3)不斷演進的根因分析能力

在運維問題被演算法發現後,往往要同時進行問題的恢復及分析工作。GOC團隊通過不斷的探究實驗,演進出一套較為先進的根因分析演算法。下面將對其中主要演算法進行介紹。

單指標多維下鑽分析

這種演算法適用於單一指標的監控。當業務指標出現總量異常時,單指標多維下鑽分析演算法往往可以在秒級的時間內準確地定位到出現異常的分量或分量組合。

多指標相關性分析

相信運維同學都曾有過「業務中的各個指標都是有關聯的」這種感受。當業務量龐大之後,僅靠人力無法維護大量這種數據之間的關係。多指標相關性演算法可以動態的發現並識別業務中相關的關係,在確定數據之間的關係後,演算法可以做如下圖中兩方面的分析。(1)當指標出現異常時,演算法會動態發現有相似下跌形態的相關指標,以此為異常原因定位提供重要線索。(2)演算法通過離線的分析,可發現業務報警之間的關聯規則。當單業務異常時,演算法將對其他關聯業務進行提前預警,幫助運維人員做好準備工作。

可疑應用/事件分析

對於阿里巴巴這種擁有近百萬的伺服器規模,數十萬應用程序分組的集團來說。出現問題時,則將會導致海量的事件。在阿里巴巴,每分鐘發生的運維配置變更達4500到8000次,當一個故障持續5分鐘時,則將產生上萬級別的事件,這個時候會很難區別可疑事件及可疑程序。

而GOC團隊研究的可疑應用/事件分析演算法很好的解決了這個問題。演算法利用類似類推和奇異值分解等方法,可在秒級單位內給出相應的可疑分析,並將最可疑的應用排列推送給運維人員。運維人員通過這種高效的分析方式,可將故障問題的代價減少。

AIOps智能監控產品體系

GOC團隊的目標是將上述智能化運維的種種能力最終孵化為雲上產品,並同合作夥伴一起共建一個AIOps的生態。團隊希望產品可以涵蓋故障處理的全生命周期,包括:監控展示,異常發現,報警發現,根因分析,信息流轉,故障恢復等。目前團隊已研究出其中一些關鍵技術及能力,並將在未來持續對AIOps智能化運維繫統進行不懈的研究。GOC團隊同時希望通過開發AIOps技術,讓企業及友合作夥伴共享AIOps的福利,在運維工作上減少成本的投入,提升工作的效率。

本文由雲棲志願小組郭思喬整理


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 IT168科技 的精彩文章:

匯威手機新品發布會邀請函:來自長城的邀約
走出架構誤區,架構師並不是想像的那麼容易

TAG:IT168科技 |