成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

【大咖來了 第3期】海量日志分析與智能運維

原創
人工智能
日志易 CEO 陳軍分享的《海量日志分析與智能運維》,回放鏈接:http://aix.51cto.com/activity/10011.html?dk=wz

一、AIOps 與智能日志中心

1.1AIOps 五等級

要說智能日志中心,首先要了解什么是智能運維。目前業界對智能運維的運用,主要分為如下五個等級。


一級是最容易的,只要你有個想法試試就行,到網管監控系統里,拿一個監控指標的曲線下來,就可以嘗試異常檢測。

 

一級還沒有成熟的單點應用,當有了一個成熟的單點應用,就算是達到二級。二級必須要有一定的基礎設施建設作為前提。當單場景模塊能夠串聯起來,形成流程化 AI 運維,也就達到了三級的層次。

 

目前業界基本上處于從一二級,往二三級努力的階段,想實現四、五級還比較遠。

 

大家都知道,現在 AI 應用強、技術成熟,能被廣泛應用的基本上僅有兩個模塊——語音識別和人臉識別。語音及人臉識別能夠快速得以發展,主要因為國內市場的需求,及國內大人口基數下廣泛的數據資源。

 

運維領域數據較少,且信息比較碎片化,這使得 AIOps 發展緩慢。日志易五年前開始做日志分析的時候,主要也是得益于海量的日志數據,AI算法的應用下,得以實現智能日志分析。目前日志易智能日志中心處于 AIOps 五等級的二級到三級之間。

 

1.2智能日志中心介紹

 

為了幫助大家實現更高級的 AIOps 能力,日志易打造了一個智能日志中心。如下圖,為智能日志中心的全景架構圖。


我們都知道, AI 重要的是數據。所以,首先我們要具備盡量多類型的數據采集、處理及分析能力。

 

日志易支持 Linux、Windows、AIX、HPUX 等各種平臺的數據采集,也能采集 ODBC、Syslog、APM 的數據,甚至手機 App 埋點數據,然后配合一些 CMDB 數據,流程工單數據,非常方便地實現業務運維層面的關聯分析。

 

采集之后,我們有數十種 ETL 方法來對日志進行規范化處理。日志本身是非結構化的,而日志分析需要格式化的數據,ETL 做好了,后續的分析才容易展開。

 

這個環節,會涉及到一些數據脫敏及業務日志串聯,對于一些時間戳設計不合理的日志,日志易會自動對其進行補全,以便后續分析工作的展開。

 

對數據進行搜索時,業界主流開源解決方案是 ES。然而,由于 ES 開源引擎是一個通用的搜索引擎,難以滿足日志處理的一些特殊需求,用Java 開發,內存消耗及性能上存在很大優化空間,在面臨海量日志數據時,ES 往往顯得力不從心。

 

基于以上原因,日志易自己開發了比通用引擎快 5 倍以上的 Beaver 搜索引擎,保證了海量數據的實時存取。我們還有上百個 SPL 指令進行統計分析,有多種不同場景的算法。搜索引擎可以說是 AIOps 的大腦。

 

我們有日志易智能日志中心,也有基于日志開發的智能運維應用 Lynxee、大屏 Galaxee、數據工廠。安全審計、業務關聯分析等解決方案,也是基于智能日志中心實現的。

 

智能日志中心可以與大屏展示、告警推送、按需調用腳本執行、公開的數據 API 和第三方平臺對接,這一部分可以說是 AIOps 的手。

 

以上這些合在一起,就是整個智能日志中心,我們也可以把它看作 AIOps 的中控(或者中臺)。

 

日志易有上百種不同類型數據的采集分析方案,可以直接導入安裝,如思科、F5、天融信等各種網絡設備日志,Oracle、MySQL 等數據庫日志,Nginx、Apache 等中間件日志等。這些內置數據采集分析方案,可以節省數據采集處理的時間。

 

