Elastic Stack简介

本文内容参考了田雪松老师编著的《Elastic Stack应用宝典

从ELK到Elastic Stack

ELK是三个单词的首字母缩写,即Elasticsearch、Logstash和Kibana。

  • Elasticsearch用于数据存储与检索
  • Logstash用于数据传输与清洗
  • Kibana则用于数据可视化等领域

Elasticsearch的第一个版本叫Compass,是Elastic创始人Shay Banon在2004年创建的一个搜索引擎。

第二个版本基于Apache Lucene开发,并在2010年以Elasticsearch为名开源。

Shay Banon在2012年创办了Elasticsearch公司,并于2015年更名为Elastic。

由于Elasticsearch的影响不断扩大,催生了两个与其相关的开源项目,它们就是Logstash和Kibana。由于这两个项目填补了Elasticsearch在数据传输、数据可视化等方面的欠缺,所以不久之后这两个项目也加入了Elastic公司,于是ELK就这样诞生了。

在2015年,一个名为Packetbeat(以一种轻量级方式将网络数据发送到Elasticsearch)的开源项目引起了Elastic公司的重视。它是由一对德国夫妻设计的。Elastic开发团队由此引申,计划开发出一组专门用于数据传送的轻量级组件,可以将网络、日志、指标、审计等各种数据从不同的数据源头发送到Logstash或Elasticsearch。Elastic公司给这种组件起了一个统一的名字,这就是Beats组件。

Beats组件的加入,使得ELK这个名称不能再概括Elastic的所有开源项目了,于是ELK就自然而然地更名为ELK Stack。但ELK这个名称本身又有一定的缩写含义,依然容易引起误会,所以最终它们被统一称为Elastic Stack。

2018年10月6日,Elastic公司在纽约证券交易所挂牌上市。

版本演变

早期,每个项目都有一套自己管理版本的办法。Kibana使用betas, Logstash使用里程碑,Elasticsearch则使用数字,这使得Elastic Stack家族成员的版本异常混乱。不仅如此,由于这些开源项目的不同版本之间又无法自动处理兼容问题,使得用户必须要了解并处理不同版本之间的兼容问题。

2015年ELK 2.0作为一个整体同时发布,解决了版本协调同步与兼容问题。

到2016年,ELK 5.0发布时,ELK整体变得更加友好、更加稳定,同时还提供了丰富的文档,使用户在入门时更加容易掌握。

许可授权

在ELK 5.0版本以后,Elastic将所有的商用插件捆绑到一个名为X-Pack的扩展中,它包含了类似安全、监控、报警等扩展功能,这应该是Elastic Stack商业化的一次尝试。

在2018年2月,Elastic将这些商用X-Pack开放了源代码,但依然需要商用授权许可。在Elastic Stack文档中也有多处提及X-Pack,读者可以将它们理解为Elastic Stack的扩展组件。

至2017年,Elastic发布了名为ECE(Elastic Cloud Enterprise)的云服务平台,这应该是Elastic在商业化道路上的又一次尝试。

从Elastic Stack 6.8和7.1版本开始,Elasticsearch的核心安全功能(TLS加密、原生和基于文件的身份验证,以及基于角色的访问控制)已经可以免费使用了。

应用场景

Beats组件从分布式环境中的主机节点上采集数据发送给Logstash,而Logstash根据配置将数据过滤、清洗后再发送给Elasticsearch并编入索引,最后在Kibana中配置仪表盘、画布等并从Elasticsearch中读取数据将它们可视化。最典型的应用场景就是使用Elastic Stack从文件中收集日志。

除了组合在一起使用,Elastic Stack中的每一种组件又可以独立使用,或者是与第三方应用结合在一起使用。一种典型的应用场景是与Kafka等第三方MQ组件结合使用,以防止瞬间流量爆发导致的系统崩溃。

Logstash也可以脱离Beats和Elasticsearch作为一个数据传输管道单独使用,比如可以使用Logstash从关系型数据库中收集表格中的数据,然后将它们传输到类似MogonDB这样的NoSQL数据库中,这其实就是结构化数据实现全文检索的典型应用场景。与此同时,还可以将这些结构化数据存储到S3、HDFS等分布式文件系统中,这其实就实现了海量结构化数据的备份功能。

相关推荐
Fanxt_Ja17 小时前
多线程之ES同步数据
java·大数据·elasticsearch·搜索引擎
历程里程碑18 小时前
Linux19 实现shell基本功能
linux·运维·服务器·算法·elasticsearch·搜索引擎·哈希算法
yqd6661 天前
elasticsearch
大数据·elasticsearch·搜索引擎
Elastic 中国社区官方博客1 天前
金融服务公司如何大规模构建上下文智能
大数据·人工智能·elasticsearch·搜索引擎·ai·金融·全文检索
策知道1 天前
2026年北京政府工作报告产业指标深度解析
大数据·数据库·人工智能·搜索引擎·政务
小程故事多_802 天前
Elasticsearch ES 分词与关键词匹配技术方案解析
大数据·人工智能·elasticsearch·搜索引擎·aigc
铭毅天下2 天前
Python 同时适配 Elasticsearch 与 Easysearch 实战复盘
大数据·elasticsearch·搜索引擎·全文检索
Python+JAVA+大数据2 天前
SQL玩出算法竞赛高度!郑凌云数独算法:递归CTE+位运算DFS回溯全解析
数据库·sql·算法·搜索引擎·深度优先·dfs
历程里程碑2 天前
滑动窗口------滑动窗口最大值
大数据·python·算法·elasticsearch·搜索引擎·flask·tornado
虫小宝2 天前
淘宝返利软件的日志审计系统:Java Logback+ELK Stack实现操作日志的可追溯与可视化分析
java·elk·logback