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