我們在實踐中發現,做一個運維數據中心,70% 以上的時間是在做數據采集和處理。真正處理好了以后的分析過程還是很快的。這和 AI 界說人工智能 80% 的工作是數據清洗,是比較吻合的。

 

二、圍繞日志的 AIOps 場景與算法原理介紹

 

2.1AIOps 場景

 

說到 AIOps 的場景,我們可以從成本、質量、效率三個方面做出規劃,如下圖:


以質量保障而言,以往的異常檢測,需要運維工程師基于自己的經驗做出判斷和分析,我們要做的,是借助AI來實現這一目的。

 

故障的發生都是有先兆的,可能表現為延時逐漸增大,響應逐漸變慢等。我們可以基于這些先兆及歷史數據做出模型,對即將發生的異常做出預判。

 

成本管理和效率提升要面臨的情況更加復雜。成本管理面臨成本優化、資源優化、容量規劃、性能優化等復雜場景。

 

效率提升涉及復雜度較高的智能變更、智能問答、智能決策、容量預測等,以雙十一容量預測為例,要基于歷史數據預估流量,同時結合業務(如促銷活動帶來的增量)等因素綜合分析??v然如此,預估也往往會和現實存在較大出入。

 

就目前的階段,質量保障還是最關鍵、性價比很高的,是可以首先實現智能化的部分。我們的智能日志中心,目前主要關注的也是這個方向。

 

具體來說,在質量保障上,運維人員希望做到的,就是盡早告警、盡快定位、盡快修復。表現在“日志+算法”的 AIOps 實踐上,具體流程為以下三步:

 

1、快速發現故障:即基于多種算法進行異常預測;

2、問題歸因定位:即通過日志模式洞察罕見報錯信息;

3、輔助修復決策:即通過多方位展現系統狀態加速決策。

 

2.2AIOps 之快速發現故障

 

快速發現故障即盡快告警。告警的本質,是告訴運維人員兩件事情:一,有問題了;二,問題有多嚴重。

 

我們從日志直接產生告警,或者經過統計分析變成時序指標,再監控告警。通過整合告警的優先級和重要程度,擬合出來一個服務的健康度,讓用戶對系統狀態一目了然。


一般而言,監控系統會有兩種告警:一種是匹配關鍵字,一種是采樣指標的閾值對比。匹配關鍵字的嚴重性,就是匹配 warning、critical 等;閾值的嚴重性,就是定義多個閾值區間,比如 CPU 大于 80% 發中危告警、大于 120% 發高危告警。在智能日志中心,這兩種告警都支持。

 

從日志、時序指標的監控告警,到服務健康度、故障定位,日志易有一整套監控流程,這是智能日志中心的重要組成部分,位于引擎的上層。告警這部分還是以質量保障和 AI 算法為主。

 

2.3AIOps 之問題歸因定位

 

2.3.1指標異常檢測

 

《SRE》是這幾年很火的書了,里面有個概念值得推薦,就是所謂“黃金指標”。

 

不管是主機設備層面,還是應用服務層面,或者集群、端到端等等,都可以從延遲、流量、錯誤和飽和度四個最關鍵的角度,來衡量它的健康狀態。


在日志易中,我們可以通過 SPL 語句,快速從不同的日志數據,轉換成為對應的指標數據。只需要更換紅字這段過濾條件,就可以做到全面的指標數據覆蓋。

 

既然有了指標數據,下一步要考慮的就是如何智能地檢測指標,以便根據歷史情況,智能地發現問題了。

 

因為指標的千差萬別,很難有一種單一的普適算法。所以日志易針對不同場景需求,啟用不同的算法。下面稍微介紹部分算法的原理。

 

CVAE 算法

 

我們都知道 VAE是深度學習里的一種,一般你在網上搜這個算法解釋,都是講怎么做圖像識別的。


指標就是一個很簡單的曲線,所以我們把曲線按照滑動窗口的形式,切割成一段一段的小曲線,合在一起,就成了一個特征矩陣了,然后進入多層的編碼解碼,反復迭代,得到更好的模型。

 

