从 Elasticsearch 到 Elastic Stack—Elastic Stack 实战手册

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 从早期开发的 Elasticsearch 到之后 ELK Stack 的发布,Elastic 在此期间经历了辉煌发展,也有混乱的时期,随后又推出了 Elastic Stack,并迎来了新的时代。

970X90.png

· 更多精彩内容,请下载阅读全本《Elastic Stack实战手册》

· 加入创作人行列,一起交流碰撞,参与技术圈年度盛事吧

编辑:葛丽丽

从早期开发的 Elasticsearch 到之后 ELK Stack 的发布,Elastic 在此期间经历了辉煌发展,也有混乱的时期,随后又推出了 Elastic Stack,并迎来了新的时代。

2000年

源自查找菜谱的 APP

伦敦的公寓内,Shay Banon 正在忙着寻找工作,而他的妻子正在蓝带 (Le Cordon Bleu) 烹饪学校学习厨艺。在空闲时间,他开始编写搜索引擎来帮助妻子管理越来越丰富的菜谱。

他的首个迭代版本叫做 Compass,第二个迭代版本就是 Elasticsearch(基于Apache Lucene 开发)。之后,他将 Elasticsearch 作为开源产品发布给公众,并创建了#Elasticsearch IRC 通道,剩下来就是静待用户出现了。

产品正式发布后,公众反响十分强烈,用户自然而然地就喜欢上了这款软件。由于使用量急速攀升,此软件开始有了自己的社区,并引起了人们的高度关注,尤其引发了几位创始人 StevenSchuurman、Uri Boness 和 Simon Willnauer 的浓厚兴趣。最终,他们四人共同组建了一家搜索公司。

F2A9A1DC-78E5-498c-A31E-8E20CD7C0801.png

2012年

Search Inc. 阶段

在 Elasticsearch Inc. 成立前后,另外两个开源项目也正在跨越式发展。

Jordan Sissel 当时正在开发 Logstash,这是一款开源的可插拔数据采集工具,可将日志文件发送至用户选择的“储藏库”。除此之外,他还在开发一款 UI,以实现日志数据的可视化,但这一产品的稳定性却实在让人难以恭维。

幸运的是,还有其他人也在潜心钻研可视化这个难题。这个人就是 Rashid Khan,他当时在开发一款名为 Kibana 的开源 UI。

Shay、Jordan 和 Rashid 彼此已认识了一段时间,对各自的产品也颇为了解,所以他们最终决定携手共同发展,ELK Stack 正式面世,即:Elasticsearch、Logstash 和 Kibana Stack。

不久之后,Elasticsearch Inc. 就推出了两个商用插件:一是用于监测的 Marvel,二是用于防护的 Shield。

2015年

更名为 Elastic;喜纳 Found

在 2015 年于旧金山举行的 Elastic{ON} 大会上,Elastic 宣布了两项重要决定:第一,将公司品牌更名为 Elastic,新的品牌名称能够更好地代表逐渐扩大的产品生态系统和用例套件;第二,Elastic 与在 AWS 上提供 Elasticsearch 主机托管服务的公司 Found 实现了合作。通过这一合作,Elastic 能够提供市场上最简单、最全面的产品组合。

最初发展的问题

早期,Elastic 开发和发布软件时采用的是工程师各自为战的方法:工程师可以在任何时候推出任何喜欢的版本,唯一的要求就是产品要好。Kibana 有公测版,Logstash 采用里程碑,Elasticsearch 则采用数字编号。如果工程师高兴,还可以推出插件。尽管十分混乱,但是一切还算行得通,直到最后无法使用。

随着用户通过产品来完成越来越多的任务,Elastic 需要开发更好的产品来为用户提供更多帮助,所以添加了更多功能,开发了新插件和扩展。产品的确变得越来越好了,然而也越来越复杂,技术栈变得越来越混乱。

例如,如果运行的 Elasticsearch 是1.7版本,而运行的其他插件是 2.3 版本,则软件不能自动检测二者是否兼容,也无法验证插件是否在无预警的情况下已不能正常使用。

在 Elastic,也开始听到内部员工说:“如果想使用 Shield,需要使用 Elasticsearch 1.4.2,但前提是不能使用 Watcher。如果使用 Watcher 的话,则需要使用 Elasticsearch 1.5.2。而如果使用 Elasticsearch 1.5.2 的话,其仅能与 Kibana 4.0.x、Logstash 1.4.x、Shield 1.2.x 和 Watcher 1.0.x 兼容。”

Elastic 的版本控制做得一团糟,必须得研究对策;同时,支持矩阵也表现欠佳。

调整业务步伐,推出 Beats

就在产品团队为版本编号忙得团团转的时候,另外一个产品故事正在拉开序幕。Elastic 在2015年迎来了 Packetbeat,这是一家夫妻档公司,致力于开发一种轻量化方式来将网络数据发送至 Elasticsearch。

这启发了当时的 Elastic:如果开发一系列单一用途的轻量化数据传送工具,将网络数据、日志、指标、审计数据等从边缘机器传输到 Logstash 和 Elasticsearch,结果会怎样?就这样,Beats 应运而生了。

同步推出新产品版本

2015年10月对 Elastic 来说是一个重大转折点,因为解决了产品版本编号问题,同时也降低了兼容性的复杂程度。

这一发布版本又称为“Bonanza 同步版”,是 Elastic 第一次在同一天面向公众发布全部产品:Elasticsearch 2.0、Logstash 2.0、Watcher 2.0、Shield 2.0 和 Kibana 4.2。

通过这次调整,用户得以更轻松地启用产品,同时也提高了产品的可靠性,帮助用户出色地完成任务。

