天天看點

機器學習在 IT 運維管理中的必要性!

機器學習技術在監控工具中的應用已經成為 it 運維與 devops 團隊的一大熱點話題。盡管相關的使用案例很多,對 it 團隊而已真正的「殺手級應用」是機器學習如何提高實時事件管理能力,進而幫助較大規模的企業提高服務品質。對此,關鍵在于在使用者發現問題之前提早探測異常,進而減少生産事故與中斷的負面影響。

那麼,在it運維管理的環境下,機器學習到底是什麼?

網上有不少關于機器學習的宏觀定義:對于某給定的任務t,在合理的性能度量方案p的前提下,某計算機程式可以自主學習任務t的經驗e;随着提供合适、優質、大量的經驗e,該程式對于任務t的性能逐漸提高。更通俗的來講,即:随着任務的不斷執行,經驗的積累會帶來計算機性能的提升。

如果在it運維管理的前提下,也許這樣的定義更加準确:機器學習是分析資料,反複地向資料學習,進而在不參考明确模型的情況下,找出隐藏觀點的一類方法。

在 it 運維管理的語境中,機器學習的首要替代方案是為 it 運維管理建立行為模型,了解這一點非常重要。行為模型方法要求了解基礎架構的所有元件,才能了解出現中斷或服務品質下降的可能原因。更确切地說,你要試着判斷哪些事件和告警模式與你希望監控的條件相比對。

事實上,大多數 it 運維管理工具都屬于這一類别。不論是過時的遺留事件管理器,還是使用「聚合及查詢」方法進行 it 運維的現代工具。總之,你都要對這些工具進行一定的配置,讓它們留意你預先就知道需要搜尋的東西。

而另一方面,機器學習則使用資料本身來尋找值得留意的特征,這些特征可能在事先完全無法預知。例如,非監督式機器學習,可用于分析事件流或日志消息,進而找出異常的消息叢集。之後,這些異常可以與某項運維結果相聯系,進而捕獲潛在中斷的原因與症狀。

然而,監督式機器學習可用于記錄使用者針對給定告警及告警叢集的活動,并相應地做出算法上的調整。本質上,機器學習利用資料不斷地建立并更新行為模型,而不是使用靜态的行為模型尋找特定的結果。

在 it 數字化轉型的今天,随之而來的規模複雜度、變更速度以及軟體抽象化等挑戰成為了機器學習應用于 it 運維管理的理由。

如果基礎架構處于不斷變化的狀态,根本無法建立起固定的行為模型。如果你想了解來自應用與基礎架構的大量資料的意義,使用基于規則的方法無疑是死路一條。在新的軟體時代,你必須利用機器學習進行實時的資料分析,這是保證服務品質的必備條件。無可否認,it 領域正變得越發混雜、虛拟化以及流動化,隻有使用機器學習技術,才能坦然應對這些變化。

現代 it 環境下,不斷變化的基礎架構會産生大量的事件資料需要處理。在 onealert,機器學習主要用于「消除噪音」。例如,面對每秒鐘成千上萬的告警事件,如何在消除噪音的同時保留有價值的資訊事件?

目前 onealert 産品對告警事件的壓縮率已經高達80%。基于時間片的告警資訊壓縮已經趨于成熟,基于告警屬性相似度的聚類模型能夠将告警壓縮率達到 95%。而基于機器學習的人工智能壓縮更是能夠将告警壓縮到 99%(我們敬請期待!)