百鍊成鋼 —— 聲網實時網路的自動運維丨Dev for Dev 專欄
本文為「Dev for Dev 專欄」系列內容,作者為聲網大資料演算法工程師黃南薰。
01 自動運維介紹
2016 年,Gartner 創新性地提出了 AIOps 的概念<sup>[1]</sup>,開創了人工智慧輔助運維決策的新篇章。
AIOps 的全稱為 Artificial Intelligence for IT Operations,即為 IT 運維服務的人工智慧。傳統的運維方式往往依賴數個具備專業知識的運維人員對某個特定場景下的服務進行監控與決策。隨著公司體量的成長,業務場景及數量指數型增長,傳統運維將面臨著決策時間長、決策難度大、人力成本高等問題,一旦出現重大決策失誤,就可能造成巨大的商業損失。然而,海量的資料正好是機器學習的擅長領域。
一套成熟的機器學習演算法能夠從運維操作中積累判斷經驗,不眠不休地持續對資料進行監控和分析,為運維決策提供有價值的資訊。
02 SD-RTN™ 場景下的自動運維
1、場景介紹
SD-RTN™,全稱為 Software Defined Real-time Network,是聲網專為雙向實時音視訊互動而設計的軟體定義實時網。
它實現的核心是由遍佈全球的機房搭建起的音視訊傳輸網路,每個機房在資訊傳遞的過程中都承擔著傳送和接受的工作。所有經過這些機房的音視訊質量會通過一定的方式進行指標採集和上報,用於實時質量監控。而一旦這些指標反映出經過某個機房的通話出現了不可接受的問題,則需要對機房進行對應的運維操作,以保障使用者的優質音視訊體驗。
傳統的運維方法使用絕對水位或邏輯條件的方式進行機房質量監控,這種監控雖然能夠識別一些質量異常,但存在著漏警誤警嚴重、維度單一等問題,針對靠近閾值的報警缺少辨別能力,對於非常規質量異常的傳輸質量指標曲線也缺乏識別能力。
在業務、演算法、資料、運維各團隊的協力合作下,聲網打造了一套專屬的 SD-RTN™ AIOps 框架,以機器學習的方式逐步替代了人工運維,打造了迅捷和可靠的自動化運維流程。
2、全鏈路展示
AIOps 現流程如圖所示。大規模的機房資料通過資料上報的方式由資料中臺處理儲存,大資料演算法平臺流式讀取資料,實現機房級、區域級資料實時異常監控,發現異常後將資訊流傳遞到運維側,同時開啟質量恢復檢測以監測異常機房質量是否恢復。自動禁用與恢復的資料會存放在演算法平臺,作為抽樣資料以檢測演算法效果,併為演算法後續訓練提供持續資料來源。
目前演算法已經實現秒級粒度和分鐘級粒度的優質傳輸率質量檢測,機房間鏈路檢測及機房記憶體溢位風險檢測,從多個維度實現對海量機房的全面監控。
一旦機房質量發生較大程度的異常,演算法能夠保證全鏈路在數十秒內及時響應,對機房進行自動運維操作,並能根據質量恢復情況及時對機房進行自動恢復操作。目前演算法平均每天執行 50 至 100 次的自動運維操作,基本完全代替了人工操作,有感知的機房異常準確召回均超過 97%,在故障恢復後十分鐘內完全實現流量重新接入,達到了精細化運維的水準。
全鏈路的優化也在本年度持續進行中,演算法團隊致力於實現演算法的自動部署和自動運維,加快演算法模型的更新迭代,提高演算法故障自恢復能力,便於運維團隊操作維護;資料平臺將打造高可用的資料中心,實現資料來源全年高可用保障;運維平臺將打造可程式設計運維平臺,實現運維操作收口;演算法判斷結果將以資訊流的方式傳遞,從而實現每一條報警的全鏈路可追蹤,打造高效能、高魯棒性的自動化運維產品。
3、演算法介紹
演算法團隊和業務方協力,通過演算法團隊開發的演算法標註平臺對大量機房異常資料進行標註、挖掘,對錶現出異常的質量曲線按照特徵進行分類,並針對每個型別開發了一套特定的識別方案。
一旦識別出異常,演算法還將進一步地基於曲線形態等特徵計算各廠商分量對總體質量曲線影響的概率,避免由於單個佔有量過大的廠商對整體曲線影響較大而造成誤判。
同時,演算法還會將視野下鑽至區域級別,一旦出現某個區域的使用者連線特定機房質量大面積異常,會觸發特殊的告警機制進行後續處理。
機房間鏈路檢測以包的形式探測、以從一個機房出發及到達該機房的所有包的健康狀況來表示該機房的健康程度。
演算法團隊開發了異常狀態基線來判斷機房質量。如果傳入、傳出機房的包出現大規模整體異常或小規模大幅度異常,將會疊加異常值;如果完全平穩則會降低異常值;當異常值突破系統基線則會觸發報警進而引發自動運維操作。
機房記憶體檢測運用了多種濾波、平滑手段,結合業務邏輯尋找記憶體變化曲線的斷點,從斷點處進行未來記憶體容量的預測,識別將要記憶體溢位的機器並進行報警通知。
03 RTSC 場景下的自動運維
1、場景介紹
實時媒體流處理 Real Time Streaming Center(RTSC)是針對實時媒體流進行雲端處理併發布到不同平臺的服務。可以基於 RTC 媒體流進行處理,構建雲端錄製、旁路直播、雲端合流、雲端截圖、輸入線上媒體流等多種技術場景。
同時可支援外部媒體源輸入和處理。RTSC 的推流和雲錄製等服務主要依賴機器間資訊傳輸的質量與機器本身的質量,如果機器發生故障就會對整個鏈路上的媒體流服務造成影響。
2、演算法介紹
推流服務機器質量異常檢測的思路與大網傳輸質量檢測基本一致。業務上推流服務位於大網傳輸的末端,在資料處理上,篩選出 RTSC 相關的業務場景,將關注物件從傳送端轉移到接收端,我們就獲得了海量的 RTSC 機房傳輸質量資料從而支援演算法進行異常檢測。
雲錄製服務中涉及從閘道器(Gateway)到邊緣節點(Edge)的連線,而這些連結一旦發生大面積錯誤,往往意味著某些閘道器或邊緣節點的機房或機器不可用,如果不及時禁用機房或機器,會影響雲錄製服務的質量。 雲錄製服務的質量主要體現在閘道器到邊緣節點的錯誤連線數,在業務上有著相對明確的閾值,可以按照傳統的閾值方法來控制報警。但傳統方法由於異常時間和規模的偶然性,可能會出現無法及時響應或無法準確定位錯誤源的問題。
演算法團隊和業務方協力,打造了 RTSC-AIOps 流程。該流程以圖演算法為核心,結合業務邏輯,能夠實現快速定位異常機房機器,目前已經完全接管了雲錄製邊緣節點的禁/啟用流程,實現了一分鐘內快速發現和處理完異常,準確率達到 95% 以上,節省了一半以上的人力,有效提升 RTSC 業務運維效率,保障了業務穩定執行。
04 結語
本文介紹了聲網大資料演算法團隊通過與各個團隊緊密合作,打造的由AI驅動、大資料支撐、業務需求為指導的快速精準化自動運維服務。
在智慧化時代,資訊的爆炸式增長導致傳統的運維、決策、分析、服務已經無法與環境契合,而演算法正是為了解決這些問題而存在的。演算法的訓練依賴高水平的資訊提供者,是一種經驗的總結與延伸,是“站在上帝視角”縱觀全域性。
隨著演算法落地場景的不斷增加,聲網也會有更多的精力投入到向未知領域的探索,利用AI與人力的相輔相成,為開發者和使用者提供更穩定、更高質量的產品和服務。
[1]"Gartner says Algorithmic IT Operations Drives Digital Business"https://www.gartner.com/en/newsroom/press-releases/2017-04-11-gartner-says-algorithmic-it-operations-drives-digital-business
關於 Dev for Dev
Dev for Dev 專欄全稱為 Developer for Developer,該專欄是聲網與 RTC 開發者社群共同發起的開發者互動創新實踐活動。
透過工程師視角的技術分享、交流碰撞、專案共建等多種形式,匯聚開發者的力量,挖掘和傳遞最具價值的技術內容和專案,全面釋放技術的創造力。
- 保姆級教程!整合聲網 SDK 實現 iOS 平臺音視訊通話和虛擬背景功能
- 在 Flutter 多人視訊中實現虛擬背景、美顏與空間音效
- 基於聲網 Flutter SDK 實現互動直播
- 保姆級教程!基於聲網 Web SDK實現音視訊通話及螢幕共享
- 基於聲網 Flutter SDK 實現多人視訊通話
- 把 ChatGPT 加入 Flutter 開發,會有怎樣的體驗?
- 如何基於開源 demo 在 Web 端實現一個多人數獨遊戲
- 《鵝鴨殺》爆火,一文帶你瞭解如何實現頂流社交遊戲
- 聲網許振明:RTC 場景 UHD 視訊應用和探索
- RTE 領域的發展,為視訊編解碼標準帶來哪些新變化?丨Dev for Dev 專欄
- 人臉關鍵點的應用場景及重難點解析丨Dev for Dev 專欄
- 糾刪碼在實時視訊流中的應用丨Dev for Dev 專欄
- 音訊技術的下一個“熱點”,會出現在哪個領域?丨一期一會 • 音訊工程師專場
- 一片紅的泛娛樂出海,藍色在哪裡?
- 聲網“失聲”的危機
- 百鍊成鋼 —— 聲網實時網路的自動運維丨Dev for Dev 專欄
- 桌面軟體開發框架大賞
- 基於物件的實時空間音訊渲染丨Dev for Dev 專欄
- 即時通訊場景下安全合規的實踐和經驗
- 基於 Web SDK 實現視訊通話場景 | 聲網 SDK 教程