為了提高效果,在訓練數據上,還可以主動添加一些噪聲誤差。

 

然后實際檢測的時候,我們就把測試數據經過編解碼得出來的一小段模擬曲線的分布,和實際數據作對比,是不是發生了嚴重偏離。因為模擬曲線是正態分布的,所以這個偏離就是 3Sigma。

 

這個算法,很適合做強周期性的指標檢測。一般來說,由大量人群行為產生的數據,像業務訪問,就很適合。

 

我們在這塊還有一個創新:加強了時間特征上的處理。我們知道,人的行為肯定是有大小周期的,今天和昨天、本周一和上周一、每個月一號、每年春節、每年 618、雙十一等,都是在算法上會重點加強學習的行為。

 

iForest 算法

 

第二個是 iForest 算法,這是一個專門用來做異常檢測的隨機森林算法變種。

 

它適合一些和時間沒有強相關性的指標,比如主機的 CPU、內存等,數據本身離散度較大,沒有什么規律,可能主要關心的就是它不要出現太明顯的偏離。

 

這種指標比較多,要求算法檢測速度夠快。

 

KDE 算法

 

第三個是 KDE 算法,這個算法針對的是一類特殊的場景。

 

我們知道,有些服務并不是 7x24 小時運行的。比如股票市場,每天 9 點開盤,15 點收盤。在閉市的時候,證券公司相關系統的業務指標完全是零。閉市和開市兩個階段,涇渭分明,普通算法在這兩個躍遷的時刻幾乎肯定是要誤報的。

 

同理,還有很多理財之類的金融場景,在周末兩天無業務輸出也是一個道理。

 

所以我們按照天的維度,對每天的每個時間點都選取它周圍的若干個點,形成一個集合,進行核密度分析,然后一天的所有點合起來,得到最終的 KDE 模型。

 

這個模型有點類似于在 3D 地圖上,無數個正態分布堆在一起形成的山巒。那么檢測的時候,對應時間過來的值,如果出現在平原地帶,就是明顯的異常了。

 

GRBT 算法

 

 GRBT 算法,我們會同時提取時序數據的統計學特征,以及它的時間戳特征。它的用途場景與 KDE 和 iForest 相比,有更廣泛的普適性,突變的和業務的都能用。

 

可以看到這個算法原理,和前面 iForest 比較像,因為都是決策樹森林。不過 iForest 是每次部分抽樣迭代,而 Boosting 是每次根據上一次迭代的結果來重新選取分界點。

 

但是這是一個監督學習,想用好,需要訓練樣本里有一定的異常點標注。

 

有這么多不同的算法針對不同的場景,運維人員根據實際的區別,選用不同的算法,就可以達到比較好的算法覆蓋了。

 

日志易后續也會繼續研究指標數據的類型自動判斷,盡量減少運維配置選取算法的工作量。

 

2.3.2日志異常檢測

 

除了指標的異常,還有就是日志的異常。前面提到,最常見的日志告警就是關鍵字匹配。不過,大多數系統的研發,不會把日志寫的那么規范。

 

2016 年,中科院《軟件學報》發過一篇國防科大的《大規模軟件系統日志研究綜述》,里面引用了不少國內外的調查分析。其中有幾條數據蠻有趣的:

 

日志代碼的更新頻率比其他代碼要快約1倍;

約四分之一的日志修改是把新的程序變量寫入日志;

約一半的日志修改是對日志消息靜態文本的修改。

 

這些研究一般都是基于大型分布式項目,比如 Hadoop、OpenStack 等。企業內部的系統開發,情況應該會比這些著名的項目要嚴重的多。所以,大家輸出日志的時候,很難做到特別規范,日志格式經常在變動……

 

所以,依賴關鍵字或者固定的某種正則表達式提取,在長期運行的場景下,是不足以做到日志異常檢測的,這時就需要 AI 算法來幫忙。

 

層次聚類得到日志模式

 

日志易的思路,是采用層次聚類。


