03.05 “AGI+運維”淺析(修訂版)

前段時間,本頭條號曾推出“AI+”系列文章,詳細討論了人工智能技術在各個領域的應用前景及優勢。但在AI長河三起兩落的洪流中,經常性的此AI非彼AI,而其中做通用人工智能的更加少之又少。

經過多年的完善,聯動北方自研的通用AI模型已較為成熟,該模型具有多模態、多切面、多通道、穩定性強等特點,基於此通用模型,聯動北方已經完成了包括智能運維、智能醫療、智能物聯以及知識圖譜在內的多個項目的落地。

故此,在原有文章的基礎之上,聯動北方推出修訂版的“AGI+”系列文章,以聯動北方通用AI模型為基礎,詳述通用人工智能AGI如何在各個領域發揮作用。

運維領域的現狀

曾在網絡上看過一個運維工程師吐槽的帖子,講的主要是運維工程師是怎樣看待運維工作的,下面是一些點贊數較多的答案——「運維是塊磚,哪裡需要哪裡搬。不出問題你打雜,出了問題你負責」、「先研發之憂而憂,後業務之樂而樂;起早與貪黑齊飛,調休共假期待定,這就是運維」、「運維就像一場永不休止的戰爭,時而硝煙瀰漫,時而安靜的可怕;一個人倒下了,後面的人補上來,沒有人能看到這場戰爭結束」、「機器是女朋友,隨叫隨到,虐我千百遍,還愛的死心塌地」。

“AGI+運維”淺析(修訂版)

從以上吐槽可以看出,運維並不是一份輕鬆的工作,大體可以歸納為——事多、事雜、休假少。確實,提起運維工程師,很多人都會把他們和“消防員”聯繫起來。任何時候,只要系統出現故障無法正常運轉,運維人員是第一個被詢問的,同時也必須第一時間趕到現場“救火”,由於故障發生的不定期性,下一個問題不知道什麼時候會出現,大多數運維人員必須24小時待命,以確保在故障發生後第一時間將其解決修復,其工作的艱苦程度可想而知。

時至今日,運維依舊不算一項輕鬆的工作,而導致這些“祖傳的”痛點大部分原因在於技術的發展未跟上企業規模的擴張,我們可以從運維的發展歷程窺知一二。

1、運維的定義

在介紹運維領域的現狀之前,我們先回顧一下運維的定義。

通常情況下我們所說的運維,指的就是對產品的運營和維護,普遍在硬件設備和網絡運行兩個方向中應用較多,其核心目標是將交付的業務軟件和硬件基礎設施高效合理的整合,轉換為可持續提供高質量服務的產品,同時最大限度降低服務運行的成本,保障服務運行的安全。

2、運維的發展歷程

運維發展到現在,大致經歷了三個階段,分別是人工運維——自動化運維——智能運維。

“AGI+運維”淺析(修訂版)

圖:運維的發展歷程

人工運維階段,人均所需要維護的設備量較少,主要靠純手工來完成日常的運維工作;到了自動化運維階段,平均每人所需要維護的設備數量以及工作複雜度大大增加,工程師們開始編寫一些自動化腳本來簡化大量重複的工作,一些監控產品和管理工具也應需被開發出來,最終集成在一個平臺上,大大提高了運維工作的效率;而到了數據大爆炸的今天,現有的自動化管理平臺處理起來也捉襟見肘,人們的目光開始轉向更強大的基於人工智能的運維。

3、傳統企業和互聯網企業對智能運維的發展需求

運維是各行各業都需要解決的一個問題,但是面對運維的態度,傳統行業和互聯網企業差別卻很大。

在技術運維領域,有兩個比較明顯的現象:

首先,過去從事專業技術運維工作的人員大多定位為管理(Administrator),他們對各類產品的技術原理、命令操作、問題診斷、性能調優等都有相當深入的理解和掌握,其中不少骨幹還通過了業界比較有影響力的專業認證。但是他們在開發技能方面好像比較欠缺,有些甚至對完成腳本編寫這樣任務都感到困難。

其次,傳統企業和互聯網企業在IT管理體系建設方面的做法也有明顯差異。傳統企業大都優先強調管理流程的建設,運維自動化建設工作則在其次,很多時候優先級還比不上測試自動化建設;而互聯網企業呢,大都優先推進技術運維自動化建設,而後再逐步考慮管理流程體系的建設。

