搜狗智能聯想輸入法,背後的運維又是如何智能的?



搜狗以搜索和輸入法爲主,技術實現背後有大量的人工智能技術做支撐。搜狗運維在這樣一家以人工智能技術爲主的公司中,將面臨哪些挑戰?本文將與大家分享人工智能在運維中的實際應用,以及搜狗在智能運維方面的實踐。


運維工程師遭遇的三大痛點

再講智能運維之前,我們先來看看,運維工程師常見的三大痛點:操心成本、智商不夠、煩人成本

操心成本

所謂操心成本與相聲《扔靴子》所表達的主題相似——你並不知道“第二雙靴子什麼時候扔下來”,同樣你並不知道故障什麼時候來臨,所以你一直提心吊膽,惶惶不安。

7×24運維,半夜經常會有收到警報的情況,運維團隊負責多個模塊、機器、服務、業務等等,如何保障它們的可靠性?並且每個業務都有自己的指標,響應時間、請求量、磁盤容量、網絡IO等等,這些指標都可能發生異常。

目前業界一些通用的監控手段,有時會鋪天蓋地報警,但這些報警不一定能反應真實的情況,真是讓人操碎了心。

智商不夠

當運維過程中遇到比較複雜的故障需要處理的時候,不能很快的找到出現故障的根源,很好地進行故障定位,感覺智商不夠用。

煩人成本

在搜狗內部有一條明文規定,如果運維工程師不做運維開發,不予升職。所以搜狗的運維經理除了履行保障線上可靠性職責的同時還要做自動化研發。因爲職責在身,線上一旦出現問題,無論大小,運維人員是首先被問詢的,所以運維人員最容易被打擾。

可做研發大家都知道,是需要整塊時間才能夠保證效率且減少出錯。這樣一來,上班時間基本上不會有大塊時間來做研發,這樣的狀況真的很煩人。

面對痛點 用“智能”來化解

針對這三大做運維最基本的痛點,搜狗運維選擇用“智能”來化解:

  • 針對操心成本,是智能熔斷

  • 針對智商不夠用的情況,是智能故障定位

  • 針對煩人成本,是智能問答機器人“維祕”

智能熔斷的思路

作爲運維人員所要面臨的問題,往往是一張以時間爲橫軸的時序圖,縱軸是響應時間、CPU佔有率、網絡IO、磁盤IO等一系列指標,這樣的指標每個節點或機器都有一二十個。如果有上萬臺機器,上萬個節點,那麼就會有一百萬張時序圖,工程師需要對每張圖做智能監控,  當發生異常,隨時上報。

在股票、醫學領域,基於時間軸的數據監控已被廣泛應用。股市利用數據監控預測股票漲跌,醫學可以利用數據監控預測疾病的發生時間,這些特點與運維有高度的相似性。

運維領域也是以時間軸爲緯度分析,目前有很多監控和分析的工具,最簡單如設定一個固定的閾值或者周同比,但這些工具還不夠智能。

智能熔斷系統。目前,搜狗運維正在研發智能熔斷系統,是爲應對操心成本而生,針對故障的根本原因進行分析和故障預測。

故障的原因有二

  1. 代碼變更或上線,這類的故障非常多,而且大多都是人爲造成的 ,現在基本上可以實現智能上線平臺做自動上線,完全自主。

  2. 就是機房、網絡和硬件等。

當面對自主上線的情況,如何保證平臺的穩定?

下圖是智能熔斷的實現原理,搜狗引入熔斷機制,當某些指標有發生上線動作、發生異動的時候,系統自動判斷並做熔斷,比如做停止或者回滾操作。並和一些其他的智能設備相結合,如手機上可操作熔斷、停止及回滾等功能。這個系統能解決大部分問題,如環境、代碼、人爲誤操作等等。

還有一個問題,就是一些研發人員水平不高,寫出的代碼在上線的瞬間,指標出現異常,但重啓一段時間就好了。同時研發人員表示,當前沒有精力去處理,暫時忽略。面對這種情況,就要引入更深的人工智能話題,要對異常進行判斷,是已忽視的正常異常,還是需要處理的異常,這裏就涉及到對故障點分類的問題。

智能故障定位

搜狗搜索引擎的架構非常複雜,如下圖只是架構的冰山一角。在如此複雜的前後連接關係的情況下,當故障發生時,如何快速故障定位、如何減少用時、如何判斷報警的根本原因呢?


搜狗的做法是把問題抽離成一個規則的模板,即一個規則的集合,然後基於特定業務架構圖去分析,最終定位故障具體原因。

大致的算法是每一個探針的請求都帶一個ID,這個ID在各個模塊都是打通的。運維工程師分析這個請求的ID在每個模塊裏面的具體表現,根據這些規則模板看它是否命中設定規則模板,然後定位系統,再根據這些規則模板的命中情況做一個決策,將故障定位。甚至可以定位它是屬於哪個模塊的哪個節點,這樣就可以快速的去處理這個故障。

如下圖,右上角是各種模板命中的情況,根據命中情況做最終的判斷。

如果熔斷系統是人工智能的話,故障定位就是人肉智能,可以看到核心功能都是由人肉智能編纂出來的。每當出現一類問題,就編入知識庫和故障分析模塊,避免下一個同樣的故障發生。

但實際情況是,大家在操作某一個模塊時, 不一定會去看之前存在的問題和解決方案。搜狗的做法是把這些問題與知識固化到系統裏,讓機器人發揮作用,如上圖的最終結果展示,包括Web端和手機端,都可對接一些故障問題。

智能問答機器人“維祕”

這是一個問答系統,已在搜狗內部開始內測,也是爲了解決運維的第三個痛點——煩人成本。運維工程師每天需要解答各種各樣的問題,需要花費大量的瑣碎時間,而這個工作完全可以交由智能機器人來解決。


智能問答機器人維祕

維密運維機器人,構建在搜狗內部的即時通訊工具中,類似微信公衆號,可實現直接提問與回答。

它可以實現三項功能:

  1. 智能查單,在搜狗內部運維繫統有很多工單,當諮詢人員輸入工單號,就能查到工單進行到哪一步了,類似於搜索快遞單號,你輸入快遞單號就能顯示快遞狀態。

  2. 智能找人,諮詢人員提問後,可能並沒有命中知識庫(上文中提到的知識庫已由運維工程師提前編輯和整理),機器人沒法回答,但機器人可以判斷這個問題是屬於哪個領域,然後推薦此領域的專家,如問到硬盤的問題,則會推薦一位硬件領域專家解答問題。而諮詢人員與專家的對話又將得以保存,並作爲機器進一步學習的資料。

  3. 是最爲常見的智能問答,諮詢人員提出問題,機器人直接根據知識庫來進行解答。

在研究的過程中,如何低成本用人工智能武裝運維,是值得思考的問題。個人建議運維工程師挖掘真正痛點,深入思考產生好想法、並用好實習生和用好 AI 雲。

未來,搜狗運維的研究方式將擴展到基於決策樹的故障根因定位、基於監控大數據和架構圖的故障根因定位、故障處理過程的機器決策以及故障預測等。

以上內容由編輯王雪燕根據張博老師在 WOTA2017 “創新運維探索”專場的演講內容整理。

張博現任搜狗運維保障部總監,負責搜狗所有業務線的運維保障及運維自動化開發,搜狗內部雲平臺的研發和運維,搜狗AI開放平臺的建設。2006年加入搜狗,11年來一直在搜狗做運維相關業務;在業務可靠性保障、運維團隊管理、自動化運維、雲產品研發和運維、人工智能在運維領域的應用等方面都有所專長。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章