先對日志進行最基礎的分詞和類型判斷,然后聚類合并。聚類可以用最長子串,也可以用文本頻率等等。聚類里,不同的部分就用通配符替換掉。類似這張示意圖,把 8 條日志,先合并成 4 個日志格式,合并成 2 個,再合并成 1 個。

 

在研究領域,我們一般把這種日志格式的樹狀結構,叫模式樹。

 

當然我們實踐的時候,不用真的算到最頂端,一般來說,模式數量收斂速度差不多了,或者模式里的通配符數量差不多了,就可以停下來了。

 

日志模式的用法

 

得到日志模式,具體怎么用呢?一般來說,有兩種用法,故障定位和異常檢測。

 

故障定位

 

一種是故障定位的時候。比如我們查錯誤日志,單純用關鍵詞,可能出來幾百上千條。你要一個一個看過去,翻好幾頁,耗時就比較長了。如果內容字很多,還可能看漏了。


模式 樹的信息,可以直接查看匹配關鍵字的日志的模式情況,可能就只有那么三五條信息,一眼就可以看完,很快就可以知道問題在哪,就可以進行下一步了。

 

異常檢測

 

另一個用途,就是把得到的,加載到日志采集的實時處理流程里,進行異常檢測,提前發現問題,這時候,我們除了模式,還可以檢測參數,檢測占比。


上圖是一個最簡單的示例,3 條日志,得到的模式是*are<NUM>,然后我們同時可以檢測符合這個模式的日志,前邊的只能是 we 或 you,第三位只能落在平均值為 93.3、標準差為 9.4 的正態分布區間內。

 

然后日志采集進來,先檢測一下這個模式是不是合法的。如果合法,再檢測一下各個參數位置的取值是不是合法的。如果依然合法,再檢測一下這段時間這個模式的日志數量,和之前相比是不是正常的。

 

這么三層檢測下來,相當于把模式異常、數值異常、時序指標異常融合到了一起。


這張截圖就是日志異常檢測的一個歷史列表??梢钥吹剑呐略?INFO 級別,也是可能出現你從來沒見過的古怪日志的,這就需要密切關注了。

 

當然,因為日志量特別大,所以他的訓練樣本很容易錯過一些正常情況,所以上線初期,我們需要一些迭代以及標注的優化過程。把初始樣本不斷豐富起來。

 

前面說了很多 AI 算法:如何來發現異常,定位異常。但是很可惜,定位異常這件事情,目前很難做到能找出非常理想的根因的程度。一般的做法,是依賴于云平臺、容器平臺的指標采集,做到定位出某臺機器有問題,具體還是要登陸機器分析。

 

我們從日志的角度,可以定位到某臺機器的一段日志有問題,但是也不算找到 100% 的根因了,還需要后續查詢分析。

 

所以,做一個智能日志中心,我們也還需要提供更全面的統計分析和快速查詢的能力,來完成對全局的、細節的運行狀態的觀測,以及對變化的即時捕捉。

 

三、日志分析實踐與案例

 

3.1業務交易的實時統計分析

 

對應前面說的 VAE 算法,我們說他最適合的就是監控業務交易量這類指標。

 

我們可以通過儀表盤的可視化效果,對業務交易量的各個不同維度,進行非常細致的統計分析。這樣有什么變動的時候,一眼就能看到。


當然,由于交易分析的常見維度比較少和明確,后續也可以通過決策樹算法,來自動定位哪些維度的異常更明顯地造成了變化,比如某個省某個運營商某個手機型號打開慢之類。

 

從實踐來說,這種基于性能優化目的的根因分析,即使分析出來,后續的優化成本也比較高,很可能從性價比考慮,會放棄掉。

 

交易量指標還是像這樣用來做實時統計和監控比較多。

 

3.2業務監控-多層業務指標鉆取

 

如果是業務結構比較復雜的場景,可能單看最終用戶層面的交易維度不足以定位故障。我們還需要從內部的業務流轉關系來調查問題。這時候,就可以用拓撲圖來觀測系統運行狀態。


