AIOps落地實(shí)踐:運(yùn)維機(jī)器人之任務(wù)決策系統(tǒng)演進(jìn)
原創(chuàng)圖片來自包圖網(wǎng)
【51CTO.com原創(chuàng)稿件】應(yīng)對(duì) AIOps 自身挑戰(zhàn)的技術(shù)路線是從全維監(jiān)控到全維關(guān)聯(lián),最后到全維智能。任務(wù)機(jī)器人是 AIOps 系統(tǒng)的核心,基于它才能實(shí)現(xiàn)全維關(guān)聯(lián)和全維智能。
2018 年 5 月 18-19 日,由 51CTO 主辦的全球軟件與運(yùn)維技術(shù)峰會(huì)在北京召開。
在“容器下的 AIOps”分會(huì)場(chǎng),宜信研發(fā)總監(jiān)張真做了主題為《運(yùn)維機(jī)器人之任務(wù)決策系統(tǒng)演進(jìn)》的精彩演講。
演講過程中,作者分析了 AIOps 系統(tǒng)的目標(biāo)與挑戰(zhàn),對(duì)運(yùn)維機(jī)器人和任務(wù)決策系統(tǒng)進(jìn)行了闡述、對(duì)任務(wù)決策系統(tǒng)演進(jìn)做了深入的剖析。
AIOps 自身的目標(biāo)與挑戰(zhàn)
宜信是一家金融企業(yè),業(yè)務(wù)關(guān)聯(lián)復(fù)雜性非常高,如圖 1 是由宜信 UAVStack(全維監(jiān)控軟件)產(chǎn)出的狀態(tài)監(jiān)控圖。
圖 1:UAVStack 產(chǎn)出的狀態(tài)監(jiān)控圖
這張錯(cuò)綜復(fù)雜的狀態(tài)圖,描繪了宜信所處的生產(chǎn)環(huán)境中,應(yīng)用、數(shù)據(jù)庫、服務(wù)和緩存等多個(gè)關(guān)聯(lián)件之間的調(diào)用與關(guān)系。
面對(duì)這樣復(fù)雜的業(yè)務(wù)規(guī)模,尤其是微服務(wù)架構(gòu)上,即便是一個(gè)非常簡(jiǎn)單的微服務(wù),排除故障都不是易事。
這樣的狀態(tài)下,自動(dòng)化運(yùn)維不再是最佳選擇,AIOps 系統(tǒng)勢(shì)必成為必然。
AIOps 系統(tǒng)可以通過深度洞察能力為運(yùn)維提供持續(xù)、高質(zhì)量的效率運(yùn)轉(zhuǎn),相比自動(dòng)化運(yùn)維來說,不會(huì)再受限于人的生理極限和認(rèn)知局限。
在做 AIOps 系統(tǒng)之前,需要設(shè)立明確的目標(biāo),更重要的是需要應(yīng)對(duì)種種挑戰(zhàn)并分析透徹。
三大目標(biāo)
目標(biāo)一:時(shí)效類。自動(dòng)化運(yùn)維雖大幅度提高了我們的時(shí)效,但核心決策者仍然是人。
當(dāng)超越了人的生理極限,效率也將很難保證,但是 AIOps 系統(tǒng)則不存在上述問題。
目標(biāo)二:深度洞察。人的認(rèn)知有局限性,AIOps 系統(tǒng)則可以利用大數(shù)據(jù),洞察更多現(xiàn)存問題與未知的運(yùn)維模式。
目標(biāo)三:自主調(diào)優(yōu)。AIOps 系統(tǒng)可以自主保持系統(tǒng)最優(yōu)狀態(tài),自主生成達(dá)成目標(biāo)需要的執(zhí)行計(jì)劃。
六大挑戰(zhàn)
理想與現(xiàn)實(shí)究竟有多遠(yuǎn)?構(gòu)建 AIOps 系統(tǒng)的過程中需要面對(duì)的挑戰(zhàn)如下:
- 如何獲取高質(zhì)量,高時(shí)效的監(jiān)控?cái)?shù)據(jù)。傳統(tǒng)監(jiān)控體系中,想要獲得更多的數(shù)據(jù)就必然要建立各種系統(tǒng)。這些系統(tǒng)本身在時(shí)效和品控層面如何達(dá)成一致是個(gè)難題。
- 多維度數(shù)據(jù)如何實(shí)現(xiàn)高效關(guān)聯(lián)。僅有數(shù)據(jù)不能解決任何問題,需要把所有數(shù)據(jù)有機(jī)有效進(jìn)行關(guān)聯(lián)才可以。
- 如何實(shí)現(xiàn)運(yùn)維場(chǎng)景的實(shí)時(shí)感知。工程師之所以比傳統(tǒng)監(jiān)控和運(yùn)維系統(tǒng)靠譜,主要是因?yàn)檫\(yùn)維工程師了解非常多的現(xiàn)實(shí)認(rèn)知能力,如機(jī)房、網(wǎng)絡(luò)、虛機(jī)等相關(guān)詳情。
如果希望 AIOps 系統(tǒng)做的更好,就需要增強(qiáng)其運(yùn)維場(chǎng)景的感知能力。
- AI“工程化”的復(fù)雜性。實(shí)際過程中,把機(jī)器學(xué)習(xí)算法落地到實(shí)際場(chǎng)景的這個(gè)過程還有很多的路要走,相比實(shí)驗(yàn)室中的機(jī)器學(xué)習(xí)要難很多。
- 機(jī)器學(xué)習(xí)模型的訓(xùn)練困境。生產(chǎn)運(yùn)維中 SLA(Service-Level Agreement,服務(wù)等級(jí)協(xié)議)的矛盾和故障樣本太少,致使仿真模擬有局限。
- 遺留技術(shù)棧,混合架構(gòu)的復(fù)雜性。初創(chuàng)公司會(huì)有大量歷史的遺留技術(shù)棧與混合技術(shù)架構(gòu),遺留系統(tǒng)“業(yè)務(wù)需求”變更頻繁。那么,要如何使它們很好的融合到 AIOps 系統(tǒng)呢?
確定目標(biāo),明晰挑戰(zhàn)之后,宜信制定了適合自己的 AIOps 技術(shù)路線,如圖 2 所示。
圖 2:AIOps 的技術(shù)路線
AIOps 的技術(shù)路線分為三個(gè)步驟:全維監(jiān)控、全維關(guān)聯(lián)和全維智能。
全維監(jiān)控階段,需要將監(jiān)控體系進(jìn)行統(tǒng)一,盡量去獲取高質(zhì)量高時(shí)效的監(jiān)控?cái)?shù)據(jù),利用監(jiān)控軟件去提取不同運(yùn)維場(chǎng)景中的源數(shù)據(jù),同時(shí)去適應(yīng)和適配遺留技術(shù)棧和各種混合架構(gòu)。
全維關(guān)聯(lián)階段,需要將多維數(shù)據(jù)進(jìn)行高效關(guān)聯(lián),同時(shí)解決機(jī)器學(xué)習(xí)模型的訓(xùn)練困境問題。全維智能階段,需要花費(fèi)時(shí)間攻破 AI 工程化的復(fù)雜性。
運(yùn)維機(jī)器人是 AIOps 系統(tǒng)的核心
確定 AIOps 的技術(shù)路線后,宜信首先落地的是權(quán)威監(jiān)控平臺(tái)——“運(yùn)維機(jī)器人”。
運(yùn)維機(jī)器人,也叫 AI-Mission-Robot(任務(wù)機(jī)器人),如圖 3 所示:
圖 3:運(yùn)維機(jī)器人
任務(wù)機(jī)器人的設(shè)計(jì)理念是基于 CUI 形式交互,基于 API 形式執(zhí)行,結(jié)合微智能、人工智能等前沿技術(shù),使運(yùn)維機(jī)器人實(shí)現(xiàn)真正意義上的決策,并且最終很好的向運(yùn)維人員進(jìn)行反饋。
任務(wù)機(jī)器人之所以是 AIOps 系統(tǒng)的核心,在全維關(guān)聯(lián)和全維智能的作用很關(guān)鍵,如圖 4 所示:
圖 4:任務(wù)機(jī)器人是核心
任務(wù)機(jī)器人的作用是對(duì)接全維監(jiān)控平臺(tái)和大數(shù)據(jù)平臺(tái),同時(shí)也要面向 DevOps 工具鏈和業(yè)務(wù)系統(tǒng)。
在介紹了任務(wù)機(jī)器人的基本概況后,張真對(duì)任務(wù)機(jī)器人的任務(wù)決策系統(tǒng)及其職責(zé)進(jìn)行了淺析。
什么是任務(wù)決策系統(tǒng)
了解認(rèn)知和決策之間的關(guān)系,是理解任務(wù)決策系統(tǒng)的前提,如圖 5 所示:
圖 5:認(rèn)知和決策的關(guān)系
認(rèn)知智能的理解、解釋、規(guī)劃和推理四部分和決策息息相關(guān),映射到智能運(yùn)維場(chǎng)景中,對(duì)應(yīng)的便是如圖 5 所示的四點(diǎn),從中可以看出,任務(wù)決策的前提是增強(qiáng)現(xiàn)實(shí)感知。
圖 6:增強(qiáng)現(xiàn)實(shí)感知的過程
圖 6 是增強(qiáng)現(xiàn)實(shí)感知的過程。通過這種方式,實(shí)現(xiàn)對(duì)用戶場(chǎng)景的感知。在這個(gè)過程中,AI 提供了很多決策能力。
如利用機(jī)器學(xué)習(xí)技術(shù)進(jìn)行分類判斷和回歸檢測(cè)、知識(shí)圖譜的構(gòu)建和系統(tǒng)加深對(duì)事物的認(rèn)知、以及搜索技術(shù)實(shí)現(xiàn)模糊和精確的匹配等。
任務(wù)驅(qū)動(dòng)模式和自主驅(qū)動(dòng)模式是任務(wù)機(jī)器人的兩種驅(qū)動(dòng)模式:
任務(wù)驅(qū)動(dòng)模式是被動(dòng)任務(wù),當(dāng)收到發(fā)出的指令,理解指令的意圖后,任務(wù)決策的同時(shí)決策任務(wù)執(zhí)行方式,最后執(zhí)行任務(wù)并反饋結(jié)果。
自主驅(qū)動(dòng)模式是主動(dòng)接受來自施令者的期望,對(duì)意圖進(jìn)行理解之后,規(guī)劃任務(wù)實(shí)施方案去主動(dòng)執(zhí)行任務(wù),應(yīng)需反饋結(jié)果。
任務(wù)決策系統(tǒng)的六大職責(zé)
為了支撐任務(wù)驅(qū)動(dòng)模式和自主驅(qū)動(dòng)模式這兩種驅(qū)動(dòng)模式,任務(wù)決策系統(tǒng)需要具備六大職責(zé),如圖 7 所示:

