一、關(guān)于Elasticsearch
Elasticsearch是一個(gè)開(kāi)源的信息檢索、分析引擎,它能夠支持全文檢索,結(jié)構(gòu)化搜索和數(shù)據(jù)分析。Elasticsearch在業(yè)內(nèi)是非常主流和熱門的一個(gè)搜索引擎,在整個(gè)DB-Engine熱門指數(shù)排行上面是全球熱度第七的數(shù)據(jù)庫(kù),在檢索方面更是全球熱度第一的檢索引擎。它應(yīng)用的場(chǎng)景,如下圖所示,包括各類信息查詢,比如訂單查詢,以及地理位置查詢,以及日志數(shù)據(jù)的檢索和分析,數(shù)據(jù)分析和可視化。
整個(gè)Elastic Stack開(kāi)源產(chǎn)品生態(tài)矩陣包括Beats、Logstash、Elasticsearch和Kibana這幾部分,也是大家通常所知道的ELK,各個(gè)部分的能力概括如下圖所示。整個(gè)這樣的一套開(kāi)源技術(shù)產(chǎn)品在開(kāi)源領(lǐng)域,已經(jīng)有很多開(kāi)發(fā)者都會(huì)在自己的業(yè)務(wù)中使用。而這些都在阿里云上提供開(kāi)箱即用的全托管的云服務(wù)。
阿里云Elasticsearch提供全托管Elastic Stack服務(wù),100%兼容開(kāi)源,免費(fèi)提供XPack商業(yè)插件,即開(kāi)即用,按需付費(fèi)。同時(shí)深入功能與內(nèi)核性能優(yōu)化,提供更豐富的分析檢索能力,更安全、高可用服務(wù)。
整體優(yōu)勢(shì)體現(xiàn)在兩個(gè)方面。
第一,低成本。阿里云Elasticsearch不僅免費(fèi)提供每個(gè)節(jié)點(diǎn)價(jià)值6000美元的X-Pack商業(yè)插件。還通過(guò)智能運(yùn)維、高級(jí)監(jiān)控告警、容災(zāi)部署等,為用戶降低大規(guī)模集群的運(yùn)維成本。同時(shí),針對(duì)性場(chǎng)景調(diào)優(yōu),提高資源利用效率。
第二,具備更強(qiáng)勁的功能與性能。阿里云Elasticsearch基于開(kāi)源內(nèi)核引擎研發(fā)了日志增強(qiáng)版內(nèi)核,帶來(lái)日志場(chǎng)景的100%成本降低,以及100%性能提升。同時(shí)也通過(guò)向量檢索插件、阿里云SQL插件,不斷完善整體在文本、視頻、音頻、圖像,各方面的信息檢索能力。
另外,與開(kāi)源相比,阿里云Elasticsearch通過(guò)各種企業(yè)級(jí)數(shù)據(jù)安全能力,全面對(duì)齊等保2.0要求,也提供開(kāi)放的二次開(kāi)發(fā)能力,支持各種業(yè)務(wù)場(chǎng)景的封裝。通過(guò)這些構(gòu)成了阿里云Elasticsearch端到端分析檢索架構(gòu),包含數(shù)據(jù)采集層,數(shù)據(jù)加工層,數(shù)據(jù)引擎層,應(yīng)用層。目前,阿里云Elasticsearch已經(jīng)為教育、零售、金融、游戲等然30多個(gè)行業(yè)的幾千家客戶提供云上穩(wěn)定、高性能服務(wù)。在區(qū)域部署上面,阿里云Elasticsearch服務(wù)已經(jīng)覆蓋阿里云全球20個(gè)數(shù)據(jù)中心,同時(shí)也能夠支持本地化的專有云以及混合云的交付模式。
二、電商零售分析檢索能力與解決方案
下面我們會(huì)基于一些場(chǎng)景上的實(shí)際的案例,包括一些架構(gòu),對(duì)Elasticsearch在實(shí)際的功能和能力上做更詳細(xì)的講解。
電商零售——電商業(yè)務(wù)搜索。
電商場(chǎng)景存在海量的商品數(shù)據(jù)、訂單數(shù)據(jù),在售前和售后階段,均對(duì)數(shù)據(jù)的精準(zhǔn)搜索有需求,在售前階段幫助用戶快速找到意向商品和相關(guān)服務(wù);在售后階段幫助用戶找到歷史訂單信息,例如幫助賣家根據(jù)手寫(xiě)退換單中的模糊信息快速找到并處理售后訂單。
綜合數(shù)據(jù)分析
交易及零售行業(yè)在線上線下均有大量的數(shù)據(jù)產(chǎn)生,例如業(yè)務(wù)系統(tǒng)日志、交易數(shù)據(jù)、POS機(jī)數(shù)據(jù)、用戶信息、用戶在門店或線上的行為數(shù)據(jù)、智能設(shè)備數(shù)據(jù)等,需要對(duì)數(shù)據(jù)做多渠道收集、存儲(chǔ)并分析。
場(chǎng)景痛點(diǎn)有三點(diǎn);
1、流量波動(dòng),集群缺彈性:電商零售行業(yè)周期性的流量波峰波谷(周末、大促),集群需要適應(yīng)性的伸縮,直面供應(yīng)鏈成本冗余或者不足的問(wèn)題,以及頻繁變更集群的運(yùn)維成本問(wèn)題高;
2、搜索質(zhì)量要求:搜索作為電商零售場(chǎng)景核心流量入口,搜索準(zhǔn)確率直接影響用戶體驗(yàn)和成交轉(zhuǎn)化,基礎(chǔ)開(kāi)源分詞器無(wú)法滿足高質(zhì)量搜索需求;
3、高穩(wěn)定性要求,成本高:電商零售行業(yè)在流量高峰時(shí),需要同時(shí)承載大量的查詢和寫(xiě)入壓力,對(duì)系統(tǒng)的可用性、穩(wěn)定性保障要求極高。
與之對(duì)應(yīng)的,Elasticsearch提供了適用于此類檢索場(chǎng)景的各種產(chǎn)品能力。
1、體系化產(chǎn)品能力:云上數(shù)據(jù)及服務(wù)高可用、集群一鍵升降配、數(shù)據(jù)存儲(chǔ)加密和安全管控、MS級(jí)的數(shù)據(jù)時(shí)效性。
2、多云災(zāi)備:多云災(zāi)備解決方案。
3、成本優(yōu)化:通過(guò)場(chǎng)景調(diào)優(yōu)、產(chǎn)品組合和價(jià)格策略,TCO下降50%以上。
4、專家級(jí)服務(wù):提供專家級(jí)支撐能力,輸出基于客戶場(chǎng)景的解決方案、架構(gòu)優(yōu)化、疑難問(wèn)題解決。
5、全鏈路支持:云上ELK全產(chǎn)品支持,提供從數(shù)據(jù)采集、傳輸、處理、可視化的一站式服務(wù)。
下面我們從電商零售行業(yè)的訂單檢索出發(fā),來(lái)看下檢索方面客戶的技術(shù)和業(yè)務(wù)有什么問(wèn)題。
在電商、零售行業(yè),交易訂單作為整個(gè)系統(tǒng)的“紐帶”貫穿了整個(gè)系統(tǒng)的關(guān)鍵流程,承載著所有購(gòu)買信息與支付信息。
隨著電商新零售業(yè)務(wù)規(guī)模日益擴(kuò)大,對(duì)各電商/服務(wù)商的系統(tǒng)帶來(lái)了新的挑戰(zhàn)。以雙11大促為例,主要會(huì)面臨以下幾個(gè)問(wèn)題。
1、日訂單數(shù)據(jù)800w+,高流量、高并發(fā)系統(tǒng)壓力大。關(guān)系型數(shù)據(jù)庫(kù)面對(duì)超大數(shù)據(jù)量具有天然的性能瓶頸,如果底層數(shù)據(jù)庫(kù)直接承載業(yè)務(wù)端查詢壓力,可能發(fā)生影響業(yè)務(wù)穩(wěn)定性的問(wèn)題。
2、30+訂單字段,高維度聚合/條件/模糊查詢效率低。傳統(tǒng)DB不滿足靈活的字段組合查詢,Like性能差。業(yè)務(wù)的查詢情況多樣、查詢條件復(fù)雜,對(duì)實(shí)時(shí)性要求高。
3、業(yè)務(wù)波動(dòng)大,系統(tǒng)不能靈活擴(kuò)縮,運(yùn)維難度高。大促帶來(lái)的峰谷波動(dòng),面臨供應(yīng)鏈資源不足或冗余。頻繁變更底層系統(tǒng)的人力運(yùn)維成本高,缺乏支撐和保障。
在查詢檢索的性能提升這一塊,可以看到,傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)有很大的局限性,Elasticsearch是如何與DB能力互補(bǔ)呢?
Elasticsearch基于Lucene核心庫(kù)構(gòu)建,以倒排索引算法為基礎(chǔ),默認(rèn)為所有字段創(chuàng)建索引。數(shù)據(jù)模型采用Free Scheme模式,JSON主體,字段靈活添加,字段層級(jí)位置靈活設(shè)置??梢詰?yīng)付超大的數(shù)據(jù)量查詢,在單索引數(shù)據(jù)量十億級(jí)也可以在亞秒內(nèi)響應(yīng)查詢。任意索引字段可組合使用,且查詢效率相當(dāng)高。多表關(guān)聯(lián)查詢可通過(guò)反范式的關(guān)聯(lián)能力,將多個(gè)業(yè)務(wù)表數(shù)據(jù)合并到一個(gè)索引中。天然分布式設(shè)計(jì),副本與分片機(jī)制使得集群具備彈性擴(kuò)展能力??偟膩?lái)說(shuō),關(guān)系型數(shù)據(jù)庫(kù)比較全能,其分庫(kù)分表的機(jī)制可以很好的保障數(shù)據(jù)不丟失、不覆蓋,但是面對(duì)大規(guī)模的復(fù)雜查詢檢索,會(huì)有一定的局限性。Elasticsearch更為專注于提供靈活高效的查詢能力,將Elasticsearch作為數(shù)據(jù)庫(kù)二級(jí)索引組合使用,可以很好的應(yīng)對(duì)數(shù)據(jù)幾何倍數(shù)增長(zhǎng)、查詢條件動(dòng)態(tài)變化的檢索業(yè)務(wù)場(chǎng)景,實(shí)現(xiàn)數(shù)據(jù)庫(kù)查詢加速。
下面來(lái)看一個(gè)電商訂單檢索案例,是如何使用阿里云Elasticsearch實(shí)現(xiàn)訂單檢索,搭建日志分析平臺(tái)。
案例—愛(ài)用科技
愛(ài)用科技立足于電子商務(wù)行業(yè),是基于淘寶服務(wù)平臺(tái)的最早一批應(yīng)用軟件與信息技術(shù)服務(wù)提供商之一。專注為淘寶電商商家提供包含訂單處理、商品管理、分銷供應(yīng)、數(shù)據(jù)分析、營(yíng)銷打折等功能的軟件產(chǎn)品。現(xiàn)已服務(wù)于400萬(wàn)淘寶商家,使用阿里云Elasticsearch搭建訂單檢索服務(wù)和日志分析平臺(tái)。
在訂單檢索場(chǎng)景,愛(ài)用不僅為超過(guò)40W商家用戶提供穩(wěn)定安全的訂單管理服務(wù),并承諾1~5秒內(nèi)可實(shí)現(xiàn)所有訂單查詢和處理。同時(shí),這樣的一套訂單系統(tǒng)可以支持賣家用戶從接單、訂單管理、打印發(fā)貨、物流跟蹤、到評(píng)價(jià)管理,實(shí)現(xiàn)全流程管理覆蓋,幫助賣家用戶高效、實(shí)時(shí)管理訂單動(dòng)態(tài)。另外,在實(shí)際的檢索能力上,可以支持通過(guò)訂單號(hào)、買家昵稱、關(guān)鍵詞、收件人姓名、手機(jī)號(hào)、收貨地址、交易時(shí)間、賣家備注、賣家留言等20+訂單信息字段,進(jìn)行各類高級(jí)查詢、篩選和排序??偟膩?lái)說(shuō),實(shí)現(xiàn)了超快的訂單加載速度,篩單秒出結(jié)果。
業(yè)務(wù)痛點(diǎn)
1、峰值并發(fā)查詢壓力大,延遲高體驗(yàn)不好,嚴(yán)重影響穩(wěn)定性,無(wú)法達(dá)到為用戶承諾的查詢時(shí)效性。
2、訂單字段復(fù)雜,商家用戶的查詢維度多,和模糊搜索意圖強(qiáng),原先的Postgresql數(shù)據(jù)庫(kù)方案無(wú)法實(shí)現(xiàn)滿意的查詢效果和性能。
3、雙十一、618等購(gòu)物節(jié)業(yè)務(wù)壓力暴漲,難以快速擴(kuò)容。第作為服務(wù)商,將所有客戶的數(shù)據(jù)集中存儲(chǔ)索引管理,
4、數(shù)據(jù)可用性、安全、權(quán)限粒度更要求高,數(shù)據(jù)敏感影響巨大面對(duì)這些問(wèn)題。
Elasticsearch能力
1、PB級(jí)數(shù)據(jù)準(zhǔn)實(shí)時(shí)搜索引擎,查詢結(jié)果毫秒級(jí)返阿里云Elasticsearch研發(fā)了回;索引限流插用以件,保障系統(tǒng)高穩(wěn)定性。
2、支持多種數(shù)據(jù)結(jié)構(gòu)的復(fù)雜查詢,及字段的全文匹配和模糊匹配,同時(shí)集成阿里達(dá)摩院NLP分詞器等多種分詞插件,性能效果雙保障。
3、集群一鍵平滑擴(kuò)縮容,變更對(duì)業(yè)務(wù)0影響,靈活應(yīng)對(duì)流量峰谷。
4、數(shù)據(jù)自動(dòng)備份、多種安全認(rèn)證、字段級(jí)別權(quán)限管最終這塊,愛(ài)用科技基于MySQL+Elasticsearch組合方案了整體實(shí)現(xiàn)訂單查詢。不僅提升了近一倍的IOPS性能,也同時(shí)降低了50%的資源成本。
阿里云Elasticisearch在其他的場(chǎng)景應(yīng)用也有很多案例能力的沉淀。
阿里云Elasticsearch向量檢索能力,被廣泛應(yīng)用在以圖搜圖,智能客服這些場(chǎng)景。
隨著AI技術(shù)的不斷普及,電商場(chǎng)景中針對(duì)向量檢索的需求量在逐步提升。從以圖搜圖、人臉識(shí)別、音視頻識(shí)別到商品智能推薦等場(chǎng)景,技術(shù)上都離不開(kāi)向量檢索的能力支撐。
阿里云Elasticsearch向量檢索插件,基于達(dá)摩院Proxima向量引擎庫(kù),對(duì)向量檢索的一些基礎(chǔ)能力,如聚類、距離計(jì)算、高并發(fā)、Cache等做了深層次的優(yōu)化。
Elasticsearch整套ELK分析可視化方案,被廣泛應(yīng)用于智慧門店場(chǎng)景下的業(yè)務(wù)分析場(chǎng)景。
對(duì)于很多新零售商家諸如海底撈,線下門店分布廣,業(yè)務(wù)體量大,迫切的需要”智慧門店”解決方案,實(shí)現(xiàn)會(huì)員、訂單、商品等多渠道業(yè)務(wù)數(shù)據(jù)的集中管理和實(shí)時(shí)搜索,用于移動(dòng)端綜合搜索和內(nèi)部管理、運(yùn)營(yíng)系統(tǒng)的業(yè)務(wù)指標(biāo)分析?;诎⒗镌艵lastic Stack端到端的產(chǎn)品能力,可以很好的實(shí)現(xiàn)門店數(shù)據(jù)、用戶數(shù)據(jù)、交易數(shù)據(jù)、客流數(shù)據(jù)等全渠道收集,并進(jìn)行數(shù)據(jù)聚合與實(shí)時(shí)數(shù)據(jù)分析,結(jié)合Kibana、QuickBI和DataV打造業(yè)務(wù)數(shù)據(jù)可視化監(jiān)控看板,搭建數(shù)據(jù)應(yīng)用分析、可視化和搜索服務(wù),并支持報(bào)表聯(lián)動(dòng)權(quán)限管控,從而一站式的搭建出整套智慧門店解決方案。
電商零售業(yè)務(wù)分析應(yīng)用的架構(gòu),分為四個(gè)部分,分別是數(shù)據(jù)源&采集,數(shù)據(jù)傳輸、流式數(shù)據(jù)存儲(chǔ),數(shù)據(jù)ETL,數(shù)據(jù)存儲(chǔ)&分析。
三、在線教育全觀測(cè)運(yùn)維監(jiān)控能力與解決方案
接下來(lái),我們會(huì)從在線教育這個(gè)行業(yè)進(jìn)行介紹??傮w來(lái)說(shuō),先來(lái)看三大應(yīng)用場(chǎng)景。
1、1對(duì)1、1對(duì)多、1對(duì)N的在線直播團(tuán)隊(duì):學(xué)員或老師在直播的過(guò)程中,會(huì)產(chǎn)生很多行為動(dòng)作,如進(jìn)入直播間,退出直播間,舉手、上講臺(tái)、涂鴉、加載課件等,如果動(dòng)作無(wú)響應(yīng),對(duì)于用戶體驗(yàn)就很差,需要基于日志的數(shù)據(jù)可視化,來(lái)幫助測(cè)試或研發(fā)監(jiān)控、復(fù)現(xiàn)和定位問(wèn)題;
2、全鏈路應(yīng)用性能監(jiān)控團(tuán)隊(duì):終端用戶(學(xué)生&老師)、客戶(獨(dú)立培訓(xùn)機(jī)構(gòu)或者內(nèi)部課程部門)、平臺(tái)方(平臺(tái)運(yùn)維部分),涉及的問(wèn)題層層傳遞,需要保證性能監(jiān)控的時(shí)效性;
3、試題、教案教義搜索團(tuán)隊(duì):試題的標(biāo)簽個(gè)數(shù)在錄入時(shí)是不確定的,需要底層的搜索/檢索系統(tǒng)可以支持靈活的標(biāo)簽錄入機(jī)制。
在這些場(chǎng)景下,往往有著共同的痛點(diǎn)問(wèn)題。
1、流量波動(dòng),集群缺彈性:教育行業(yè)周期性的流量波峰波谷(周末、寒暑假),集群需要適應(yīng)性的伸縮,直面供應(yīng)鏈成本冗余或者不足的問(wèn)題,以及頻繁變更集群的運(yùn)維成本問(wèn)題高;
2、鏈路冗長(zhǎng),問(wèn)題難定位:數(shù)據(jù)鏈路端到端流程太長(zhǎng),一旦異常定位問(wèn)題成本很高;
3、高穩(wěn)定性要求,成本高:教育行業(yè)不僅僅向客戶暴露業(yè)務(wù)系統(tǒng),日志系統(tǒng)也會(huì)面向用戶使用(如監(jiān)課),全鏈路的穩(wěn)定保障要求極高;
4、搜索高要求:不僅僅是全文檢索,基于標(biāo)簽的本文、甚至是非文本檢索需求導(dǎo)致搜索復(fù)雜。
阿里云Elasticsearch產(chǎn)品在這樣的場(chǎng)景和痛點(diǎn)下,具備以下能力。
1、體系化產(chǎn)品能力:云上數(shù)據(jù)及服務(wù)高可用、數(shù)據(jù)存儲(chǔ)加密和安全管控、MS級(jí)的數(shù)據(jù)時(shí)效性、全鏈路數(shù)據(jù)加快S級(jí)反饋;
2、數(shù)據(jù)時(shí)效性:MS級(jí)的數(shù)據(jù)時(shí)效性,全鏈路數(shù)據(jù)監(jiān)控S級(jí)反饋;
3、多云災(zāi)備:多云災(zāi)備解決方案;
4、TCO成本優(yōu)化:通過(guò)場(chǎng)景調(diào)優(yōu)、產(chǎn)品組合和價(jià)格策略,可以讓客戶TCO下降50%以上;
5、專家級(jí)服務(wù):提供專家級(jí)支撐能力,輸出基于客戶場(chǎng)景的解決方案、架構(gòu)優(yōu)化、疑難問(wèn)題解決。
下面我們從在線教育的一些典型客戶使用方面來(lái)做一些深入的分析。
案例—好未來(lái)
好未來(lái)(前身“學(xué)而思”)是一個(gè)以智慧教育和開(kāi)放平臺(tái)為主體,以素質(zhì)教育和課外輔導(dǎo)為載體,在全球范圍內(nèi)服務(wù)公辦教育,助力民辦教育,探索未來(lái)教育新模式的科技教育公司。
好未來(lái)旗下直播云平臺(tái),為各類教育培訓(xùn)機(jī)構(gòu)輸出包括在線教室和雙師課堂在內(nèi)的全場(chǎng)景教育直播產(chǎn)品及服務(wù)體系。好未來(lái)直播云支撐線上百萬(wàn)人線上課堂,并承諾不卡頓,支持師生互動(dòng);提供從視頻的采集、轉(zhuǎn)碼、發(fā)送、SDRTN、接受、解碼、播放/渲染全鏈路的服務(wù),系統(tǒng)需要提供99.9%傳輸成功率;提供500ms低延遲、高清畫(huà)質(zhì),全球范圍直播授課及同步監(jiān)管能力,7*24小時(shí)線上支持保障;自建ES的全鏈路質(zhì)量監(jiān)控,QoE、QoS等質(zhì)量實(shí)時(shí)監(jiān)控。
面對(duì)這樣高性能、穩(wěn)定性要求的直播系統(tǒng),好未來(lái)的直播鏈路面臨著巨大的挑戰(zhàn)。
1、監(jiān)控指標(biāo)來(lái)源多,實(shí)時(shí)性保障困難。而阿里云Elasticsearch具備豐富異構(gòu)數(shù)據(jù)源采集能力,能夠覆蓋主流DB和日志系統(tǒng)并支持模版化的日志解析處理能力。
2、數(shù)據(jù)權(quán)限粒度要求高。為保障終端用戶的使用體驗(yàn),直播平臺(tái)方需要賦能客戶數(shù)據(jù)監(jiān)控和分析能力,需要提供讀數(shù)據(jù)權(quán)限;無(wú)法滿足每個(gè)客戶一個(gè)集群的需求,需要對(duì)一個(gè)大池子中的數(shù)據(jù)進(jìn)行細(xì)粒度的數(shù)據(jù)權(quán)限分割。面對(duì)這樣高要求的數(shù)據(jù)權(quán)限問(wèn)題,阿里云Elasticsearch本身可以提供精確到字段級(jí)別的數(shù)據(jù)權(quán)限分割能力,并基于RBAC模型支持用戶靈活自定義權(quán)限體系;支持與企業(yè)自有權(quán)限體系對(duì)接打通關(guān)。
3、在線教育的流量波動(dòng)大,自建集群投入成本高。教育行業(yè)寒暑假業(yè)務(wù)流量激增,學(xué)期內(nèi)流量平穩(wěn),機(jī)器資源閑置浪費(fèi);峰值流量集群壓力大,集群容災(zāi)和穩(wěn)定性差。云上Elasticsearch托管很好的提供了集群平滑的伸縮能力,同時(shí)集群熱變更,對(duì)服務(wù)0影響。
在此之中,集群平滑擴(kuò)縮容作為在線教育核心訴求。阿里云Elasticsearch通過(guò)性能優(yōu)化不僅達(dá)到了毫秒級(jí)別的數(shù)據(jù)時(shí)效性,并且支撐數(shù)百個(gè)企業(yè)級(jí)客戶權(quán)限分配管理。當(dāng)遇到流量激增,整體監(jiān)控及日志平臺(tái)可以平滑擴(kuò)容,而峰/谷集群也可以通過(guò)彈性伸縮功能靈活配置,節(jié)約100%成本。和客戶自建服務(wù)效果對(duì)比,體現(xiàn)了降本增效的核心優(yōu)勢(shì)。直播場(chǎng)景下,好未來(lái)整體日志及監(jiān)控平臺(tái)數(shù)據(jù)流程示意圖如下圖所示。
在這個(gè)方案背后,依托的就是ELK的全觀測(cè)能力實(shí)現(xiàn)監(jiān)控運(yùn)維分析。
運(yùn)維系統(tǒng)的成熟度主要根據(jù),所收集數(shù)據(jù)的豐富度、數(shù)據(jù)處理的結(jié)構(gòu)化能力、以及數(shù)據(jù)分析層的復(fù)雜程度所決定。而Elastic Stack能夠充分利用分散在系統(tǒng)各層的數(shù)據(jù),更好的發(fā)揮數(shù)據(jù)價(jià)值。
全觀測(cè)能力,不僅關(guān)注的是基礎(chǔ)的日志和指標(biāo)數(shù)據(jù),更能收集到用戶行為金控、交易性能監(jiān)控、分布式追蹤等APM數(shù)據(jù),通過(guò)對(duì)采集后的數(shù)據(jù)進(jìn)行匯聚處理,進(jìn)行數(shù)據(jù)存儲(chǔ)搜索,以及可視化監(jiān)控告警。而隨著告警能力的完善,數(shù)據(jù)的分析也不僅僅依托于簡(jiǎn)單的規(guī)則和指標(biāo)異常告警,Elasticsearch本身能夠提供高級(jí)的機(jī)器學(xué)習(xí)和關(guān)聯(lián)分析,實(shí)現(xiàn)對(duì)問(wèn)題全鏈路的追蹤。
從而最終實(shí)現(xiàn)了日志、指標(biāo)、APM數(shù)據(jù)在一個(gè)平臺(tái)統(tǒng)一分析。如下圖所示,不僅建立了統(tǒng)一的可視化視圖、對(duì)齊時(shí)間、過(guò)濾條件;除了統(tǒng)一的基于規(guī)則的監(jiān)控和告警;還有統(tǒng)一的機(jī)器學(xué)習(xí)的智能監(jiān)控和告警。
當(dāng)業(yè)務(wù)發(fā)生一些故障,Elasticsearch會(huì)有一個(gè)機(jī)器學(xué)習(xí)的模塊,通過(guò)你的歷史的情況去智能的推測(cè),比如說(shuō),這個(gè)時(shí)候的指標(biāo)大概會(huì)在什么樣的范圍內(nèi)。當(dāng)你的指標(biāo)沒(méi)有在之后,就會(huì)判斷這是一個(gè)異常的情況。在機(jī)器學(xué)習(xí)頁(yè)面,就會(huì)給你這樣一個(gè)告警詳情。然后你就能夠跳轉(zhuǎn)到相應(yīng)的,包括API那些頁(yè)面,儀表盤,指標(biāo)去進(jìn)行后續(xù)的診斷故障。
機(jī)器學(xué)習(xí)頁(yè)面詳細(xì)分析告警,包括各種機(jī)器學(xué)習(xí)任務(wù)告警對(duì)齊;機(jī)器學(xué)習(xí)根據(jù)API響應(yīng)時(shí)間的歷史情況自動(dòng)建模,當(dāng)監(jiān)控值超過(guò)動(dòng)態(tài)閾值就觸發(fā)告警,并且可以指出是哪個(gè)API性能下降;可以從故障點(diǎn)處跳轉(zhuǎn)到APM、儀表板、指標(biāo)、Uptime等其他應(yīng)用來(lái)診斷這個(gè)故障。
APM性能分析,包括總體性能統(tǒng)計(jì)概覽,中央時(shí)間點(diǎn)對(duì)應(yīng)故障時(shí)間點(diǎn);根據(jù)各個(gè)API性能影響的情況排序,影響最大的排最前面。
APM查看分布式調(diào)用有如下幾塊。第一,服務(wù)響應(yīng)時(shí)間分布情況。第二,匯總分布式環(huán)境下的多種服務(wù)。第三,查看分布式環(huán)境下服務(wù)間的調(diào)用關(guān)系和單個(gè)應(yīng)用內(nèi)部的調(diào)用情況。
儀表板綜合分析包括:服務(wù)總體響應(yīng)時(shí)間分析,分服務(wù)的響應(yīng)時(shí)間對(duì)比,把服務(wù)分為各個(gè)實(shí)例性能熱點(diǎn)分析。
查看指標(biāo)分析這一塊,包括可觀察主機(jī)、K8s、docker的指標(biāo)數(shù)據(jù),時(shí)間對(duì)齊告警發(fā)生時(shí)刻。它可以按照每一個(gè)Pod查看性能消耗,可以查看每個(gè)Pod的日志、指標(biāo)、APM、Uptime數(shù)據(jù)。并且,打通指標(biāo)和指標(biāo)、APM。
分析日志定位原因如下圖所示,包括時(shí)間對(duì)齊告警發(fā)生時(shí)刻,自動(dòng)定位到單個(gè)Pod可以自由輸入條件過(guò)濾日志流,可以看到8點(diǎn)這個(gè)時(shí)刻MySQL有大表連接,大量的行掃描。
總體概括來(lái)說(shuō),阿里云Elasticsearch在各個(gè)業(yè)務(wù)場(chǎng)景下,從整體成本,集群管控、檢索能力、安全性和可用性等各個(gè)方面,對(duì)比自建集群均帶來(lái)了全方位的能力與性能優(yōu)化,如下圖所示。