對於上述兩個現象現象的產生,除了有企業文化和管理理念方面的差異之外,還有技術環境的差異以及IT規模和運維人員規模的差異。

“AGI+運維”淺析(修訂版)

圖:傳統企業與互聯網企業的區別

由此可看出,雖然智能運維的優點很多,但傳統企業與互聯網企業來說對於智能運維的需求程度差別很大。


人工智能在運維領域的應用

1、構成智能運維的三要素

人工智能要在運維領域發揮作用,應具備以下三個要素。

“AGI+運維”淺析(修訂版)

圖:智能運維的三要素

(1)數據採集與處理

數據的採集與處理是智能運維繫統的核心,也是智能運維繫統的基礎設施。

採集對象:主要有三類,基礎架構Server端的採集,主要是採集來自數據中心內的動力設備、IT硬件設備、日誌、網絡信息、容器、虛擬機等的信息;用戶端的採集:從CDN、WEB、移動端,還有PC客戶端產品的採集;應用端(軟件層/服務層)的採集:Web服務器+App服務器的+文件服務器+負載均衡設備的。只有對以上三類對象進行了完整的採集,智能運維繫統才是完整的、報警才是沒有遺漏的。

採集數據:針對服務端主要是採集性能指標數據:服務器的CPU、內存,磁盤空間、網絡消耗、日誌等;針對用戶端主要採集的是業務數據:流量、錯誤率、用戶訪問情況、操作信息、個性化操作記錄等;還有一類是容易遺漏的,就是運維本身事件的信息:配置文件和服務器擴(縮)容操作。

數據處理:一般會把原始採集的各類信息轉變為時間序列的數據或結構化的數據,便於運維人員進行分析、判斷與處理。智能運維繫統一般通過三種方式:即物理集群、業務維度和跨單一維度來做聚合計算,如要計算某一網站的點擊率,點擊率=點擊量/展示量,採用跨單一維度計算就很方便。從而為管理人員提供運營分析、使用效果的估算。

運維工程師應多運用智能運維繫統,不僅僅把它要當作是採集數據和報警的工具,還應當提高運維部署和運維的效率;讓智能運維繫統提供分析問題、解決問題的方法。

(2)異常自動檢測與處理

傳統監控系統對異常的檢測手段主要有兩種:一是通過設定恆定閾值,比如服務器的CPU使用率=10%就報警;二是同環比,比如PV環比下降>10%就報警,或是產品響應時間同比上漲>20%就報警。

傳統監控方式的優點是簡單、易懂;缺點是需要大量的工程師人力投入,監控配置工作量大、維護成本高,變更發佈頻繁。很多情況下傳統監控方式對閾值的敏感度不夠高,解決不了特定的問題。比如:在面對波峰突降與波谷突增、緩慢偏離閾值的設定;不斷漂移的閾值範圍,傳統監控一般不易捕捉到這類變化的狀態信息。

“AGI+運維”淺析(修訂版)

圖:異常自動檢測模塊

智能運維繫統內置的異常自動檢測模塊可以提前對報警的數據進行分類,它採用了一種可判斷數據是否具有周期性趨勢的分類器來解決數據的週期性問題。如果數據具有很強的週期性特徵,它就使用動態閾值設定法即採用動態時間窗口的閾值設定法來解決週期性數據的異常判斷;如果數據分析後沒有周期性特徵,那麼它就使用恆定閾值了。

全自動的異常檢測系統難免會出現誤報、漏報等情況,這就要求異常檢測模塊支持運維工程師的標註與反饋,可同時支持人為調整和系統自動參數學習(機器學習)調整,系統可自動根據工程師的標註或報警量的多少,進行參數訓練,把異常檢測參數調整到合理的範圍。

異常處理的辦法一般有三個:

時間序列數據分析。時間序列分析著重研究數據序列的互相依賴關係,實際上它是對離散指標的隨機過程的統計分析。例如,記錄了某地區第一個月,第二個月,……,第N個月的降雨量,利用時間序列分析方法,可以對未來各月的雨量進行預報;

局部迴歸方法。該方法主要適用於沒有歷史數據的情境,採用此方法能很快速地適應變化,找到突升突降的狀態變化;

