百鍊成鋼 —— 聲網實時網絡的自動運維丨Dev for Dev 專欄

語言: CN / TW / HK

圖片

本文為「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 開發者社區共同發起的開發者互動創新實踐活動。

透過工程師視角的技術分享、交流碰撞、項目共建等多種形式,匯聚開發者的力量,挖掘和傳遞最具價值的技術內容和項目,全面釋放技術的創造力。