ElasticSearch第三講:ES詳解 - Elastic Stack生態(tài)和場(chǎng)景方案
本文是ElasticSearch第三講,在了解ElaticSearch之后,我們還要了解Elastic背后的生態(tài) 即我們常說的ELK;與此同時(shí),還會(huì)給你展示ElasticSearch的案例場(chǎng)景,讓你在學(xué)習(xí)ES前對(duì)它有個(gè)全局的印象。
1、Elastic Stack生態(tài)
Beats + Logstash + ElasticSearch + Kibana
如下是我從官方博客中找到圖,這張圖展示了ELK生態(tài)以及基于ELK的場(chǎng)景(最上方)
由于Elastic X-Pack是面向收費(fèi)的,所以我們不妨也把X-Pack放進(jìn)去,看看哪些是由X-Pack帶來的,在閱讀官網(wǎng)文檔時(shí)將方便你甄別重點(diǎn):
1.1、Beats
Beats是一個(gè)面向輕量型采集器的平臺(tái),這些采集器可以從邊緣機(jī)器向Logstash、ElasticSearch發(fā)送數(shù)據(jù),它是由Go語言進(jìn)行開發(fā)的,運(yùn)行效率方面比較快。從下圖中可以看出,不同Beats的套件是針對(duì)不同的數(shù)據(jù)源。
1.2、Logstash
Logstash是動(dòng)態(tài)數(shù)據(jù)收集管道,擁有可擴(kuò)展的插件生態(tài)系統(tǒng),支持從不同來源采集數(shù)據(jù),轉(zhuǎn)換數(shù)據(jù),并將數(shù)據(jù)發(fā)送到不同的存儲(chǔ)庫中。其能夠與ElasticSearch產(chǎn)生強(qiáng)大的協(xié)同作用,后被Elastic公司在2013年收購(gòu)。
它具有如下特性:
1)實(shí)時(shí)解析和轉(zhuǎn)換數(shù)據(jù);
2)可擴(kuò)展,具有200多個(gè)插件;
3)可靠性、安全性。Logstash會(huì)通過持久化隊(duì)列來保證至少將運(yùn)行中的事件送達(dá)一次,同時(shí)將數(shù)據(jù)進(jìn)行傳輸加密;
4)監(jiān)控;
1.3、ElasticSearch
ElasticSearch對(duì)數(shù)據(jù)進(jìn)行搜索、分析和存儲(chǔ),其是基于JSON的分布式搜索和分析引擎,專門為實(shí)現(xiàn)水平可擴(kuò)展性、高可靠性和管理便捷性而設(shè)計(jì)的。
它的實(shí)現(xiàn)原理主要分為以下幾個(gè)步驟:
1)首先用戶將數(shù)據(jù)提交到 ElasticSearch 數(shù)據(jù)庫中;
2)再通過分詞控制器將對(duì)應(yīng)的語句分詞;
3)將分詞結(jié)果及其權(quán)重一并存入,以備用戶在搜索數(shù)據(jù)時(shí),根據(jù)權(quán)重將結(jié)果排名和打分,將返回結(jié)果呈現(xiàn)給用戶;
1.4、Kibana
Kibana實(shí)現(xiàn)數(shù)據(jù)可視化,其作用就是在ElasticSearch中進(jìn)行民航。Kibana能夠以圖表的形式呈現(xiàn)數(shù)據(jù),并且具有可擴(kuò)展的用戶界面,可以全方位的配置和管理ElasticSearch。
Kibana最早的時(shí)候是基于Logstash創(chuàng)建的工具,后被Elastic公司在2013年收購(gòu)。
1)Kibana可以提供各種可視化的圖表;
2)可以通過機(jī)器學(xué)習(xí)的技術(shù),對(duì)異常情況進(jìn)行檢測(cè),用于提前發(fā)現(xiàn)可疑問題;
2、從日志收集系統(tǒng)看ES Stack的發(fā)展
我們看下ELK技術(shù)棧的演化,通常體現(xiàn)在日志收集系統(tǒng)中。
一個(gè)典型的日志系統(tǒng)包括:
(1)收集:能夠采集多種來源的日志數(shù)據(jù)
(2)傳輸:能夠穩(wěn)定的把日志數(shù)據(jù)解析過濾并傳輸?shù)酱鎯?chǔ)系統(tǒng)
(3)存儲(chǔ):存儲(chǔ)日志數(shù)據(jù)
(4)分析:支持 UI 分析
(5)警告:能夠提供錯(cuò)誤報(bào)告,監(jiān)控機(jī)制
2.1、beats+elasticsearch+kibana
Beats采集數(shù)據(jù)后,存儲(chǔ)在ES中,由Kibana可視化的展示。
2.2、beats+logstath+elasticsearch+kibana
該框架是在上面的框架的基礎(chǔ)上引入了logstash,引入logstash帶來的好處如下:
(1)Logstash具有基于磁盤的自適應(yīng)緩沖系統(tǒng),該系統(tǒng)將吸收傳入的吞吐量,從而減輕背壓。
(2)從其他數(shù)據(jù)源(例如數(shù)據(jù)庫,S3或消息傳遞隊(duì)列)中提取。
(3)將數(shù)據(jù)發(fā)送到多個(gè)目的地,例如S3,HDFS或?qū)懭胛募?/p>
(4)使用條件數(shù)據(jù)流邏輯組成更復(fù)雜的處理管道。
beats結(jié)合logstash帶來的優(yōu)勢(shì):
(1)水平可擴(kuò)展性,高可用性和可變負(fù)載處理:beats和logstash可以實(shí)現(xiàn)節(jié)點(diǎn)之間的負(fù)載均衡,多個(gè)logstash可以實(shí)現(xiàn)logstash的高可用;
(2)消息持久性與至少一次交付保證:使用beats或Winlogbeat進(jìn)行日志收集時(shí),可以保證至少一次交付。從Filebeat或Winlogbeat到Logstash以及從Logstash到Elasticsearch的兩種通信協(xié)議都是同步的,并且支持確認(rèn)。Logstash持久隊(duì)列提供跨節(jié)點(diǎn)故障的保護(hù)。對(duì)于Logstash中的磁盤級(jí)彈性,確保磁盤冗余非常重要。
(3)具有身份驗(yàn)證和有線加密的端到端安全傳輸:從Beats到Logstash以及從 Logstash到Elasticsearch的傳輸都可以使用加密方式傳遞 。與Elasticsearch進(jìn)行通訊時(shí),有很多安全選項(xiàng),包括基本身份驗(yàn)證,TLS,PKI,LDAP,AD和其他自定義領(lǐng)域
增加更多的數(shù)據(jù)源 比如:TCP,UDP和HTTP協(xié)議是將數(shù)據(jù)輸入Logstash的常用方法
2.3、beats+MQ+logstash+elasticsearch+kibana ?
在如上的基礎(chǔ)上我們可以在beats和logstash中間添加一些組件redis、kafka、RabbitMQ等,添加中間件將會(huì)有如下好處:
(1)降低對(duì)日志所在機(jī)器的影響,這些機(jī)器上一般都部署著反向代理或應(yīng)用服務(wù),本身負(fù)載就很重了,所以盡可能的在這些機(jī)器上少做事;
(2)如果有很多臺(tái)機(jī)器需要做日志收集,那么讓每臺(tái)機(jī)器都向Elasticsearch持續(xù)寫入數(shù)據(jù),必然會(huì)對(duì)Elasticsearch造成壓力,因此需要對(duì)數(shù)據(jù)進(jìn)行緩沖,同時(shí),這樣的緩沖也可以在一定程度保護(hù)數(shù)據(jù)不丟失;
(3)將日志數(shù)據(jù)的格式化與處理放到Indexer中統(tǒng)一做,可以在一處修改代碼、部署,避免需要到多臺(tái)機(jī)器上去修改配置;
3、Elastic Stack最佳實(shí)踐
我們?cè)倏聪鹿俜介_發(fā)成員分享的最佳實(shí)踐。
3.1、日志收集系統(tǒng)
基本的日志系統(tǒng)
增加數(shù)據(jù)源,和使用MQ
3.2、Metric收集和APM性能監(jiān)控
3.3、多數(shù)據(jù)中心方案
通過冗余實(shí)現(xiàn)數(shù)據(jù)高可用
兩個(gè)數(shù)據(jù)采集中心(比如采集兩個(gè)工廠的數(shù)據(jù)),采集數(shù)據(jù)后的匯聚
數(shù)據(jù)分散,跨集群的搜索文章來源:http://www.zghlxwxcb.cn/news/detail-727174.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-727174.html
4、參考文章
- https://www.elastic.co/cn/elasticsearch/
- https://www.elastic.co/pdf/architecture-best-practices.pdf
- https://www.elastic.co/guide/en/logstash/current/deploying-and-scaling.html
- https://www.cnblogs.com/supersnowyao/p/11110703.html
- https://blog.51cto.com/wutengfei/2645627
到了這里,關(guān)于ElasticSearch第三講:ES詳解 - Elastic Stack生態(tài)和場(chǎng)景方案的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!