宜信正式開源其AIOps落地三大利器
宜信技術(shù)研發(fā)中心在CNUTCon全球運(yùn)維技術(shù)大會(huì)上宣布正式開源支撐AIOps 的三大利器:UAVStack, Wormhole, DBus.
不斷開放開源技術(shù),推動(dòng)技術(shù)共同成長(zhǎng)是宜信技術(shù)生態(tài)的目標(biāo)之一。包括正式開源的UAVStack,Wormhole,DBus等在內(nèi),已經(jīng)開放七個(gè)系列的軟件技術(shù)。
宜信開源軟件系列
UAVStack是智能化服務(wù)技術(shù)棧,是研發(fā)運(yùn)維一體化的解決方案,開源系列包括全維監(jiān)控(UAV.Monitor),應(yīng)用性能管理(UAV.APM),服務(wù)治理(UAV.ServiceGovern),微服務(wù)計(jì)算(UAV.MSCP)。其中,UAV.Monitor+APM為智能運(yùn)維采集全維監(jiān)控?cái)?shù)據(jù),是一站式的全維監(jiān)控+應(yīng)用運(yùn)維解決方案。
DBus專注于數(shù)據(jù)的收集及實(shí)時(shí)數(shù)據(jù)流計(jì)算,通過(guò)簡(jiǎn)單靈活的配置,以無(wú)侵入的方式對(duì)源端數(shù)據(jù)進(jìn)行采集,經(jīng)過(guò)轉(zhuǎn)換處理后成為統(tǒng)一JSON的數(shù)據(jù)格式(UMS),提供給不同數(shù)據(jù)使用方訂閱和消費(fèi)。
此外,DBus還提供以下特性:
1. 多種數(shù)據(jù)源支持,海量數(shù)據(jù)實(shí)時(shí)傳輸
2. 初始加載和獨(dú)立加載
3. 統(tǒng)一標(biāo)準(zhǔn)化消息傳輸協(xié)議,可靠多路消息訂閱分發(fā)
4. 支持分表數(shù)據(jù)匯集
DBus技術(shù)架構(gòu)
Wormhole是一個(gè)SPAAS(Stream Processing as a Service)平臺(tái)解決方案,面向大數(shù)據(jù)項(xiàng)目的開發(fā),運(yùn)維以及管理人員,致力于簡(jiǎn)化和統(tǒng)一開發(fā)管理流程。運(yùn)維是典型的大數(shù)據(jù)應(yīng)用領(lǐng)域,是機(jī)器學(xué)習(xí)的有力支撐,尤其是針對(duì)流式實(shí)時(shí)和流式準(zhǔn)實(shí)時(shí)數(shù)據(jù)處理場(chǎng)景。
Wormhole技術(shù)架構(gòu)
智能運(yùn)維的自研之路
Gartner定義了基于算法的運(yùn)維(ITOA),算法即運(yùn)維,將算法運(yùn)用運(yùn)維領(lǐng)域。實(shí)際上我們?cè)谧詣?dòng)化運(yùn)維體系中已經(jīng)將算法落地到DevOps工具鏈中,日益興盛的人工智能技術(shù),讓我們意識(shí)到賦予系統(tǒng)“智能化”是大趨勢(shì)。我們對(duì)AIOps的解讀是:AIOps正是將人工智能技術(shù)應(yīng)用到IT運(yùn)維領(lǐng)域,幫助變革運(yùn)維模式,提升效率和創(chuàng)造現(xiàn)實(shí)價(jià)值的“工程化”過(guò)程,也是DevOps的進(jìn)化方向。它會(huì)成為
1. 運(yùn)維管理的成員:協(xié)調(diào)人與系統(tǒng),不是被動(dòng)的工具,而是直接參與運(yùn)維的“助手”
2. 業(yè)務(wù)運(yùn)營(yíng)支持的成員:協(xié)調(diào)人與業(yè)務(wù),參與運(yùn)營(yíng)的“助手”
3. 業(yè)務(wù)與系統(tǒng)的“全知”者:協(xié)調(diào)業(yè)務(wù)與系統(tǒng),管理系統(tǒng),支撐業(yè)務(wù)
落地方案
宜信的AIOps平臺(tái)是以任務(wù)機(jī)器人為中心,利用大數(shù)據(jù)平臺(tái)實(shí)現(xiàn)機(jī)器學(xué)習(xí)和統(tǒng)計(jì)模型的處理,與DevOps工具鏈深度集成??蓮膸讉€(gè)層面來(lái)解讀這個(gè)架構(gòu):
DevOps工具鏈為任務(wù)機(jī)器人HIT的知識(shí)圖譜構(gòu)建提供了高質(zhì)量的原始數(shù)據(jù)
任務(wù)機(jī)器人HIT的核心能力來(lái)源于特定領(lǐng)域的知識(shí)圖譜和計(jì)算模型。目前我們的訓(xùn)練領(lǐng)域包括系統(tǒng)API模型,個(gè)性化交流上下文,服務(wù)拓?fù)洌瑘?zhí)行計(jì)劃,問(wèn)題診斷等。知識(shí)圖譜是實(shí)現(xiàn)認(rèn)知關(guān)聯(lián)的核心技術(shù),而如何自動(dòng)化構(gòu)建知識(shí)圖譜是關(guān)鍵的關(guān)鍵,成熟的DevOps工具鏈可以為自動(dòng)化構(gòu)建知識(shí)圖譜提供高質(zhì)量的原始數(shù)據(jù)。
全維監(jiān)控UAV為任務(wù)機(jī)器人HIT的模型訓(xùn)練提供了全面維度的原始數(shù)據(jù)
在智能運(yùn)維體系中,UAV采集的全維度監(jiān)控?cái)?shù)據(jù)是機(jī)器學(xué)習(xí)的原始數(shù)據(jù)來(lái)源。全維度監(jiān)控?cái)?shù)據(jù)覆蓋基礎(chǔ)設(shè)施性能,應(yīng)用/服務(wù)性能,日志,調(diào)用鏈,線程棧,客戶端體驗(yàn),業(yè)務(wù)指標(biāo),應(yīng)用畫像,服務(wù)圖譜。
數(shù)據(jù)總線DBus持續(xù)的,自適應(yīng)的將全維監(jiān)控?cái)?shù)據(jù)導(dǎo)入大數(shù)據(jù)存儲(chǔ)
全維度的監(jiān)控?cái)?shù)據(jù)還不能直接使用這些數(shù)據(jù)來(lái)做機(jī)器學(xué)習(xí)。其原因是由于它們的存儲(chǔ)和查詢需求是根據(jù)實(shí)時(shí)監(jiān)控領(lǐng)域的需要來(lái)定義的,因此它們有以下特點(diǎn):
1. 存儲(chǔ)在不同的存儲(chǔ)源。例如服務(wù)畫像數(shù)據(jù)存儲(chǔ)在MongoDB,應(yīng)用日志和調(diào)用鏈存儲(chǔ)在Elastic Search中,應(yīng)用性能指標(biāo)和基礎(chǔ)性能指標(biāo)數(shù)據(jù)存在RocketMQ中等;
2. 有不同的schema定義。例如BIN日志格式,JSON格式,Plain日志格式,性能指標(biāo)的schema與調(diào)用鏈的schema是不同的。
3. 不同的變更策略。例如服務(wù)畫像數(shù)據(jù)是根據(jù)應(yīng)用升級(jí)不定期變化的,日志數(shù)據(jù)也可能是這樣。
DBus正是解決這三個(gè)問(wèn)題的良方。
1. 能夠支持多種數(shù)據(jù)源,只需通過(guò)配置就可實(shí)現(xiàn)無(wú)侵入對(duì)接。
2. 能夠?qū)⒉煌母袷睫D(zhuǎn)換成標(biāo)準(zhǔn)格式(UMS格式)。
3. 有自動(dòng)適應(yīng)的能力,匹配這些類型和格式的變化。
大數(shù)據(jù)處理Wormhole針對(duì)目標(biāo)場(chǎng)景,基于全維監(jiān)控?cái)?shù)據(jù)進(jìn)行機(jī)器學(xué)習(xí)和統(tǒng)計(jì)模型處理
Wormhole是任務(wù)機(jī)器人的計(jì)算模型生產(chǎn)者。Wormhole基于Spark,既可接入Kafka在線實(shí)效數(shù)據(jù)進(jìn)行流式處理,也可接入HDFS離線歷史數(shù)據(jù)進(jìn)行批量處理。Wormhole不光支持落地多Sink,還支持流上處理,還可以在落HBase之前流上做一些數(shù)據(jù)清洗擴(kuò)展等操作。目前我們的任務(wù)機(jī)器人HIT的訓(xùn)練主題“問(wèn)題診斷”的計(jì)算模型都是由Wormhole來(lái)實(shí)施訓(xùn)練,實(shí)際生產(chǎn)過(guò)程中會(huì)使用機(jī)器學(xué)習(xí)和某些經(jīng)典統(tǒng)計(jì)模型,主要的有:
1. 時(shí)序數(shù)據(jù)的趨勢(shì)預(yù)測(cè)模型:可以根據(jù)過(guò)去若干天來(lái)預(yù)測(cè)未來(lái)一段時(shí)間某重要指標(biāo)的趨勢(shì)走向。
2. 指標(biāo)的關(guān)聯(lián)組合模型:識(shí)別出哪些指標(biāo)組合是判斷異常的充分條件。
3. 組合指標(biāo)的異常點(diǎn)識(shí)別模型:組合指標(biāo)在時(shí)序上異常點(diǎn)的自動(dòng)判別。
4. 問(wèn)題節(jié)點(diǎn)的根源分析模型:跨多節(jié)點(diǎn)的異常行為關(guān)聯(lián)性識(shí)別模型。
任務(wù)機(jī)器人HIT通過(guò)API模型實(shí)施執(zhí)行計(jì)劃
任務(wù)機(jī)器人與普通系統(tǒng)的另一個(gè)重要區(qū)別是:普通系統(tǒng)可以看成是通過(guò)編碼來(lái)“機(jī)械”的完成某種事,就系統(tǒng)本身而言,它并不理解“我在做什么”。而任務(wù)機(jī)器人是以目標(biāo)驅(qū)動(dòng)的,它根據(jù)API模型以及其他認(rèn)知模型(知識(shí)圖譜)來(lái)生成執(zhí)行計(jì)劃,并使用API模型來(lái)實(shí)施執(zhí)行計(jì)劃,執(zhí)行計(jì)劃的本質(zhì)是對(duì)DevOps系統(tǒng)API的調(diào)用。這樣的應(yīng)用場(chǎng)景是很多的,例如讓任務(wù)機(jī)器人去做系統(tǒng)上線,線上巡檢,協(xié)助問(wèn)題處理,甚至支持運(yùn)營(yíng)協(xié)作等。