互利科技CEO林坦:大數(shù)據(jù)在日志分析的應(yīng)用與實踐
林坦 | 2016-08-02 10:00
【數(shù)據(jù)猿導(dǎo)讀】 最近,一場“大數(shù)據(jù)商業(yè)應(yīng)用與創(chuàng)新峰會”在北京舉行,來自全國各地的大數(shù)據(jù)領(lǐng)域人員歡聚一堂,就大數(shù)據(jù)的商業(yè)應(yīng)用和價值實踐進(jìn)行深度探討和分享?;ダ萍糃EO林坦在會上發(fā)表了演講,重點給大家分享了大數(shù)據(jù)在日志分析中的應(yīng)用和實踐

7月6日下午,由36大數(shù)據(jù)聯(lián)合搜狐科技、物聯(lián)中國、至頂網(wǎng)、人民網(wǎng)、泡泡網(wǎng)等多家媒體共同舉辦的“大數(shù)據(jù)商業(yè)應(yīng)用與創(chuàng)新峰會”在北京火爆召開。這場行業(yè)盛會吸引了來自IBM、亞信數(shù)據(jù)、聚合數(shù)據(jù)、諸葛io、互利科技、神策數(shù)據(jù)、海云數(shù)據(jù)、萬象等眾多公司的業(yè)界精英參與。來自全國各地的大數(shù)據(jù)領(lǐng)域人員歡聚一堂,圍繞著大數(shù)據(jù)行業(yè)熱點和和發(fā)展趨勢進(jìn)行了巔峰對話和交流,就大數(shù)據(jù)的商業(yè)應(yīng)用和價值實踐進(jìn)行深度探討和分享。
互利科技CEO林坦在現(xiàn)場為大家分享了大數(shù)據(jù)在日志分析中的應(yīng)用經(jīng)驗。他從技術(shù)的角度為大家介紹了日志的背景知識和日志在數(shù)據(jù)分析中的應(yīng)用,并針對日志管理現(xiàn)有存在的問題進(jìn)行了詳細(xì)剖析,林坦認(rèn)為由服務(wù)器和路由器等網(wǎng)絡(luò)設(shè)備產(chǎn)生的日志數(shù)據(jù)作為大數(shù)據(jù)的代表,其非結(jié)構(gòu)化、多來源和分布式等特點給企業(yè)數(shù)據(jù)分析平臺的建設(shè)帶來了挑戰(zhàn),互利目前的日志解決方案已經(jīng)可以做到實時搜索和業(yè)務(wù)分析,互利科技希望在未來的技術(shù)實踐中讓數(shù)據(jù)分析更智能。
北京互利科技有限公司專注于解決企業(yè)級數(shù)據(jù)分析與管理問題。旗下產(chǎn)品HOOLI日志分析平臺,可以對IT運維日志、業(yè)務(wù)日志等非結(jié)構(gòu)化數(shù)據(jù)實時采集、搜索、分析、監(jiān)控和可視化,幫助運營商、互聯(lián)網(wǎng)、金融、物聯(lián)網(wǎng)等行業(yè)挖掘數(shù)據(jù)價值。
以下為互利科技CEO林坦演講速記:
大家好!我是互利科技的CEO林坦,剛才諸葛io的孔淼講的數(shù)據(jù)分析的東西非常好,我也談一談大數(shù)據(jù)在日志分析中的應(yīng)用和實踐。主要分為以下五個模塊來講:
背景知識;
存在的問題;
解決方案;
HOOLI產(chǎn)品;
應(yīng)用場景。
什么是日志?我們知道打網(wǎng)球的時候,網(wǎng)球賽場上會有一個應(yīng)用系統(tǒng),是用來記錄運動員的一舉一動,事后做運動員的動作分析,幫助他們網(wǎng)球技術(shù)的提高。日志也是類似于機器內(nèi)的應(yīng)用系統(tǒng),它時時刻刻記錄著服務(wù)器每時每刻的動態(tài)。
這是一條典型的訪問日志,這樣一條平時看上去不太可讀的信息,其實它包含了大量有用的信息。它包含了用戶的訪問來源,用戶的訪問時間,訪問之后系統(tǒng)的回復(fù),包括使用什么瀏覽器訪問,以及訪問了哪些資源。
日志分析屬于ITOA(IT Operation An)的范疇,ITOA是美國近幾年提出來的概念。它主要的意思是說在海量數(shù)據(jù)中發(fā)現(xiàn)復(fù)雜的模型,并用這些模型做分析的過程。我們可以看到ITOA分4個階段,隨著階段上升復(fù)雜程度的不同,它能提供的商業(yè)價值也是不同的。第一步是最基本的數(shù)據(jù)管理,在數(shù)據(jù)管理之上有基本的監(jiān)控告警功能,再往上是實時關(guān)聯(lián)分析,它可以做數(shù)據(jù)的關(guān)聯(lián)分析。數(shù)據(jù)在很多的情況下都是單點,怎么把數(shù)據(jù)串成線,這是關(guān)聯(lián)的過程。最后是預(yù)測預(yù)防,這是最有價值的東西。前面都是事發(fā)以后,我們做事后的補救,哪怕再及時也是事后的補救,我們希望在事發(fā)之前可以知道有一些問題存在或者需要做一些增長的擴(kuò)容等等。
現(xiàn)在日志分析中主要存在四個問題。一個是統(tǒng)一管理的問題,統(tǒng)一管理主要是說日志的形式很多,怎么把它統(tǒng)一起來,并且把它安全的存放起來。其次是海量數(shù)據(jù)存儲。我們知道非結(jié)構(gòu)化數(shù)據(jù)大概占90%以上,它每天的增量也是按指數(shù)級增長的,如何把這些數(shù)據(jù)存儲起來,是一個很難的問題。
再一個是復(fù)雜動態(tài)的系統(tǒng)。大量應(yīng)用微服務(wù)的架構(gòu)和云計算導(dǎo)致我們的系統(tǒng)越來越復(fù)雜,并且這些復(fù)雜的系統(tǒng)是時時刻刻有事件在傳遞,服務(wù)和服務(wù)之間也是時時刻刻有數(shù)據(jù)交互的。在這樣一個復(fù)雜動態(tài)的系統(tǒng)中,你想找到一些問題或者是想了解一些系統(tǒng)情況是十分復(fù)雜的。根據(jù)系統(tǒng)規(guī)模不同,公司大小的不同,可能一個工程師每天要花20%到80%的時間做這個事,而且這個事做起來不是那么愉快,因為它的過程比較繁雜。最后一個是信息關(guān)聯(lián),有了前面的3個基礎(chǔ),我們最終是想利用數(shù)據(jù)做一些分析,如何在海量數(shù)據(jù)中利用這些信息做實時的關(guān)聯(lián)分析?
首先是統(tǒng)一管理。我們可以看到一個正常的系統(tǒng)可能包含了不同的模塊和部分,從最底層的網(wǎng)絡(luò)到虛擬機再到操作系統(tǒng)以及數(shù)據(jù)庫、中間件和開源框架、程序代碼,這些都是可以選擇不同的配置。同時產(chǎn)生的數(shù)據(jù)格式也是各不相同的,如何把它統(tǒng)一管理起來,這是我們需要處理的問題。統(tǒng)一管理起來之后如何安全的存放又是另外一個問題,所以我們需要統(tǒng)一的日志中心把這些格式不同的數(shù)據(jù)管理起來。
其次是存儲方式。這個是傳統(tǒng)的關(guān)系數(shù)據(jù)庫的圖,它可以用清晰的二維表結(jié)構(gòu)表現(xiàn)出數(shù)據(jù)的結(jié)構(gòu),并且它可以通過主鍵的關(guān)系把數(shù)據(jù)關(guān)聯(lián)起來,接下來你想做分析是十分方便的,因為它們的結(jié)構(gòu)已經(jīng)非常結(jié)構(gòu)化了,并且本身通過主鍵關(guān)聯(lián)起來了。而非結(jié)構(gòu)化的數(shù)據(jù),日志數(shù)據(jù),完全是沒有結(jié)構(gòu)的,你無法用這種圖表存起來。所以我們需要用到非關(guān)系型數(shù)據(jù)庫,包括文件系統(tǒng)存儲這些海量數(shù)據(jù),并且這些存儲方式都是分布式的。
第三個是動態(tài)復(fù)雜的系統(tǒng),這是紐約市地鐵地圖,它以臟亂差和難乘坐出名,它每條線有時候還分單雙號,單號停哪個站,雙號停哪個站,你想看懂這個地圖要分析半天。
最后是信息關(guān)聯(lián),假設(shè)我們開發(fā)了一個APP,有用戶反饋說你這里出了什么問題,交給我們程序員,我們程序員要做什么事呢?他先從代碼級的日志中找通過的用戶ID關(guān)聯(lián)的服務(wù)器,最后發(fā)現(xiàn)可能是虛擬機內(nèi)存爆了或者是其他情況導(dǎo)致程序無法訪問。我們也可以看到它的關(guān)聯(lián)信息的過程不是那么容易的,首先關(guān)聯(lián)很多層,并且這些信息都是一些數(shù)字,你把這些數(shù)字關(guān)聯(lián)起來,是一個比較煩瑣的過程。
如何解決這些問題呢?既然問題出現(xiàn)了,企業(yè)包括工程師肯定會想辦法解決。現(xiàn)有典型的解決方案,一個是從公司層面大家會招更多的人,招人其實不是非常好的方案,因為有些問題你是不能拆分的。比如說現(xiàn)在甲在做A事的時候,你加一個人進(jìn)來,未必效率就提升了,反而可能導(dǎo)致溝通成本上升,導(dǎo)致整體解決事情的效率降低。其次是增加人員之后對于公司來講它的管理成本也會上升,人員成本也會上升,所以這并不是特別好的方案。
然后有一些技術(shù)實力比較強的公司,我反正有程序員,我自己利用開源框架自己做一套解決方案。做的過程中就會發(fā)現(xiàn)開源框架里面坑挺多的,你需要不停的更新迭代做維護(hù),所以這也不是一個省時省力的方法,最后出來的產(chǎn)品并不能達(dá)到你的期望。
第三個方案是有些公司說我有錢,我直接找解決方案提供商,基于我現(xiàn)在的需求定制一套系統(tǒng),因為是定制的,所以價格肯定是非常貴的。并且我們知道現(xiàn)在公司發(fā)展很快,你的業(yè)務(wù)在不斷的增長,原來那套系統(tǒng)是否能跟上業(yè)務(wù)新的增長,這也是一個問題。
而我們的方案需要做什么呢?我們想做的是,首先把任意的數(shù)據(jù)格式統(tǒng)一收集起來,做基本的清洗和結(jié)構(gòu)化的工作。其次我們對數(shù)據(jù)建立索引,這樣就和系統(tǒng)內(nèi)部有谷歌一樣,你可以通過搜索的方式檢索你想要的信息。
最后我們做數(shù)據(jù)建模的工作,加強信息之間的關(guān)聯(lián)關(guān)系,保證你更好的挖掘這些信息的價值。我們目前基本實現(xiàn)了全文檢索、告警、可視化、權(quán)限管理者幾個功能模塊。
我們從時間上對比過去和現(xiàn)在的做法。在這四個場景下,過去異常查詢,遠(yuǎn)程連接一臺服務(wù)器grep,awk,sed寫script;現(xiàn)在我們可以通過關(guān)鍵字搜索所有的日志分析。過去你被入侵了,你甚至都不知道怎么回事或者系統(tǒng)有異常,都不知道攻擊來源,也不知道它是怎么入侵的;現(xiàn)在我們可以通過日志做數(shù)據(jù)關(guān)聯(lián)關(guān)系分析,查找攻擊來源,定位漏洞,找到黑客。
系統(tǒng)性能優(yōu)化方面,原來我們會埋入探針,提高和系統(tǒng)的耦合度?,F(xiàn)在日志它是純第三方的平臺,它和系統(tǒng)的耦合度是非常低的,你這邊的系統(tǒng)是不會影響到那邊客戶的原系統(tǒng)的,可以基于日志記錄的事件做分析。
最后是業(yè)務(wù)分析,剛才孔淼也講了,業(yè)務(wù)分析原來有建數(shù)據(jù)倉儲,用Hadoop跑數(shù)據(jù)存儲的方案,這些方案存在一些問題,一個是它的速度比較慢。現(xiàn)在用日志來做,它基本上可以達(dá)到實時業(yè)務(wù)分析的能力。
從生態(tài)上來對比一下,同樣是這四個場景,我們看Hadoop是可以做業(yè)務(wù)分析的,監(jiān)控它也可以提示一些異常的問題,它可以做到代碼監(jiān)控。安全分析同樣監(jiān)控只能提供某個點,因為它是單點數(shù)據(jù)。它同樣是支持非常細(xì)的代碼級分析的能力,同時它和系統(tǒng)耦合高,而日志分析這一塊,從查詢上來講它是支持實時查詢的,并且它是不需要埋點的。它保留了所有的數(shù)據(jù),并且有數(shù)據(jù)之間的關(guān)聯(lián)關(guān)系,所以它可以做安全問題的回溯分析。從系統(tǒng)來講,它可以做性能的檢測與分析,支持粗粒度分析,基本可以滿足用戶80%左右的需求。最后是業(yè)務(wù)分析,因為日志信息里面同時也包含了業(yè)務(wù)數(shù)據(jù)的場景,所以它是支持實時性的業(yè)務(wù)分析,這點可能比 Hadoop快幾十倍。
剛才是從時間和緯度上對比,現(xiàn)在介紹一下我們的產(chǎn)品,這個是我們產(chǎn)品的長相,剛才我們提到搜索功能,所以上面是有一個搜索框,它可以對搜索語句進(jìn)行檢索。左下角有抽取出來的字段,對這些日志格式做了解析之后,從這里面抽取出有用的信息。
這是基于統(tǒng)計數(shù)值產(chǎn)生的圖表,它是完全可定制的儀表盤,你可以添加任何你需要的信息在儀表盤內(nèi)做一個全盤系統(tǒng)的監(jiān)控。
還有我們的告警功能,它是可以分多級告警,可以設(shè)置時間和通知聯(lián)系人的告警方式。最后有一個數(shù)據(jù)管理的功能,我們知道可能在企業(yè)內(nèi)部,不同級別的人可能管理層和普通員工能看到的數(shù)據(jù)是不一樣的。所以我們做了比較細(xì)的數(shù)據(jù)隔離,保證不同權(quán)限的人可以看到不同的數(shù)據(jù)。
比如說搜索功能,剛才說過我們支持精準(zhǔn)和耦合匹配,同時我們也支持搜索語句管道的能力,類似于Linux管道命令,你可以把前一個搜索結(jié)果作為下一個搜索結(jié)果的輸入。這樣的好處你是很容易基于搜索語句把你需要的信息關(guān)聯(lián)起來,而不是每一條語句做查詢。
再一個是多級別告警,我們經(jīng)常聽到工程師抱怨每天要收到上千封郵件,我們做了基本的告警歸類,而且這個告警是基于搜索語句的,而不是基于某一個單點的告警。所以其實理論上你可以定義任何你想要的告警通知的信息,無論是業(yè)務(wù)增長還是說系統(tǒng)異常方面。保證不同的人有不同的權(quán)限去看不同的數(shù)據(jù),使用我們產(chǎn)品不同的功能模塊。
再給大家舉個例子,剛才講的都是理論上的東西,我們看看具體的實例。首先應(yīng)用場景上來說有三個場景:
運維。查異常錯誤,定位系統(tǒng)問題;
安全。做被黑客入侵之后的安全分析;
商業(yè)洞察。對于用戶行為分析,建立用戶畫像。
假設(shè)有一個網(wǎng)站用戶訪問進(jìn)來說,怎么網(wǎng)站總上不去。他反饋給我們的工程師,我們工程師也不知道為什么。很多時候我們也是出了問題之后,我們也不清楚具體的原因是什么,我們只能做一個模糊的判斷,對服務(wù)器的返回碼做了區(qū)間搜索,我們知道四百到五百基本上是服務(wù)器常見報錯的行為,在下面的圖表中間找到了在某個時間段內(nèi)發(fā)生問題最多的時候,它首先閱讀用戶來自哪個瀏覽器、請求行為、時間,這里面到底發(fā)生了什么事,可以通過結(jié)構(gòu)化好的數(shù)據(jù)做一個基本的判斷。
接下來它通過左邊的字段,把他認(rèn)為有用的圖表添加到儀表盤里面。從圖表中可以看到大部分是來自404,也看到了用戶來源的地理分布,可以看到是北京節(jié)點是最多的。請求路徑,既然現(xiàn)在資源是無法訪問的,具體是哪個無法訪問?現(xiàn)在做了統(tǒng)計,在這時間段內(nèi)用戶發(fā)生問題是用怎樣的方式去訪問這些資源?
最后發(fā)現(xiàn)在北京節(jié)點內(nèi)有一個圖片文件,在7月1號的時候用別的方式請求大部分的圖片文件,最后都返回404找不到這個文件,這樣就很好的定位了出錯的原因?;诮Y(jié)果分析,它發(fā)現(xiàn)大部分來自404,為了防止以后這個事情再次發(fā)生,把404作為單獨的搜索語句,并設(shè)置為告警條件,保證以后在一個小時內(nèi)這個事件發(fā)生大于1000次,自動通知相關(guān)的人員。
如果這個事件觸發(fā)在已觸發(fā)的告警里面察看這樣的狀態(tài),并且可以直接通過查詢結(jié)果看到觸發(fā)狀態(tài)時候所有的日志和圖表情況。
剛才是一個簡單的例子,我們給客戶做的圖中也發(fā)現(xiàn)了一些其他的例子。比如說有些用戶的網(wǎng)站經(jīng)常會有failed password事件發(fā)生,我們當(dāng)時判斷有黑客入侵的行為。我們也同時用clientip定位來源,這樣可以把IP封掉。同時還可以利用error和 exception發(fā)現(xiàn)報錯的原因,結(jié)合pid 、ip以及 timestamp發(fā)現(xiàn)服務(wù)器原來是宕機的原因。最后是流量分析。你通過分析前十的http來源,可以基于這些來源做一些SEO,提高網(wǎng)站的訪問量,這就是HOOLI的應(yīng)用場景。
去年華興資本投資我們公司,目前有一批客戶,還有更大的客戶我們正在做的過程當(dāng)中。我們也和AWS、阿里云、騰訊云和金山云、青云有一些戰(zhàn)略合作關(guān)系。我們公司核心成員基本上來自世界500強企業(yè),并且我們公司人人都懂代碼,可以幫助企業(yè)更好的發(fā)展,幫助職員更好的實現(xiàn)自身價值。
謝謝大家,這是我今天的分享。
來源:36大數(shù)據(jù)
刷新相關(guān)文章
我要評論
活動推薦more >
- 2018 上海國際大數(shù)據(jù)產(chǎn)業(yè)高2018-12-03
- 2018上海國際計算機網(wǎng)絡(luò)及信2018-12-03
- 中國國際信息通信展覽會將于2018-09-26
- 第五屆FEA消費金融國際峰會62018-06-21
- 第五屆FEA消費金融國際峰會2018-06-21
- “無界區(qū)塊鏈技術(shù)峰會2018”2018-06-14
不容錯過的資訊
-
1#后疫情時代的新思考#疫情之下,關(guān)于醫(yī)
-
2眾盟科技獲ADMIC 2020金粲獎“年度汽車
-
3數(shù)據(jù)智能 無限未來—2020世界人工智能大
-
4#2020非凡大賞:數(shù)字化風(fēng)起云涌時,共尋
-
5#榜樣的力量#天璣數(shù)據(jù)大腦疫情風(fēng)險感知
-
6#榜樣的力量#內(nèi)蒙古自治區(qū)互聯(lián)網(wǎng)醫(yī)療服
-
7#榜樣的力量#實時新型肺炎疫情數(shù)據(jù)小程
-
8#榜樣的力量#華佗疫情防控平臺丨數(shù)據(jù)猿
-
9#后疫情時代的新思考#構(gòu)建工業(yè)互聯(lián)網(wǎng)新
-
102020可信云大會丨《云MSP發(fā)展白皮書》重