在運行狀態出異常的時候,通過鉆取跳轉,把每層的情況和調查路徑串聯起來。哪怕很基礎的運維人員,也可以熟練地按照高級工程師定義好的路徑排查問題。

 

3.3業務監控-調用鏈展示分析

 

業務分析的另一個層面,是針對用戶的分析,類似現在很流行的 Tracing 調用鏈系統。


對于智能日志中心來說,Tracing 數據也是能很好支持的。在這個基礎上,可以做到很好的展示。

 

日志易提供了標準的調用鏈表格,還提供了循序圖分析。這是業界比較少見的方式,但對研發人員很友好,因為系統設計的時候,循序圖是研發人員很熟悉的方式。

 

3.4用戶端監控-DNS/CDN 日志分析

 

除了系統內部,還可以從 DNS 和 CDN 廠商獲取日志,甚至包括收集自己的手機 App 日志,來了解、監控端到端的情況。


以上截圖,展示了 10TB 級別日志量的實時返回碼趨勢分析、各站點緩存率分析、各站點響應時長分析、流量峰值分析,以及用戶行為軌跡分析、高頻請求客戶分析、熱門站點分析、域名與運營商關系分析等。

 

此外,基于這些日志可以實現性能監控、故障排查等,也可以跟第三方廠商的計費做二次核算。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

責任編輯:杜寧 來源: 51CTO
相關推薦

2017-09-28 16:00:43

CIO時代

2019-11-21 20:45:31

大咖來了面向交互人工智能

2019-10-22 15:43:18

智能化數據人工智能

2019-12-12 14:30:15

智能一點智能導購對話機器人

2015-12-23 11:13:05

2019-11-07 16:32:26

數據智能化

2019-11-07 15:31:48

中臺大數據

2020-01-13 21:18:30

大咖來了大數據云分析平臺

2020-02-14 16:20:19

大咖來了IT管理者

2019-08-21 14:38:52

新零售時代智慧中臺

2019-12-27 17:25:13

大咖來了數據安全

2019-12-31 14:30:00

數字聯盟移動設備可信ID

2018-06-30 17:08:40

運維新挑戰Tech Neo

2014-04-18 15:22:25

Linux運維趨勢

2010-12-10 16:07:50

Linux運維趨勢電子雜志

2016-12-12 13:51:32

2017-10-23 10:16:17

技術沙龍Tech NeoCDN

2018-05-25 16:32:04

運維,AI,人工智能,

2011-10-14 18:38:51

Linux運維趨勢優化電子雜志

2012-01-17 09:47:46

Linux運維趨勢CDN緩存
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: av一级在线观看 | 免费视频一区二区 | 国产免费xxx | 精品国产一区二区三区久久影院 | 一区中文字幕 | 亚洲人人| 国产精品a久久久久 | 亚洲风情在线观看 | 国产精品美女久久久久久久久久久 | 婷婷丁香在线视频 | 99热热热热 | 亚洲一二三区精品 | av中文网 | 国产精品久久国产精品久久 | 天天久 | 久久久精品一区二区 | 天堂一区二区三区四区 | 欧美国产日韩一区二区三区 | 免费久久99精品国产婷婷六月 | 综合色播| 99草免费视频 | 狠狠操电影 | 国产精品一区久久久久 | 亚洲免费视频网址 | 日韩一区二区三区av | 国产成人精品在线播放 | 日本免费一区二区三区 | 欧美日韩在线观看视频网站 | 欧美精品二区 | 亚洲精品自在在线观看 | 日本一区二区三区在线观看 | 九九热这里只有精品6 | 99国产精品一区二区三区 | 欧美日韩亚洲国产综合 | 插插插干干干 | 在线免费观看一区二区 | 中国一级特黄毛片大片 | 一区二区三区视频在线观看 | 久久久久久毛片免费观看 | 中文字幕日韩欧美一区二区三区 | 亚洲欧美高清 |