(即將開源)運維學件:沒有演算法專家,玩轉 AIOps 的不二法寶
作為運維,每天與程式碼和伺服器打交道的你、是否有過這樣的焦慮?
“扛機器、接網線、敲 shell 命令、背黑鍋,這不是我想要的人生。”
半夜起來處理故障的人——是你
與開發吵得面紅耳赤的人——是你
默默背鍋的人——是你、還是你
別焦慮,AIOps 的時代已經到來,快收拾收拾情緒迎接它。
那麼,沒有演算法專家,也能做 AIOps 麼?
可以!答案是肯定的!
有學件!!運維學件!!
特大好訊息:騰訊織雲團隊即將開源學件啦!!
說明:學件由南京大學周志華教授提出,運維學件由騰訊 SNG 趙建春先生提出並率先開源,雲端計算開源產業聯盟和高效運維社群榮譽共同推廣。以下內容由趙建春先生及其團隊提供。
接觸 AIOps 會發現很多問題,例如,我可能是一個小團隊,或者說我缺乏演算法專家,還有即使用了別人的演算法模型,我還希望瞭解這個演算法的原理。
以及,提供演算法的一方和使用演算法的一方,都不願意提供資料,擔心資料洩露給對方,那雙方都有這樣一個擔憂,這是面臨的困難。
對於以前的運維的環境裡面規則來講,其實你可以認為他是 API,或者是一些編寫的邏輯處理,特點就是很少會變,因為是人編寫的,所以容易理解,專家總結了,和資料無關,他寫好就放在那裡,類似 if-else,case swich等。
但是在 AI,前面講了,其實是一組帶有記憶能力的 API,這個記憶能力是從哪裡來的,就是對資料有依賴的,從資料裡面統計學習而來的,同時環境裡面不斷地在積累這個資料,可能不斷有新的案例進來。
所以這個模型時刻地在變,它非常的複雜,它可能是決策樹的決策路徑、迴歸引數或神經網路的網路結構及路徑權重。
因為它的各種的演算法,決策算的神經網路的結構,以及他的權重,或者是迴歸引數相當複雜,這個不是人編寫出來的,所以就難理解。
從 API 到學件
所以 AIOps 我們可以來一個從 API 到學件的轉變,“學件”概念是南京大學的周志華老師提出來的,他是國內 AI 領域的泰斗級的人物,非常厲害,他提出學件是通過資料可以不斷地學習,隨著資料的不斷地加入會更好,另外它的演算法是公開的,你也可以瞭解它是怎麼實現的。
你也可以拿過來用,通過我的資料訓練好模型後給你,但沒有把資料交給你,把引數、網路結構這些東西交給你,並沒有把資料交給你,來解決資料安全問題。
你也可以用自己的資料重新去訓練改進適應自己環境的模型,所以是可演進的。演算法也是公開可瞭解的,拿來可以重用,來解決裡面的一些問題。
這是我們前一段時間和業界同仁一起編寫的 AIOps 白皮書的一個能力框架,我不展開來細講。
我們大體的想法就是說最底層就是各種機器的學習演算法,這個演算法和我們的實際環境場景結合起來,通過訓練一些單個的 AIOps 學件,單點場景也可以解決問題,之後把單點學件串聯起來組成 AIOps 的串聯應用場景,最終就可以形成一個智慧排程的模型,去解決我們的運維環節的成本、質量、效率等運維關心的問題。
我們團隊跟高效運維社群做了一些實踐和理論方面的探索和嘗試,今天也希望通過這幾個單點的串聯質量效率這些緯度跟大家分享一下。
關於學件的實踐案例分享
1)單點案例:成本 - 記憶體儲存智慧降冷
單點第一個是成本,就是記憶體儲存智慧降冷,因為我們是社交網路業務,使用者規模大,又有大量的訪問,這樣就導致團隊喜歡用記憶體型的KV儲存。
上線的時候,請求量可能很高,但是隨著時間的推移,他的資料量不斷地增長,訪問密度反而在下降,對我們的成本造成很大的壓力。
那大家會想到降冷,但是降冷之前大家都熟悉就是利用資料的最晚使用時間按規則處理,但是這個你想想其實只有一個指標,這個資料的最後使用時間,作為特徵去分析,其實遠遠不夠的。
我們對每一類資料做了非常多的特徵的抽樣提取,有幾十個特徵,如週期的熱度變化這些,就是如圖上這些,還有一些沒有寫出來的。
然後我們同學根據的經驗,因為他們之前手工處理過很多,就會有一些經驗,哪些資料條目是可以降冷的,把他標註之後,用邏輯迴歸和隨機森林,去學習和訓練,其實就是做分類,機器學習絕大部分都是做分類。
做一個分類之後,上面是 LR 和 邏輯的迴歸,下面是隨機森林。那在隨機森林,在30棵樹的時候效果最好,因為隨機森林本來就是一個 bagging 的方法,對穩定性效果有提高。
最終的效果就是說,我們把資料進行了一個下沉,把接近 90% 的資料,下沉到硬碟上,我們的訪問量並沒有下降,SSD 資料沒有造成訪問壓力,可以看到下沉和下降是非常精準的。
而且這裡面的資料延遲和成功率幾乎沒有變化,其實之前的同事通過人工的設定做下沉的設定,其實效率是非常的低,這個模組提升了 8 到 10 倍的下沉的效率,這是第一個案例是成本的。
2)單點案例:質量 — 統一監控去閾值
質量,大家可以看到統一監控去閾值是很有意義的一件事情。監控有兩種情況,一種是成功率的監控,它應該是一個直線,正常應該在100%左右,但它會往下掉。
第二個就是類似於一個累計性的曲線,或者 CPU 的曲線,這個曲線監控其實是非常的千變萬化的。
之前我們可能是通過設定閾值的方法,最大值最小值,閾值設定這樣的方式,去設定告警。
這個曲線一直在變化,最大值和最小值也一直在變化,然後他的形式也非常的多變,也很難去設定這樣的東西。
那我們做了兩種的方式第一個是成功率的方式,我們使用了 3sigma 方式,來自於工業界,是來控制產品的次品率的,如果是 3sigma 是 99.7% 是正品,其實用這個方式我們統計出來的告警裡面,超過正常值範圍裡面的多少多我們認為是多少個次品,把它找出來。
第二步用孤立森林,就是長的相似的一類的東西,是比較難分類的,要通過很多步才可以去到葉子節點上,所以看到這個 Gap,這一塊就是說在比較淺的葉子的節點,就是異常的節點。
我們通過第一步統計的方式,第二步的無監督方式找到一場。目前最後一步我們還是加了一些規則,讓告警更可靠。這個規則其實就是看到我在什麼時候告警和恢復,這樣一個邏輯既然是一個規則,在未來我們會進一步做一個 AI 化的改造。
那對於這個曲線型的監控,目前我們就是因為曲線不是屬於正態分佈的,一個曲線是一個曲線,所以極差很大。我們把它做了一個分段的 3sigma,就是一個小時一個段,過去 7 天進行一個取樣。
還有曲線我們可以用多項式去擬合這個曲線,我們用 3sigma、統計方法、多項式擬合幾種方法作為第一步,就是相當於推薦系統裡的多路召回。
第二步依然就是孤立的森林,和前面講的原理一致。
第三步就是有監督的人工標註,就是圖上畫圈的有些告警有一些不應該告警的標註,標註訓練集後去訓練自動地分類。
為了獲得更多的樣本庫,同事們用這個叫相關係數的協方差演算法,尋找更多的樣本庫。大家可以關注一下,就是說去找一些相似的曲線,對訓練不好的模型,就再進行打包去訓練。
總的方式,通過三級的過濾找到異常的告警。
我們有十萬多臺裝置,超過120萬個監控檢視,其實之前我們70%以上都沒有設告警,因為很難每個都設一個最高值最低值,所以說目前就把這些模組都納入到這個監控裡面去,百分之百覆蓋,這是一個監控區域值,去設定的一個案例。
重磅:運維學件即將開源
10月20日、騰訊織雲基於多年運維內部場景整合的 AIOps 利器 Metis 開源專案即將正式釋出。
Metis 這個名字取自希臘神話中的智慧女神墨提斯(Metis),它是一系列智慧運維的應用實踐集合。騰訊織雲 Metis 團隊通過開源專案 Metis 打造智慧運維的學件平臺。
本次率先開源的時間序列異常檢測學件,是從無監督+有監督學習的角度來解決時序資料的智慧檢測問題。時間序列異常檢測學件是通過學習織雲海量的時間序列樣本,訓練出一套智慧檢測模型,然後利用無監督和監督演算法對時間序列進行智慧檢測。通過 Metis, 運維人員無需再去設定監控閾值,能複用經過織雲海量業務樣本訓練而成的模型,同時跟根據個性業務場景生成新的測試模型,滿足多種業務需求。
原文地址:https://mp.weixin.qq.com/s/9vNV0ldpqwrpjFGZKWaccw
相關文章
- AIOps 智慧運維:有沒有比專家經驗更優雅的錯/慢呼叫分析工具?AI運維
- 在機器世界探尋資料寶藏,開放思維是不二法則
- OpenSOC即將開源
- 法國科學家將AI演算法用於植物研究,植物學家開始慌了AI演算法
- 沒有Linux基礎的是如何學習Linux運維的?Linux運維
- JS 專案拾粹 六: 將 Markdown 轉為思維導圖的開源工具JS開源工具
- 華為AIOps使能服務加速新基建運維智慧化轉型AI運維
- Linux運維必備技術有哪些?運維要學開發Linux運維
- 用萬能命令工具玩轉IT智慧運維運維
- 不要只把AIOps看作是運維技術AI運維
- 轉行Linux運維需要學習嗎?學習Linux運維Linux運維
- 玩轉 iOS 開發:整合 AliPay – 支付寶iOS
- AIOps在京東資料庫運維中的典型應用AI資料庫運維
- 騰訊三大運維開源專案齊聚“OSCAR開源先鋒日”運維
- Python AI框架-PyTorch 1.0即將開源PythonAI框架PyTorch
- 一個就只是JMS的開源專案,沒有Kafka和RabbitMQ!KafkaMQ
- 運維崗轉開發崗,學Python還是Java?運維PythonJava
- 初學者如何學習Linux運維?影響運維的有哪些因素?Linux運維
- 從DevOps到AIOps,阿里如何實現智慧化運維?devAI阿里運維
- Linux運維人員必會開源運維工具體系Linux運維
- 零基礎怎麼學Linux運維?學習Linux運維有Linux運維
- 噹噹架構部總監張亮:玩轉Java開源專案架構Java
- 擁抱智慧,IT運維將有哪些變化?運維
- PHP轉Java有沒有好的學習路線PHPJava
- 成為第一沒有捷徑:AI新勢力MindSpore成長祕籍 | 源創者說 專訪開源專家胡曉曼AI
- 學習Linux運維有哪些學習方法?Linux運維
- 有哪些值得學習的 Go 語言開源專案?Go
- 花樣玩轉“所見即所得”的視覺化開發UI視覺化UI
- 新手求助!有沒有好的API專案。想借鑑下寫法。API
- 使用python玩轉二維碼!速學速用!⛵Python
- 有沒有開源的測試平臺可以參考的?
- 春耕時節學習忙|國際註冊資訊系統安全認證專家(CISSP)即將開課
- 沒執行過 rm -rf /* 的開發不是好運維運維
- Linux的好處有哪些?Linux運維學習Linux運維
- 【linux運維】Linux伺服器玩轉vsftpd安裝與配置Linux運維伺服器FTP
- 運維學習有什麼好的學習方法嗎?運維
- 阿里雲葛岱斌:讓天下沒有難做的安全運維阿里運維
- 歐盟即將在免費開源軟體專案中推行“漏洞賞金”