圖 7:任務(wù)決策系統(tǒng)的六大職責(zé)
接下來,張真對(duì)每個(gè)職責(zé)的基本工作原理進(jìn)行了詳盡的解讀。
職責(zé)一:意圖理解
圖 8:意圖理解的工作原理
如圖 8 所示,意圖理解首先進(jìn)行自然語言理解,再把自然語言映射成機(jī)器人能夠理解的語素,再進(jìn)入意圖路由。
意圖路由的作用是理解人的指令,基本上可以分為四種:
- 人和機(jī)器人之間進(jìn)行多輪對(duì)話。
- 人給出直接性的指令(ChatOps 指令)。
- 判斷是否需要進(jìn)入指令理解的過程。指令理解就是把偏向于自然語言的語素翻譯成偏向于機(jī)器人理解的語素。
- 擴(kuò)展意圖,在這個(gè)過程中,需要使用圖計(jì)算技術(shù)。圖計(jì)算包含算法、整個(gè)圖的構(gòu)造和查詢過程三部分。
職責(zé)二:系統(tǒng)理解
圖 9:系統(tǒng)理解的工作原理
如圖 9 所示,系統(tǒng)理解首先是構(gòu)造知識(shí)圖譜,分為 API 語義和細(xì)粒度畫像兩部分。
之后再結(jié)合指令理解的結(jié)果,進(jìn)行一個(gè)圖計(jì)算的過程,帶來兩個(gè)效果:一個(gè)是可以幫助選擇要用的 API,另一個(gè)是做參數(shù)填充。
職責(zé)三:現(xiàn)實(shí)理解
圖 10:現(xiàn)實(shí)理解的工作原理
如圖 10 所示,現(xiàn)實(shí)理解也要先做知識(shí)圖譜,這就需要收集多維數(shù)據(jù),如基礎(chǔ)、關(guān)聯(lián)和業(yè)務(wù)畫像等。
之后通過圖計(jì)算的方式,解決 What 型和關(guān)聯(lián)型兩個(gè)需求。最后,在之前工作的基礎(chǔ)上,協(xié)助問題定位、根因分析和現(xiàn)實(shí)判斷。
職責(zé)四:異常檢測(cè)
圖 11:異常檢測(cè)的工作原理
異常檢測(cè)的工作原理如圖 11 所示,把全維指標(biāo)(也就是全維監(jiān)控階段拿到的數(shù)據(jù))轉(zhuǎn)換成指標(biāo)關(guān)聯(lián)模型,涉及高效計(jì)算和高精度計(jì)算這兩種模型。先由高效計(jì)算模型進(jìn)行計(jì)算,粗略得出來一個(gè)結(jié)論,再交給高精度模型實(shí)現(xiàn)。
職責(zé)五:?jiǎn)栴}分析
圖 12:?jiǎn)栴}分析的工作原理
如圖 12 所示是問題分析的工作原理,當(dāng)有異常檢測(cè)的結(jié)果或者異常特征圖譜(數(shù)學(xué)空間中的一套模型)輸入后加上現(xiàn)實(shí)理解,通過計(jì)算和圖 12 中所示的三大協(xié)助分析能力,最終得出一系列的關(guān)聯(lián)認(rèn)知需求、問題定位、關(guān)聯(lián)根因和影響評(píng)估。
職責(zé)六:執(zhí)行計(jì)劃
圖 13:執(zhí)行計(jì)劃的工作原理
如圖 13 所示,是執(zhí)行計(jì)劃的工作原理,主要分為預(yù)設(shè)計(jì)劃,現(xiàn)實(shí)理解和系統(tǒng)理解這三個(gè)層次。執(zhí)行計(jì)劃職能是對(duì)之前五個(gè)職能的理解與整合,是自主驅(qū)動(dòng)模式中最重要的點(diǎn)。
當(dāng)有了這樣的執(zhí)行計(jì)劃后,很多執(zhí)行計(jì)劃就可以相互嵌套,當(dāng)嵌套到一定復(fù)雜度時(shí),便可以形成一個(gè)非常復(fù)雜的工作過程,這個(gè)工作過程就是任務(wù)機(jī)器人慢慢趨近于人,逐步智能化的過程。
任務(wù)決策系統(tǒng)的具體演進(jìn)
緊接著,張真通過一些案例,剖析了任務(wù)決策系統(tǒng)的具體演進(jìn)。任務(wù)決策系統(tǒng)是 AIOps 平臺(tái)架構(gòu)中的一個(gè)版塊,如圖 14 所示:
圖 14:AIOps 平臺(tái)框架
AIOps 平臺(tái)框架底層是微服務(wù)計(jì)算平臺(tái),基于這個(gè)平臺(tái)之上,構(gòu)建全維監(jiān)控服務(wù)和任務(wù)機(jī)器人系統(tǒng)。
任務(wù)機(jī)器人系統(tǒng)包含 Interaction、Think 和 Handson 三大部分,任務(wù)決策服務(wù)是 Think 其中之一的版塊。
任務(wù)驅(qū)動(dòng)架構(gòu)的四次迭代
第一代任務(wù)驅(qū)動(dòng)架構(gòu),指令理解、參數(shù)填充是在代碼層進(jìn)行實(shí)現(xiàn),包括任務(wù)確定,全維監(jiān)控之間的關(guān)系,也是靠服務(wù)注冊(cè)發(fā)現(xiàn)來完成的。
第二代任務(wù)驅(qū)動(dòng)架構(gòu),不僅加入了自然語言和指令理解,初步引入知識(shí)圖譜,還實(shí)現(xiàn)了基于語意模板的方式進(jìn)行回復(fù)。
第三代任務(wù)驅(qū)動(dòng)架構(gòu),構(gòu)建了微智能知識(shí)圖譜的同時(shí),加入多輪對(duì)話的管理,已經(jīng)基本可以判斷清楚人的意圖,并且可以對(duì)整個(gè)報(bào)警進(jìn)行簡(jiǎn)單統(tǒng)計(jì)。
圖 15:第四代任務(wù)驅(qū)動(dòng)架構(gòu)
如圖 15 所示,第四代架構(gòu)豐富了很多功能,如多輪對(duì)話支持?jǐn)U展意圖的連接、知識(shí)圖譜本身管理服務(wù)、引入問題分析等。
自主驅(qū)動(dòng)架構(gòu)的兩次迭代
對(duì)比報(bào)警之后再進(jìn)行處理的任務(wù)驅(qū)動(dòng)模式,自主驅(qū)動(dòng)方式使得運(yùn)維從被動(dòng)變?yōu)橹鲃?dòng)。
自主驅(qū)動(dòng)就是宜信正在做的智能巡檢場(chǎng)景,這等同于運(yùn)維工程師對(duì)系統(tǒng)進(jìn)行常規(guī)巡檢的效果。
智能巡檢異常檢測(cè)、問題定位、根因分析、影響評(píng)估和自愈計(jì)劃是智能巡檢場(chǎng)景的五個(gè)步驟。實(shí)現(xiàn)智能巡檢,有兩個(gè)基本過程:記憶期望和主動(dòng)實(shí)施。
自主驅(qū)動(dòng)(第一代)過程一:記憶期望
圖 16:記憶期望
如圖 16 所示,首先任務(wù)機(jī)器人要記住我們的某個(gè)期望,在理解業(yè)務(wù)的前提下,高頻執(zhí)行。
判斷我們給的期望和其中的某個(gè)計(jì)劃相一致,并且把結(jié)果進(jìn)行存儲(chǔ),這個(gè)過程中存儲(chǔ)的是預(yù)設(shè)計(jì)劃結(jié)果,并不是真正的執(zhí)行計(jì)劃。當(dāng)真正執(zhí)行時(shí),就可以根據(jù)上下文生成一個(gè)具體的工作列表。
自主驅(qū)動(dòng)(第一代)過程二:主動(dòng)實(shí)施
圖 17:主動(dòng)實(shí)施
如圖 17 所示,當(dāng)機(jī)器人真正去執(zhí)行時(shí),遵循執(zhí)行計(jì)劃的工作原理,基于圖計(jì)算全自動(dòng)生成執(zhí)行計(jì)劃。
同時(shí)執(zhí)行計(jì)劃針對(duì)知識(shí)圖譜進(jìn)行調(diào)度 API 調(diào)用,進(jìn)而對(duì)現(xiàn)實(shí)進(jìn)行理解。通過模型計(jì)算對(duì)調(diào)度進(jìn)行異常檢測(cè),這一代以單指標(biāo)為主,不涉及問題分析。
自主驅(qū)動(dòng)(第二代)
圖 18:自主驅(qū)動(dòng)(第二代)架構(gòu)圖
如圖 18 所示,自主驅(qū)動(dòng)(第二代)增加問題分析結(jié)果的引導(dǎo),實(shí)現(xiàn)結(jié)果主動(dòng)反饋,實(shí)時(shí)向?qū)I(yè)人員請(qǐng)求借助。
指標(biāo)關(guān)聯(lián)模型的異常檢測(cè)方面,加入了問題定位和根因分析的過程,同時(shí)在預(yù)警服務(wù)部分引入了事件關(guān)聯(lián)。
任務(wù)決策系統(tǒng)的未來
任務(wù)決策系統(tǒng)的未來將針對(duì)以下方面進(jìn)一步攻克:
- 準(zhǔn)確率需要不斷的提高。
- 針對(duì)問題診斷結(jié)果進(jìn)行影響面的評(píng)估(系統(tǒng)/應(yīng)用/業(yè)務(wù)層面),從而決定自愈執(zhí)行的手段。
- 人機(jī)互助增強(qiáng),在系統(tǒng)尋求人的協(xié)助基礎(chǔ)上,實(shí)現(xiàn)雙向的協(xié)作支持。
- ChatOps 命令意圖理解全自動(dòng)化,也就是實(shí)現(xiàn)部署即理解。
- 引入一些半自動(dòng)化協(xié)助手段,幫助預(yù)設(shè)計(jì)劃建模,降低預(yù)設(shè)計(jì)劃建模復(fù)雜性。
- 目前還是針對(duì)特定場(chǎng)景的建模方式,通用性不足,高指標(biāo)關(guān)聯(lián)模型的通用性還有待提高。
最后,張真對(duì)本次演講行總結(jié):應(yīng)對(duì) AIOps 自身挑戰(zhàn)的技術(shù)路線是從全維監(jiān)控到全維關(guān)聯(lián),最后到全維智能。
任務(wù)機(jī)器人是 AIOps 系統(tǒng)的核心,基于它才能實(shí)現(xiàn)全維關(guān)聯(lián)和全維智能。任務(wù)決策是認(rèn)知智能與 AI 技術(shù)結(jié)合的體現(xiàn),包括六個(gè)基本職能:系統(tǒng)理解、現(xiàn)實(shí)理解、意圖理解、異常檢測(cè)、問題分析和執(zhí)行計(jì)劃。
任務(wù)機(jī)器人有任務(wù)和自主兩種驅(qū)動(dòng)模式,任務(wù)驅(qū)動(dòng)關(guān)鍵是根據(jù)人的意圖映射成系統(tǒng)可執(zhí)行的操作,自主驅(qū)動(dòng)關(guān)鍵是執(zhí)行計(jì)劃的生成,并且影響到執(zhí)行的效果。
張真,宜信研發(fā)總監(jiān)。負(fù)責(zé)金融基礎(chǔ)服務(wù),智能運(yùn)維,微服務(wù)計(jì)算,DevOps 平臺(tái),云計(jì)算等;開源軟件 UAVStack 創(chuàng)始人,多家公司應(yīng)用于測(cè)試/生產(chǎn)監(jiān)控運(yùn)維;曾就職于 IBM,參與應(yīng)用服務(wù)器,云計(jì)算,語音識(shí)別,機(jī)器翻譯等產(chǎn)品;擁有多個(gè)國(guó)際專利,開源社區(qū)活躍貢獻(xiàn)者。目前關(guān)注微服務(wù)+人工智能+容器等技術(shù)在智能運(yùn)維/運(yùn)營(yíng)解決方案的應(yīng)用。
【51CTO原創(chuàng)稿件,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文作者和出處為51CTO.com】