緩慢偏離的情形。將採集數據的頻率延長,然後對比之前的數據,從中找出變化較大的值。

(3)數據可視化

運維的本質是數據可視化,數據可視化是輔助問題分析的良方。運維數據的可視化可以讓用戶快速看到想要的信息、輔助快速分析問題、解決問題,可以說是,運維的本質就是數據的可視化。

要做數據的可視化,首先需要建立數據的關聯:產品服務層級的關聯關係、服務模塊之間的關聯關係、運維事件與指標數據關聯關係;其次需要建立指標數據與事件之間的關聯:同模塊數據,部署同機房不同模塊的數據,同指標維度的數據;同瀏覽器的數據;同版本號的數據,一切皆有關聯。最後,對“數據立方體”操作切面:先選作一維數據做展示,再對二維以上的數據分析和數據可視化;然後對數據做上卷(向上聚合)和下鑽(更細的粒度)處理;最後通過旋轉,把維度切換出來。

數據可視化可以由熱力圖、事件流圖、服務視圖等多種方式實現,在具體應用中可以按照需求選擇最優的顯示方式。

2、完整的智能運維平臺的功能結構

一個完整的智能化運維平臺,要完成對設備的日常維護,至少需要具備以下三方面的功能,分別是事前預警、事中恢復和事後分析。

(1)事前預警

“AGI+運維”淺析(修訂版)

智能化運維平臺能夠對應用及應用依賴的應用服務器、數據庫、虛擬化環境、主機及網絡等設施進行監控及故障預測,在這些監控資源發生故障之前,運維人員應該能在任意時間、任意地點接收到預警信息,同時智能運維平臺也應提前對可能出現的風險做出智能化處理,在無人工干預或最少人工干預下把故障扼殺在搖籃中。

(2)事中恢復

“AGI+運維”淺析(修訂版)

事中恢復,一個智能化運維平臺很難覆蓋全部監控資源,也很難覆蓋全部可能出現的風險,所以故障發生後,智能化運維平臺應該能夠幫助運維人員快速定位問題,確保在最短的時間內幫助運維人員恢復業務,減少故障所帶來的負面影響,這就是智能化運維平臺所應具有的事中恢復功能。

(3)事後分析

“AGI+運維”淺析(修訂版)

事後分析,智能化運維平臺能夠記錄故障發生時,故障資源及其相關聯資源狀態信息,並利用這些信息進行分析、決策,然後將決策結果錄入到決策系統當中,為事前預警提供決策支持,避免故障的二次發生。


AGI+運維

AGI對於運維的意義可以概括為兩點,一是成本,二是效率。成本方面,AIOps可以節約成本、提高資源利用率;效率方面,AIOps可以做到及時發現問題,快速定位問題,從而提高解決問題的速度。

AGI的另一大優勢是基於理解,不同於傳統平臺單純地通過機器學習總結規律再加以應用的模式,聯動北方以自有通用AI模型為基礎,引入知識圖譜等技術,打造了基於理解的智能運維平臺。

當前,聯動北方已採集數百個軟硬件產生的錯誤信息,為IT運維信息提供基礎字典,已構建完成領域性知識基準庫。實際應用中,可為用戶提供重要的產品信息以及相關的行動建議,協助一線運維工程師分析、解決問題或採取相應的應急措施。

“AGI+運維”淺析(修訂版)

下面以聯動北方AIOps為例子,簡單介紹AGI給運維平臺帶來的優化。

“AGI+運維”淺析(修訂版)

聯動AIOps平臺可以清晰且多樣化地展示監控的數據,包括配置、作業以及告警等。用戶登陸後,能在門戶首頁直觀地看到系統的運行情況,方便工程師進行實時監控和異常發現。此外,不同崗位的用戶還可以根據自己的需求選擇不同的數據展現形式,滿足多樣化的需求。

此外,為應對日常運維工作,聯動AIOps平臺集成了包括配置管理、監控管理以及作業管理等多項功能,在此基礎上,結合了大數據和知識圖譜等新興技術,開發智能運維等模塊,將智能賦予運維,讓AI真正融於運維工作當中。

1、配置管理

“AGI+運維”淺析(修訂版)

