讓運維智能高效,輕松搞定運維管理平臺
?什么是任務運維中心
先從一段不太正經的推理開始:
根據某百科的官方解釋,運維主要目的是確保網站、軟件服務的安全和穩定運行。
那么“任務運維”就是確保任務的安全、穩定運行。
那么”任務運維中心“就是輔助任務運維人員進行離線任務管理和實例運維的工作,幫助運維人員提高運維效率,及時發現問題并提供診斷建議,確保任務的安全、穩定運行。
2.任務運維中心能干什么
2.1 發送報警
什么時候會需要運維人員出馬?
- 任務出錯的時候
- 任務運行變慢的時候
- 任務應該運行卻沒有運行的時候……
但是運維人員又不能一天到晚盯著任務看,所以任務運維中心就提供“報警”功能,在出現異常的時候,及時的把告警信息發送給運維人員,喊他們來處理異常。
2.1.1 值班組
與報警功能相關的第一個問題,就是報警發送給誰?
任務運維中心支持設置值班組,創建值班組后,可以添加值班人員,并設置值班規則,指定主值班人與備值班人以及連續值班天數和值班時間。
2.1.2 基線運維
與報警功能相關的第二個問題,就是什么時候發送報警?
- 任務出錯的時候
- 任務運行變慢的時候
- 任務應該運行卻沒有運行的時候
針對第二個問題,我們提出“基線運維”模塊,先來介紹一下基線是什么,以及與之密切關聯的“關鍵路徑”又是什么。
基線:即時間線,在基線運維場景中,通過設定幾條時間線(即基線),并將線上任務關聯到這些時間線上,當這些任務的實例或上游實例運行失敗,或者這些實例的預計產出時間超過對應的時間線時,系統會觸發報警通知給值班人員。
預警時間:如果系統計算出基線上最晚產出實例的完成時間超過預警時間時,會觸發基線報警。
破線時間:指基線任務中所有實例都必須在該時刻前運行成功,是掛載在該基線上的任務的實例產出時間的承諾時間。建議預警時間設置比破線時間早半小時,相當于留給運維人員一個處理的時間,破線時間相當于是底線。
關鍵路徑:關于關鍵路徑,可以用下圖來說明。此例子中,基線根據數倉分層進行設置,任務A-E分別是掛載在2點基線上的任務。
所以我們可以看到,基線的作用其實就是批量監督任務,把一批任務掛在一根基線上,那么基線就會不斷去計算基線上這些任務的預計完成時間,一旦計算到預計完成時間超過預期的時間,就會向值班人員發出基線報警。
值班人員在收到報警信息后,就要去排查到底是哪個任務延遲了,這時候就需要查看關鍵路徑,向上溯源,最終精準找出問題的源頭。
任務運維中心支持基線運維,通過權限授權,運維人員可以在運維配置中創建與管理基線。將相關任務與基線關聯后,在基線運維模塊,就可以查看任務的執行時間情況,例如下圖中就是“數倉3點基線”上掛載任務的相關實例運行情況。不同顏色表示實例不同狀態,運維人員可以直觀高效地查看任務執行情況,并對異常實例進行相關操作。
2.2 定位問題
現在我們已經收到了報警,并且知道是哪個任務出了問題,那么接下來就要想辦法知道任務究竟出了什么問題,是因為代碼錯誤,還是資源不足,還是DQC異常,抑或是平臺bug呢。
2.2.1 智能診斷
為了能夠幫助運維人員快速定位問題,我們推出了“智能診斷”功能。如果你想快速體驗這一功能,可以前往周期實例列表,選擇狀態為失敗的實例,就能看到一個放大鏡的圖標,點擊即可進入智能診斷頁面。
智能診斷的詳情頁面展示異常節點,以及異常處理建議。例如下圖,就是針對數據同步節點運行失敗所提供的診斷結果與處理建議。
2.3 解決方案
2.3.1 重跑
當我們發現任務出了問題,并且定位到了失敗原因,通過修改代碼、重新發布上線后,還需要將原先運行失敗的問題進行重跑操作。如果實例狀態是失敗、終止,則支持實例重跑/批量重跑。
重跑的操作步驟包括:
選擇需要重跑的節點,系統支持自動勾選失敗、終止及撤銷節點;
進行重跑設置,包括通知設置、運行設置等,支持重跑成功或失敗時消息通知用戶
重跑完成后,周期實例列表會更新實例ID,并支持查看重跑記錄。
2.3.2 補數據
補數據的場景主要有:
當任務新建后希望對歷史數據進行加工,可通過補數據功能選擇歷史某個時間段來執行任務;
當任務某個時間段內數據有問題或者任務異常,可通過補數據對歷史異常的數據或任務進行重新生成實例并執行,達到修復歷史數據的目的。
補數據的步驟包括:
選擇源頭任務需要補數據的節點
選擇下游任務需要補數據的節點
進行補數據運行設置
這里用gl_ods_user_info任務為例,這個任務首次執行時間是2022年7月份的某一天,我想要補這個任務以及他的下游任務2022年6月份的數據,我就可以使用補數據功能。
第一步:選擇源頭任務要補數據的節點
第二步:選擇下游任務要補數據的節點,這里任務有點多,我可以根據實際需要來勾選要補數據的任務節點
第三步:配置補數據設置,我可以設置要補數據的時間范圍,計劃執行時間、執行隊列等參數
第四步:前往補數據任務運維列表,查看補數據實例執行情況
3.總結
下圖是從用戶日常運維視角來看的產品閉環圖。任務運維中心的本質就是為用戶打造從發現問題、定位問題再到解決問題的完整、高效的運維鏈路。尤其是現在企業用戶數據爆發增長,數據任務往往具有任務量龐大、調度類型復雜、業務影響范圍廣等特點,任務運維人員往往肩負巨大壓力,一個智能高效的運維平臺能夠幫助運維人員提高工作效率、最大化減少因故障處理不及時而產生的損失,保障數據任務健康運行。
通過提供強大的基線運維、靈活的告警規則配置、自動化的任務管理和監視等功能,致力于打造一個運維人員輕松從容、運維工作高效敏捷的智能化運維工具。?