Elastic Stack是由ELK演化而来,ELK是三种软件的简称,分别是Elasticsearch、logstash、kibana组成,在发展的过程中,又有新成员Beats的加入,形成了Elastic Stack。
也就是ELK在兼并Beats后形成的新联盟–ELKB是Elastic Stack。
(兼并一个组件就要加一个首字母,那ELKB就会变成ELKBXC巴拉巴拉的~~)
Elasticsearch
Elasticsearch是一个基于Java的开源分布式搜索引擎,他的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。
Logstash
Logstash基于Java,是一个开源的用于收集,分析与存储日志的工具
Kibana
Kibana基于nodejs,也是一个开源的工具。他为Logstash和Elasticsearch提供用于日志分析的web友好界面,可以汇总,分析和搜索重要数据日志。
Beats
Beats是elastic公司开源的一款用于采集系统监控数据的代理agent,是在被监控服务器上以客户端形式运行的数据收集器的统称。可以直接把数据发送给Elasticsearch或通过Logstash发送给Elasticsearch,然后进行后续的数据分析活动。
beats(采集数据)–》Logstash(ETL)–》Elasticsearch(存储与搜索)–》Kibana(数据可视化)
https://elasticsearch.cn/topic/Elastic+Stack
https://www.ruanyifeng.com/blog/2017/08/elasticsearch.html
ES 、 solr、OpenSearch
只有ES 和 solr 是同类产品,Search engine 跟 DB use case 本质有不同。
ES 比 Solr 成熟很多,后期 Solr 也抄袭了很多Elasticsearch 的feature (其中我自己就给Solr 写了一个 Stats. percentiles 的 feature 是抄的ES的,借用了T-Digest lib
现在elasticsearch 已经不再是单独一个search engine了,周围附加产品和功能比Solr 多出很多。
国内的话,推荐阿里云的OpenSearch,对中文支持好,功能也丰富(太贵)