配置管理(CMDB),也稱資源管理模塊,默認是預置的資源模型和拓撲關聯關係,而智能資源模型可根據業務需求動態調整,如新增模型、新增模型屬性、關聯關係等。

對比固定的運維模型,智能運維繫統的配置管理首要一個特點就是能靈活擴展,可自定義的運維模型。在運維操作中,存在多個運維對象,每一個運維對象之間又存在複雜的關聯關係,AIOps配置管理系統能很好地處理這些模塊間的關係,據用戶需求來靈活拓展、建立與配置運維對象之間的關係的能力,以便更方便地去管理這些運維對象。

2、監控管理

“AGI+運維”淺析(修訂版)

監控管理模塊在整個運維繫統當中擔任著哨兵的角色,需要針對各個層面的監控覆蓋,包括用戶體驗的監控、應用性能的監控、中間件監控、基礎設施的監控,因為只有收集了全面的數據,才有可能從數據中尋找關聯,從關聯中發現規律,豐富運維知識庫。此外,還應能根據異常規則判斷異常情況並作出警報,一邊及時處理故障。此外,除了一些常用的告警規則以外,聯動AIOps平臺還應能夠自行添加所需的告警規則並通過大數據共享,全方位提升運維的價值。

3、作業平臺

“AGI+運維”淺析(修訂版)

作業是一系列運維操作的抽象定義,任何一個運維操作都可以分解成一步一步的操作步驟和操作對象,不論是發佈變更還是告警處理,都是可以分步驟的。作業平臺能夠清晰地看到每個作業的執行請款,解放大量勞動力。此外,在作業執行異常的情況下,還可以為異常的原因打上標籤,打標籤可以根據錯誤輸出關鍵字匹配自動分類或者人工歸類,然後統計各種異常情況的比例,再重點分析並處理異常比例高的情況。從而進一步提高作業的正確率。

4、系統管理

“AGI+運維”淺析(修訂版)

一個好的運維平臺除了功能完備,還因該具有良好的操作性和可拓展性,可以多人協同操作。但是人多力量大的同時也可能出現權限混亂的請款,為防止此情況的發生,聯動AIOps能監控用戶的操作,適當開放用戶的權限,以確保運維工作有序、正常地進行。

5、智能運維

除了內置基礎運維功能,聯動北方結合了知識圖譜及大數據等技術,打造了基於理解的智能運維功能,包括智能自愈與智能診斷。某種意義上來說,這也是智能運維的精髓與靈魂所在。

智能自愈功能,其原理主要是通過主動預防故障產生從根本上減少故障、提高運維的效率。其主要流程為:對日誌和數據中的關鍵字實時生成告警,反饋業務狀態,實現應用層面的智能預警——根據預設閥值和歷史數據,進行數據分析,發現異常情況,自動觸發自愈動作——發起運維操作,進行任務編排,以消除告警,降低系統故障風險。

“AGI+運維”淺析(修訂版)

智能診斷功能的主要作用則是為運維工作提供一個關聯性強、靈活度高以及功能全面的系統診斷,從應用的整體、運維對象出發,分析其內在的關聯,找到問題的源頭並針對性解決,避免南轅北轍的情況發生。通過可視化的建模操作界面,用戶可以動態地創建、修改和刪除各節點之間的關係,從而搭建不同的關係網。

“AGI+運維”淺析(修訂版)

此外,通過多方面的數據採集與分析,在分析過程中也能不斷進行自身調整,讓結果更加準確全面。


小結

隨著企業信息化技術完善,日益增長的運維人力成本、運維標準的管理訴求、運維服務效率低下等現該階段運維的通病逐漸暴露,人工智能運維未來取代傳統運維是必然趨勢。

在技術不斷革新的背景下,運維人員的工作內容也會不斷髮生改變。人工智能到來之前,運維人員從事的工作是上線人肉操作,但是智能運維到來之後,運維人員可以更多地投入到有價值和創造性的工作中,比如智能運維引擎的研發,比如架構設計、開發以及新技術的評估和引入以更好地支持企業的業務創新等等,以此來幫助企業取得更好的發展。人工智運維不是取代,而是運維工作的升級,畢竟強大的不是人工智能,而是開發這些人工智能的人。


分享到:


相關文章: