機器學習帶來的運維進步
當下,人工智慧技術逐漸滲透到了各個領域,人們對大數據,機器學習已經不再感到新奇,這已經很好的預示了傳統向智能過渡的必然趨勢,從根本上改變了許多陳舊的業務模式,技術架構以及方法論。
作為支撐IT 發展的運維,海量增長的智能業務,更帶來了前所未有的壓力和挑戰。如果此前我們提出的傳統傳統的運維方式基本都是依賴人工和靜態規則,它們已然無法適應動態變化的複雜場景。而人工智則讓運維具備機器學習和演算法的能力,在動態變化複雜條件下,做出高效準確的決策判斷。因此,我們需要具有從「基於專家經驗」到「基於機器學習」的觀念轉變,讓 Ops AI 化(這個 AI 指的是 Algorithmic IT),讓運維更加智能高效化。
而作為 IT 運維團隊,我們真正關注的是機器學習如何提供實時事件的管理能力,從而幫助較大規模的企業提高服務質量。這其中的關鍵點就在於在用戶發現問題之前提早探測異常,進而減少生產事故與中斷帶來的負面影響。
在 wiki 中機器學習的定義如下:
A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P, improves with experience E.
也就是說,隨著運維事件(運維數據)的不斷產生,處理結果的積累會帶來企業服務質量的提升。
普遍認為最理想的運維行為模型,一方面這種行為依據經驗進行判斷,完成我們日常的工步驟。同時它又可以動態改變事件發生的條件,反過來影響事件發生的概率。舉個栗子, 機器學習可以記錄用戶給定的告警及告警集群的活動,並相應地動態調整告警規則。這不同於傳統管理工具的方式,只依賴人為預先給出的規則,來查找事件分析原因。而機器學習則可以存在反饋機制,它能利用數據不斷自我創建和更新行為,而不是使用靜態的行為去尋找特定的結果。
並且,機器學習也會不斷的更新他的學習能力,不僅可以探索事件隱含的特性,並依據此將相關的事件聚類,總結出特徵向量。(即也可以對事件之間、事件與運維結果之間的隱性關聯進行總結和分析。)也就是說,機器學習可以從日常的異常中,去尋找與某項運維行為或某項事件相關的聯繫,從而幫助人們分析出潛在的根本原因。
那麼在運維中應用機器學習的前提需要哪些因素呢?
1 運維數據
在運維過程中,會產生海量的運維數據,這其中有些可用於描述應用或者系統的運行狀態、有些可用於標籤、有些可用於進行經驗反饋。這些巨量的、多維度的數據是機器學習建立行為模型的基礎。
運維數據從來源和用途上可分為機器數據、傳輸數據、代理數據和人為數據。
機器數據:不難理解,機器數據是由應用或者 IT 系統自身產生,包括日誌信息、監控數據等。這類數據的量最大、維度最廣,它可以全面的描述應用、系統或集群的運行狀況。
傳輸數據:在不同系統之間通過網路傳輸的數據,可能包含系統或者業務數據。
代理數據:由一些工具主動產生的數據,比如代碼分析、系統測試數據等。這類數據一般是通過特定的方式產生,本身就帶有一定的特徵和標籤性。
人為數據:人工產生的數據,比如系統操作日誌、提的工單信息等。這類數據可以作為經驗判斷和標籤的依據。
2 運維場景
機器學習的核心就是用一個預測模型和一堆原始數據來得到一些預測結果。而這個預測結果就是任務的預測值。
那麼適用於機器學習的場景的運維領域有哪些呢?
2.1 凈化最終事件
在 IT 運維中產生的成千上萬的事件充滿了噪音和冗餘,單純靠人工方式無法逐一進行排查。機器學習無疑可以自動化件過濾機制。大幅度降低事件的噪音,迅速從海量事件中抓取真實的事件向用戶告警。
2.2 歸類與根本原因分析
機器學習不僅可以按照預先定義的模型,迅速提取事件的特徵,歸類到不同的事件場景 中,而且還能給出相應的事件原因,或者按照原因進行分類告警,自動生成豐富的運維事件庫,讓運維人員能夠最大化的了解事件的根本原因。
2.3 事件對齊
機器學習將事件歸類到事件場景後,可以分析事件之間的關聯、按照因果邏輯生成事件告警。這樣運維人員看到的事件告警是經過處理的、具有邏輯關係和意義的結果信息。
2.4 類似事件的探測與處理
對於以往曾經發生過的事件告警,機器學習可以自動學習事件場景與處理策略。當類似事件再次發生時,機器學習可以將事件歸類,並自動生成處理步驟,提供給運維人員。
2.5 機器學習分類
機器學習可以按照預先定義的模型,根據機器數據自動分類機器。這樣運維人員可以針對不同的分類,做相應的分析與優化。
2.6 特徵工程
在機器學習中,一個預測模型的好壞往往取決於特徵工程。圈內常流行一種說法:數據和特徵決定了機器學習的上限,而模型和演算法只是逼近這個上限而已。由此可見特徵工程在實際的機器學習中的重要性。某些時候,仍然可以採用非最優模型來訓練數據,如果特徵選擇得好的話,依然會得到不錯的結果。(特徵工程:其本質是一項工程活動,目的是最大限度地從原始數據中提取特徵以供演算法和模型使用。)我們會在下一章中重點講到關於特徵工程的概念及特點。
4 預測模型
在有了運維數據和應用場景(確定業務問題)後,如何建立一個預測模型能盡量的擬合數據,從而使得目標函數最優化則成為了解決運維問題的關鍵。
一般情況下預測模型可以分成回歸和分類兩個子集。
回歸:策略研究變數和自變數之間的關係,以便做出關於連續變數的預測,如通常我們在天氣預報中應用對最高溫度的預測。而在技術運維中,我們則可以通過建立回歸模型來預測下一個點的監控值,並通過設置動態閾值的方法來對異常數據進行檢測。
分類:與回歸模型不同,分類的任務是分配離散的類標籤給特定的觀察對象作為預測的結果。在天氣預報中的分類問題可能是對晴天、雨天或者雪天的預測。分類任務則是被分成兩個主要的子類別:監督學習和無監督學習。
監督學習,用於構建分類模型的數據的類標籤是已知的。例如,一個垃圾郵件過濾的數據集,它裡面將包含垃圾郵件以及非垃圾郵件。在有監督的學習問題中,我們已經知道了訓練集中的郵件要麼是垃圾郵件,要麼是非垃圾郵件。我們將會使用這些信息來訓練我們的模型,以對新的郵件進行分類。在運維的場景中,我們可以通過建立有監督的分類模型,來消除告警噪音。
而與此相反,無監督學習任務處理未標記的實例,並且這些類必須從非結構化數據集中推斷出來。通常情況下,無監督學習採用聚類技術,使用基於一定的相似性(或距離)的度量方式來將無標記的樣本進行分組。例如在技術運維中,我們可以對機器進行聚類,便於運維人員找出它們彼此之間的關聯,做相應的分析與優化。
關注創聯致信,更多技術資訊
創聯致信,中國優秀IT運維服務商


※AMD第二代Ryzen四月見 Vega轉攻機器學習和集顯
※機器學習和人工智慧的興起將改善2018年的生活
TAG:機器學習 |