開源最大的特征就是開放性,雲生态則讓開源技術更具開放性與創造性,Elastic 與阿裡雲的合作正是開源與雲生态共生共榮的典範。值此合作三周年之際,我們邀請業界資深人士相聚雲端,共話雲上Elasticsearch生态與技術的未來。

本篇内容是Elastic首席解決方案構架師朱傑帶來的Elasticstack解決方案與行業應用
分享人:Elastic首席解決方案構架師朱傑
視訊位址:
https://developer.aliyun.com/live/246149關于Elastic Stack如何幫助企業解決問題,本文将通過以下三個部分展開介紹:
- Elastic三大解決方案
- Elasticsearch核心優勢
- Elasticsearch行業應用
一、Elastic三大解決方案
經過這麼多年的發展,可以用這三個詞來概括Elastic主要為使用者解決的問題:搜尋,觀測,防護。
基于這三個詞,接下來會詳細介紹Elastic給客戶解決的問題。
1、企業搜尋
這個解決方案是Elastic曆史最為悠久的一個解決方案,因為在很多年前Elasticsearch開始變得流行的時候,大家主要是把它用來作為搜尋使用的,後來随着應用的改變,我們又把Elastic的一整套工具用作日志、監控等場景。于是就衍生出第二大解決方案。
2、Elastic可觀測
這個解決方案除了日志以外還包括了名額,分布式追蹤等等,構成了一個全方位的可觀測性。
3、安全
整個Elastic還被各大安全的解決方案所使用,構成了一個非常龐大的安全的生态系統,是以也把它歸納成Elastic的安全這一大解決方案。
從Elastic自己歸納出來的三大解決方案就可以看到,Elasticsearch往往在這些方面是被廣泛而非常普遍地去使用的。
接下來看一下各個解決方案的具體細節。
(一)Elastic企業搜尋
主要分為三部分。
1、Workplace Search
這是一個很新的解決方案,對應到企業知識庫搜尋的領域,它其實是有很多的連接配接鍵(connecter),可以連接配接到企業的比如各大網盤, SharePoint,Github等等資料的來源庫,抓取裡面企業的資料,然後把它存進Elasticsearch,去做全文的索引。并且它有一整套完整的UI給大家,可以讓大家能夠非常友善地進行搜尋,能夠搜尋到企業整個範圍的所有知識。
2、App Search & Site Search
這兩個是我們非常熟悉的,比如說我們要開發一個app或網站,大家會有非常多全文搜尋的需求,現在最為流行的就是使用Elasticsearch來為你的app和網站提供全文搜尋的場景。
下圖是Elastic企業搜尋界面的展示。
可以看到,這裡有很多協作的團隊,可以基于這樣一個龐大知識庫幫你去搜到很多項目的檔案,很多文檔,甚至很多代碼。
(二)可觀測
這個解決方案最早被大家所使用的主要是做日志。在這個領域,ELK是非常著名的縮寫,指的是Elasticsearch, logstach, 和Kibana,它被廣泛地使用在各大企業的日志場景。把它叫做可觀測,主要是響應現在運維領域非常流行一個趨勢。這個趨勢就是我們在運維裡面都在緻力于去結合日志,名額,分布式追蹤的資料,還有像Uptime這樣觀測各種API是否線上,各種網站是否線上的資料,把他全方位地融合起來,這樣就可以對整個企業的IT系統從多種角度去看故障和問題。這個在國内外都是一個非常熱門的話題,是以把這個解決方案總括地稱為Elastic的可觀測解決方案。
下圖是Elastic可觀測的界面視圖。
整個界面都展現在整個Kibana平台當中的各種app,它都是由各種app所組合起來,構成了這樣一個全方位的解決方案。在這些app裡面就包含了日志的app,名額的app,分布式追蹤的app,還有專門的像Uptime這樣的應用。這就意味着大家如果使用了Elastic stack一整套工具的話,其實我們已經可以幫你做到對整個環境統一的觀測視圖。而且大家可以看到,把各種資料融合起來具有非常強大的優勢,可以在日志、名額、和APM這些資料,在Kibana之中非常靈活地進行跳轉,不需要去使用很多個這樣的系統就能完成對整個環境的觀察。
(三)Elastic安全
Elastic安全已經被很多安全領域的其他廠家普遍使用。最傳統的叫作SIEM,主要是安全事件的管理,往往我們會把企業整個伺服器上的,網絡的,各種安全裝置的等等,包括很多筆記本、桌上型電腦上的各種日志,彙總到Elasticsearch裡面,然後部署很多的安全規則,來對整個企業的安全進行發現,來觸發很多安全的事件,進而産生這樣的告警。業界這樣的産品已經非常之多了,Elastic作為原廠也會基于整個Elastic Stack來提供我們自己的SIEM的整套解決方案。
同時,我們和别的廠商的不同還在于,我們還具有一個終端的防禦,稱之為Endpoint防禦。這個防禦是一個終端的軟體,它可以安裝在伺服器上,筆記本上等等這些終端上面,它不僅僅可以采集這些安全的事件,同時它可以在第一時間做到一個主動的防禦,幫你去防禦很多惡意的軟體,勒索軟體,還有很多病毒軟體等等,整個采集的資料也會實時地彙總到Elasticsearch這邊,跟大家的很多網絡裝置,安全裝置的資料聚集起來提供對企業整個安全、全面的可觀測性。是以我們的安全解決方案也是非常有新穎特點的。
上圖中可以看到,這是差別于傳統SIEM的界面。在這裡大家可以看到一個終端防禦的鍊路,比如大家點選一個軟體,它觸發了很多行為,其中有些行為是非常可疑的,這些都可以被這個終端防禦的軟體識别和采集到,并觸發各種各樣的告警,第一時間去阻斷這種攻擊。而且我們的安全管理者也可以基于這些資訊進行第一時間的分析和幹預,可以把這個終端進行隔離等等操作。
總結一下,Elasticsearch現在主要為大家解決搜尋問題,觀測問題,和防禦方面的問題,對應了這三大解決方案。
二、Elaticsearch核心優勢
1、Elastic Stack堅實的基礎
這三大解決方案都是建立在Elastic Stack上。這個Stack已經被大家在社群裡廣泛使用,它從最底層進行資料的采集,比如Beats家族可以采集日志名額等各種資料,還有ETL軟體,Logstash主要是在server端對資料進行轉換、清洗、計算作用。它們采集到的資料會寫入到我們最核心的産品Elasticsearch裡面。
Elasticsearch是一個大規模分布式的搜尋引擎,它不僅僅可以存儲大量結構化的資料,同時也會存儲很多非結構化的資料,并提供豐富的查詢能力,對結構化和非結構化資料進行一緻地搜尋,然後傳回結果。
最上面是報表分析和展示平台Kibana,同時在這個平台上還有各種各樣豐富的解決方案的應用,都是嵌入在Kibana這樣一個非常靈活和強大的平台之中的,以插件的形式所運作。
是以這一整套就建構了一個非常強大和堅實的基礎,使得能夠在上面建立起三方面的解決方案,在未來我們還會去夯實每一個解決方案裡面豐富的應用,能夠給大家帶來更好的使用體驗。
2、Elasticsearch演進過程
從前面我們看到Elastic stack被應用得非常廣泛,在搜尋,安全監控領域,安全檢測領域等等。這背後離不開這樣一個演進的時間軸(如下圖)。
2010年,Elasticsearch最早被創立的時候,它僅僅是作為一個全文搜尋的引擎,主要面向非結構化的文本資料。而幾乎對結構化資料的搜尋無使用可能,如聚合分析。
2012年,我們加入了列的存儲,有了列存之後,就可以應對比如對很多列的排序,對很多列的聚合計算,這些都需要有比較現代化的面向列的存儲才可以比較高效地完成。
2014年,又專門推出了聚合架構,在以前它主要是面向非結構化的全文性的搜尋,但是大家可以想象,其實在現實中很多項目裡面,如果要去做很多解決方案一定不能缺少的是聚合的計算,是以在14年的時候我們正式推出了這樣的聚合架構,使之變成了一個可能,由此能夠打開更多的解決方案,應用場景等等。
2016年,繼續對我們結構化資料進行增強,主要是引入了BKD Tree,能夠對數值類型高效地進行存儲和搜尋,它的加速性能是非常之巨大,同時面向列存進行稀疏資料的優化。這些都是面向于結構化的,是以在演進過程中,Elasticsearch從一個僅僅面向非結構化的搜尋引擎,變成了能夠既處理非結構化,又能夠處理結構化的全功能的搜尋引擎。這個本質上就是Elasticsearch為何如此流行的根本原因。
同時從流行度DB-Engine的曲線上來看,也可以看出這樣的一個趨勢。特别是随着演進時間線,它越來越多地支援結構化資料的搜尋和統計之後,流行的程度非常快地增長,到了16年我們已經建構得比較完備的時候,就徹底超越了像Solar這樣的老牌系統。後來Elasticsearch基本上就占據了搜尋引擎的一個主導地位。
3、核心優勢總結
總結一下,Elasticsearch之是以大受歡迎,主要的核心優勢就是這三個詞語:speed,scale和relevance,速度,擴充性和相關性。是以本質上Elasticsearch是一個搜尋公司,是以我們緻力于提供非常快速的搜尋體驗,并且能夠傳回最符合搜尋者要求的這些搜尋結果,但更加關鍵的是我們能夠把這種搜尋能力擴充到海量的資料,這就是Elastic的核心優勢。
三、Elasticsearch行業應用
接下來以一個非常現實的搜尋問題入手,來看看Elasticsearch強大的查詢和聚合能力。比如場景是搜尋一個餐廳,往往條件首先是這個餐廳的評分,假定它的評分是大于三分的,這個屬于結構化搜尋。還需要包含一些特色菜肴,比如搜尋羊肉這道菜,屬于全文搜尋類型,非結構化自動搜尋。第三個條件是要搜尋距離1km以内的符合條件的餐廳,屬于地理位置的經緯度搜尋。這個搜尋必須得把這三部分不同類型的搜尋,用and的連接配接符連接配接起來,并傳回這個結果。Elasticsearch就可以提供這樣強大的搜尋能力,幫你完成這樣複雜的搜尋要求。搜尋完成之後,它會傳回一個命中的清單,還要針對這個傳回的具體清單做一些聚合統計。會統計各種菜的菜系分别包含了哪些餐廳,這個就是非常典型的聚合計算的場景,是以Elasticsearch就可以賦予大家這樣豐富的查詢能力,并且賦予強大的聚合查詢能力。
正是ES強大的搜尋和聚合能力,才造就了現在應用場景的空前繁榮。
這個豐富的詞雲裡面包含了各種行業,其中有最為普遍的金融行業,還有網際網路行業,很多是我們每天的生活都是離不開的,比如點外賣,購物,有訂單的搜尋,背後其實都含有Elasticsearch,還有很多快遞運單的查詢等等,是以大家可以看到Elasticsearch能應用的場景是非常豐富的。
下面就以一些行業為代表,分别去看一下Elasticsearch在這些非常有代表性的行業裡面的應用。
(一) 金融行業
1、業務搜尋
從業務層面來講,比如征信系統,風控系統等等都是可以用Elasticsearch的。背後的邏輯主要還是一個标簽系統的邏輯,對于貸款人員等等會調用很多的算法,基于曆史資料來産生很多使用者畫像的标簽,基于這些标簽就可以設定很多規則的引擎,然後通過Elasticsearch強大和快速的搜尋能力,能夠快速地對這些使用者來産生畫像和評分,進而決定他是否符合貸款條件等等。還有像金融産品的搜尋推薦,本質上也是建立在使用者的畫像基礎上。在保險行業,各大保險公司經常用的是保單查詢這一業務場景,因為保單既包含結構化的資料,又包含非結構化的資料,是以要合起來搜尋條件還是非常苛刻的。廣告系統,很多金融的産品要去推薦給各種客戶,同樣需要依賴于所産生的使用者畫像和使用者标簽,進而去篩選出這些對應的使用者定向推送。這些都可以用Elasticsearch強大的搜尋能力來進行。
2、資料分析
資料分析層面,往往可以做一些交易的分析和統計,代表着我們會把很多交易的記錄導入到Elasticsearch裡面,還包含了像使用者分析,資料分析和統計以及商戶分析等等。
3、系統運維安全
大量金融機構也在用Elastic Stack整個一套工具來進行日志集中化的管理。在日志裡面還可能包含對于整個交易系統,全鍊路日志的串聯,能夠把分布在各個交易系統的并通過Transaction ID串聯到一起,來進行故障的診斷和客服的應對。客服也會有日志的查詢,對應着我們的開發團隊會有故障的定位等等。同樣,整個金融系統也大量地會把一些安全的資料寫到Elasticsearch裡面,然後來部署規則,進行整個安全系統的檢測。
(二) 電商行業
首先,海量的商品需要進行資料的搜尋,有很多個字段。電商所産生的訂單資料量也比較大,同樣它也需要豐富的搜尋條件,這些都可以用Elasticsearch來更高效地去完成多條件的,甚至是全條件的搜尋。基于使用者标簽,它也可以做很多使用者特征的搜尋,能夠定制化地為使用者提供産品推薦。同樣的,在電商領域也會有很多非結構化的記錄産生,比如客服對話,使用者評論等等,都會使用到Elasticsearch來進行搜尋和定位。像物流運單的查詢,更多的是結構化的查詢的場景,它會把壓力從資料庫轉移到Elasticsearch裡來進行查詢。
在這一個領域,它可以做交易資料的分析,勾勒使用者的畫像,分析商戶的行為,店鋪的這些資料行為等。
3、安全運維
同樣的,各種大量的日志也會放在Elastic Stack當中,同樣應對着客服,IT運維來進行。還可以用作APM分布式追蹤,和系統安全的檢測。
(三)線上教育
在業務搜尋裡有教育領域非常典型的線上課程的搜尋。還有比如試題的搜尋,試題關聯會有向量的比對,相似的試題往往會編碼成各種向量,然後對相似的向量進行搜尋。還會有教案的搜尋,是包含豐富文本的。同樣也有訂單、客服的查詢,這些都是有共性的,是以大家可以聯想到這些共性的東西就是可以用Elasticsearch做。
會有很多線上直播的分析、監控等,因為線上的課程會有很多進入直播間,退出直播間,還有學生的反應等等,這些都可以用Elasticsearch來對整個直播程序進行分析。同樣,根據畫像系統也可以對教師、學生進行分析。
包括線上課程的全鍊路的觀測,全的日志,還有API的品質等等,都可以通過Elasticsearch來對整個運維提供更好的資料支撐。
(四)遊戲行業
對遊戲行業論壇是至關重要的,ES會支援遊戲論壇的搜尋。還有道具,商品等等,也離不了商品的搜尋。還有和電商、線上教育都非常類似的訂單和客服支援的資訊查詢。
遊戲的營運會涉及到很多使用者的購買,購買的喜好,可以對他進行分析後進行推薦,來産生更好的效益。各種道具的購買,推薦等等,都可以用到Elasticsearch的能力,幫助大家提高營運的水準和收入。
同樣包括系統和應用日志的分析。還有安全,在遊戲行業是非常重要的,都可以通過Elasticsearch幫助大家進行系統運維的安全和監控。
(五)汽車制造業
有些汽車制造會使用一些配件的搜尋,還有一些汽車的4S管理也會用到Elasticsearch來進行業務資料的搜尋。還有和車聯網相關的創新應用,現在在很多汽車上面都會有很多車機系統,會有這方面業務的資料搜尋。
剛剛提到的車聯網業務,會産生很多使用者資料,通過車聯網發送到雲端,而在雲端很多都是放在Elasticsearch裡面來對車聯網的資料進行多元的搜尋和分析。是以在資料分析會有車聯網使用者的體驗分析,裝置的畫像,以及現在比較新穎的自動駕駛,它會采集大量資料,比如路測的各種資料,很多汽車機關會把這些資料産生的原标簽放到Elasticsearch,來進行搜尋。與之關聯的就是IOT,裝置生産線上的很多資料也可以用到Elasticsearch
同樣的,是對整個系統的日志,還有車聯網微服務的分布式追蹤等等,這些都可以用到Elasticsearch。
以上就是Elastic Stack解決方案與行業應用的全部分享内容。
【
阿裡雲Elastic Stack】100%相容開源ES,獨有9大能力,提供免費 X-pack服務(單節點價值$6000)
相關活動
更多折扣活動,請
通路阿裡雲 Elasticsearch 官網 阿裡雲 Elasticsearch 商業通用版,1核2G ,SSD 20G首月免費 阿裡雲 Logstash 2核4G首月免費 下載下傳白皮書:Elasticsearch 八大經典場景應用