AIOPS案例學習-阿里巴巴構建通用智慧運維平臺
2017年線上技術分會——運維/DevOps線上技術峰會上,來自阿里基礎架構事業部大資料SRE團隊的池楓分享了構建通用化智慧運維體系的實踐。他主要介紹了智慧運維體系的設計以及通用核心套件,從T-flow操作執行、ICS事件連線、IAS智慧分析三個核心套件的實際案例出發詳細介紹了阿里的運維經驗。
以下內容根據直播視訊整理而成。
發展歷程
上圖的上方是大資料SRE團隊運維的產品,幾乎包括了所有阿里巴巴使用的大資料產品。下方是運維模式的發展歷程,經過了:人工指令碼化、工具整合、自動化平臺、智慧運維體系。承載這些服務的叢集規模、伺服器規模已經從一開始的K左右發展到如今的近百K左右,分佈在所有阿里巴巴的IDC即生產網路域中,業務的種類和業務的形態各不相同。特斯拉智慧運維體系下的主要核心運維場景包括環境管理、操作執行、需求處理、時間連線、事件分析、故障預測。各行各業都希望AI能夠在自己領域落地,而在運維領域AI有比較現實的需求和比較具體的應用場景。智慧運維必須在一個體系化的產品之上,強調的是從監控到分析、到執行整個過程的無人化甚至超人化,突出的是系統的自治能力和預知能力,這個目標比較長遠。
智慧運維體系設計
橫向上,將產品分為四種類型:執行類,直接作業系統,應用程式,硬體,網路的產品;分析類,實現運維人員思考問題,分析需求,排查故障的產品;連線類,實現分析與執行產品驅動與反饋的連繫產品;展現類,將智慧平臺的狀態以多種視覺化的方式表達出來。
從業務的縱向分層上,在特斯拉體系的內部又分成兩個層次:下層是運維Paas層服務,上層是面向終端客戶的Saas層服務。在特斯拉體系外部,依託於整個集團的運維Paas服務。
通用核心套件
T-flow操作執行
T-flow是最基礎的Paas服務,設計之初是用來替代運維人員的雙手。首先將運維操作抽象成一個物件,發現其三個關鍵的屬性(where、what、how),T-flow就是用來實現抽象、封裝、例項化的產品。
上圖總結了使用者在系統上操作的場景:在一個系統目標中按照順序執行操作、在不同系統目標中按照順序執行操作、在不同的系統目標中併發的執行操作。為此,設計了simple flow模型來適應這三種場景。
如何構建T-flow模板?使用者首先需要配置這些節點中操作的內容,然後配置模板需要輸入的引數(T-flow支援多種文字型別的輸入),將操作和引數內容進行配置繫結。希望使用者只需要關心區域性程式碼邏輯的實現,從全域性上面關注整個運維事件。
一次中等規模的應用運維事件往往會牽涉多個應用,任務種類、任務執行方式都不相同,所以在simple flow的基礎上又封裝了一層多工、多應用的操作類multiflow,上圖共有4種simple flow,每一個方塊代表在一個應用上的一個例項,開始執行之後就可以看到每個步驟執行的狀態。
UpgradeRegionServer案例
上圖是例項的執行介面,中間的綠色方塊代表節點,點選每個節點之後會在下方顯示節點具體的內容。這是生產上hbase叢集熱升級的案例。為了適應應用中的服務是熱升級的場景,開發了迭代器功能,實現一批伺服器上按照順序執行相同的指令,使用者只需要配置同樣的指令、輸入目標叢集引數,系統就可以自動生成節點。
shrek-drc-alipay案例
該案例的步驟只有三步,每個步驟中使用了併發器元件(在一批機器上併發執行指令碼命令),提供了灰度和正式批的區分,提供了併發數可配置的功能,並且異常節點可以很清楚的顯示在介面上。
併發器的具體內容如上圖所示,三個步驟都是推送檔案到目標伺服器上的操作。
FlightingUpdate案例
此案例是multiflow的例項,在第一個大步驟中有12個simple flow例項,可以清晰看到每個例項的執行狀態和執行方式。
ICS事件連線
事件包括監控事件、故障分析、流程事件,服務包括指令碼分析、T-flow例項執行、Noc通知等。通過ICS的使用,可以使簡單的運維事務實現閉環。比如在ICS上配置監控事件並且配置其修復方案就實現了故障自愈的場景。ICS能夠將我們關注的,而且是確定能夠通過自動化方案解決的事務形成一個簡單的智慧處理閉環,減少了人工處理過程中的消耗。
上圖是ICS的架構圖,整體分為三個部分:觸發器、事件處理、執行器。ICS的觸發器和執行器採用了外掛化的方式去實現業務連線。事件處理模組充分考慮了事件的抑制、衝突等機制,保證了整個ICS處理的穩定性、可靠性。
分散式檔案系統一副本高危自愈案例
首先是高危事件的配置,事件觸發的來源可以有很多種,監控、檔案分析等,採用了從監控的源頭獲取事件。當選擇了監控事件之後,需要配置監控來源的應用、事件的抑制處理方案、異常處理的邏輯。下一步是配置事件修復的執行器。最後,將觸發器和執行器進行連線,生效之後ICS平臺就會關注這個事件。如果有事件發生就會啟動執行器進行處理。
IAS智慧分析
IAS預期目標包括:實現問題分析、發現潛在問題、進行決策分析。
IAS1.0(圖分析平臺)
該版本實現了問題排查的自動化,通過DAG決策來模擬人排查定位問題的過程。在此基礎上,還要根據使用者的實際需求情況完善整個流程。圖中的每一個節點代表使用者的分析邏輯,由使用者來實現,邊代表各個節點之間的依賴關係,邊上的條件可以通過使用者需求進行配置。
上圖是使用IAS的案例,介面為IAS模板的配置介面。首先需要建立流程模板,最中間是核心的分析流程,包含了兩類節點,藍色為分析節點,黃色為結論節點。左邊是整個流程定義的全域性變數,每個節點都可以去修改全域性變數的內容。當我們點選任何一個分析節點之後,就可以在右邊的詳情面板上展示出其內容。
展望及發展計劃
特斯拉體系中除了運維Paas元件之外,還有面向客戶的Saas服務,這些服務對運營效率的提高也是巨大的。運維工作需要沉澱,即對運維過程的格式化,只有格式化之後才能產生資料。只有格式化的資料才能作為資料分析、挖掘的依賴。通過tesla運維體系的建設使得運維更加主動,使運維有時間去做更深層次的、更高價值的工作。運維智慧化的大潮剛好是改變運維價值的很好機會,將運維從低價值的工作中解脫出來,起到更重要的作用。
要是你在西安,感興趣一起學習AIOPS,歡迎加入QQ群 860794445