Categories
程式開發

AIOps在美團的探索與實踐——故障發現篇


AIOps,最初的定義是Algorithm IT Operations,是利用運維算法來實現運維的自動化,最終走向無人化運維。隨著技術成熟,逐步確定為Artificial Intelligence for IT Operations——智能運維,將人工智能應用於運維領域,基於已有的運維數據(日誌、監控信息、應用信息等),通過機器學習的方式來進一步解決自動化運維無法解決的問題。
本文系AIOps在美團的探索與實踐的第一部分,如何自動發現故障問題,其中重點介紹了美團時序數據異常檢測系統Horae的架構與設計。

一、背景

早期的運維工作大部分是由運維人員手工完成的,手工運維在互聯網業務快速擴張、人力成本高企的時代,難以維繫。於是,自動化運維應運而生,它主要通過可被自動觸發、預定義規則的腳本,來執行常見、重複性的運維工作,從而減少人力成本,提高運維的效率。總的來說,自動化運維可以認為是一種基於行業領域知識和運維場景領域知識的專家系統。隨著整個互聯網業務急劇膨脹,以及服務類型的複雜多樣,“基於人為指定規則”的專家系統逐漸變得力不從心,自動化運維的不足,日益凸顯,當前美團在業務監控和運維層面也面臨著同樣的困境。

DevOps的出現,部分解決了上述問題,它強調從價值交付的全局視角,但DevOps更強調橫向融合及打通,AIOps則是DevOps在運維(技術運營)側的高階實現,兩者並不衝突。 AIOps不依賴於人為指定規則,主張由機器學習算法自動地從海量運維數據(包括事件本身以及運維人員的人工處理日誌)中不斷地學習,不斷提煉並總結規則。 AIOps在自動化運維的基礎上,增加了一個基於機器學習的大腦,指揮監測系統採集大腦決策所需的數據,做出分析、決策,並指揮自動化腳本去執行大腦的決策,從而達到運維繫統的整體目標。綜上看,自動化運維水平是AIOps的重要基石,而AIOps將基於自動化運維,將AI和運維很好地結合起來,這個過程需要三方面的知識:

原文鏈接:【https://www.infoq.cn/article/sHhhvrP8sD7w98JFkMTW】。未經作者許可,禁止轉載。