一键部署,Elastic Cloud 隆重推出

几个月后,“Bonanza 同步版”不再仅仅局限于供人们下载的产品,通过 Elastic Cloud(即之前的 Found),在 AWS 上推出了 Elasticsearch 和 Kibana 服务。

2016年

Elastic Stack 5.0

Elastic 致力于推出更为成熟的产品系列,通过发布 Elasticsearch 2.0 来统一发布步调就是第一步,5.0 的发布则是第二步。与之前的所有版本相比,用户通过这一版本可以体验集成性能更强,经过更严格测试且更加易于入门的产品。

5.0发行版本的同时还将所有商用插件(当时被称为 Shield、Marvel 和 Watcher)整合为单一扩展,即 X-Pack,其包含了核心产品,诸如 security、monitoring 和 alerting 等的功能,并且随着 Prelert 公司也加入 Elastic,machine learning 也开始纳入其中。

模块应运而生

在 5.3 版本中,Filebeat 正式引入了“模块”的概念,可以将模块理解为用于在 Elastic Stack 中传输、解析、存储、分析常用日志格式(例如 Apache、Nginx 和 MySQL 等),并实现可视化的一组安全配置,它简化了用户从数据集至仪表板的入门体验。

Metricbeat 和 Packetbeat 的模块都各具特色,几个月后,Logstash 也将针对 ArcSight 和 NetFlow 数据引入自身模块。

2017年

ECE 面世

这年,Elastic 采纳了管理自身 Elastic Cloud 服务时所用的技术,并发布了 Elastic Cloud Enterprise(又称 ECE),让所有规模的公司均能下载全部的托管产品,并独立运行,享受其带来的益处。有了 ECE,无论是一个集群,还是数千个集群,用户都能够顺利地对其进行管理,而且还可以简化在任何环境中对 Elastic 产品和解决方案的管理和编排工作。

Elastic 解决方案加速演进

随着模块数量的成倍增加,使用 Elastic Stack 来处理特定用例(例如日志或指标)开始变得越来越简单。几个月后,Elastic 并购了应用程序性能监测(APM) 公司 Opbeat,以及站点和企业搜索公司 Swiftype。

此时,Elastic 的发展已经日趋成熟,可以提供解决常见问题的精简方式。这些解决方案包含从 DIY 到更加一站式的体验,每套解决方案的背后都有真实的产品作为支撑,而且在几分钟内即可部署完毕。

2018年

开放 X-Pack 代码

2018年,Elastic 决定开放商用 X-Pack 功能的源码,从而加速开发周期,提高社区互动,并让每个人都能够贡献源码,对源码添加评论,并对其进行检查。

因此,用户能够更加轻松地使用 Elastic Stack,所有的 X-Pack 功能都默认提供 Elasticsearch、Kibana、Beats 和 Logstash。但这一改变并未删除任何 Apache 2.0 源码。恰恰相反,Elastic 在开放源码的发展道路上加大了力度。

纽交所敲钟

作为一家分布式公司,2018年10月5日,Elastic 在纽约证券交易所敲钟,正式成为一家上市公司。交易大厅里多达 230 名 Elastic 员工聚在这里(创下了纪录),全球各地员工共同庆祝这一重要时刻。

Elastic 的发展历程还在继续,相信之后的探索发现之旅将会越来越精彩。

8EA0C2E6-AD85-47A9-BA2C-AFA294AB5BAD.png

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
4月前
|
存储 数据采集 数据处理
数据处理神器Elasticsearch_Pipeline:原理、配置与实战指南
数据处理神器Elasticsearch_Pipeline:原理、配置与实战指南
176 12
|
5月前
|
缓存 数据处理 数据安全/隐私保护
Elasticsearch索引状态管理实战指南
Elasticsearch索引状态管理实战指南
|
5月前
|
存储 索引
Elasticsearch索引之嵌套类型:深度剖析与实战应用
Elasticsearch索引之嵌套类型:深度剖析与实战应用
|
6月前
|
人工智能 自然语言处理 开发者
Langchain 与 Elasticsearch:创新数据检索的融合实战
Langchain 与 Elasticsearch:创新数据检索的融合实战
190 10
|
5月前
|
存储 JSON 搜索推荐
Springboot2.x整合ElasticSearch7.x实战(三)
Springboot2.x整合ElasticSearch7.x实战(三)
48 0
|
5月前
|
存储 自然语言处理 关系型数据库
Springboot2.x整合ElasticSearch7.x实战(二)
Springboot2.x整合ElasticSearch7.x实战(二)
50 0
|
5月前
|
搜索推荐 数据可视化 Java
Springboot2.x整合ElasticSearch7.x实战(一)
Springboot2.x整合ElasticSearch7.x实战(一)
48 0
|
6月前
|
运维 架构师 搜索推荐
7 年+积累、 Elastic 创始人Shay Banon 等 15 位专家推荐的 Elasticsearch 8.X新书已上线...
7 年+积累、 Elastic 创始人Shay Banon 等 15 位专家推荐的 Elasticsearch 8.X新书已上线...
84 4
|
6月前
|
存储 缓存 监控
干货 | Elasticsearch 8.X 性能优化实战
干货 | Elasticsearch 8.X 性能优化实战
601 2
|
6月前
|
存储 机器学习/深度学习 API
高维向量搜索:在 Elasticsearch 8.X 中利用 dense_vector 的实战探索
高维向量搜索:在 Elasticsearch 8.X 中利用 dense_vector 的实战探索
553 0
高维向量搜索:在 Elasticsearch 8.X 中利用 dense_vector 的实战探索

相关产品

  • 检索分析服务 Elasticsearch版