Elastic Stack 5.0 正式发布
记得在 2016 年 2 月份,就在 Elastic{ON} 16 大会之后,我写了一篇标题为 Heya, Elastic Stack and X-Pack 的博客。经过了几乎整整一年的努力,中间发布了 5 个 Alpha,1 个 Beta 和一个 RC 版本,今天我们非常高兴的正式宣布发布 Elastic Stack 的 GA 正式版本。
并且,于此同时,在我们在 Elastic Cloud 上面也同步进行了更新。所以如果你需要托管的 Elasticsearch 和 Kibana ,那么没有其它地方比这里更及时了。我们致力于让 Elastic Cloud 成为一个托管 Elasticsearch 的最佳场所。而在正式版发布之前,我们已经提供了 RC 版本方便你用于测试。
我们的团队今天正在庆祝这一时刻,我希望你能加入我们。
GA 版本今天已经可以下载了,如果要加入 Elastic 团队 11 月 3 号的线上活动,了解更多有关于本次发布和向工程师提问,请点击这里 注册!
在开始探索发布详情之前,我想借此机会来回顾一下有哪些背后的事情让我们走到今天。
我们的社区
最近的 Elastic{ON} Tour,在每场活动的开场我都会讨论我们公司过去几年的简短历史,而最近活动的高潮是当我宣布我们的累计下载总数达到了七千五百万。当我第一次开始这个项目的时候,我希望她能够被能够被广泛使用,而我们的社区的热情和激情总是不断的给我快乐和惊喜。
先驱者计划
考虑到这一点,我想分享一下 先驱者计划 的一些结果。该计划开始于一个简单的前提,你如何使用 Elastic Stack 对我们来说非常重要。不管是产品研发还是确保发布高质量的可用版本。我非常高兴的告诉大家自四月份发布的第一个Alpha版本,我们的社区一共提交了146个 issue。
我们的社区是 Elastic 其中一个最宝贵的财产,而在这次发布中讨论的最多的就是为什么命名为 “Elastic Stack”。
The Elastic Stack
过去一年,我们收购了 Packetbeat 团队,然后 Beats 就诞生了。这是一个用于构建轻量级数据收集的开源平台,可用于日志、基础设施监控指标、网络流量等数据的收集,并且用以前所未有的简单方式来将数据发送至 Logstash 或 Elasticsearch。同时我们热爱那些已经习惯于将 ELK 作为代表我们软件栈的你们,只不过加上 Beats 以后,我们不知道如何将 “B” 和 E-L-K 组合在一起。(NOTE:过去用过ELKB)
但 Elastic Stack 远不只是一个名字。当我们开始发布一个周期,我们所做的开发提交、构建、测试和发布的是一整个软件栈。这个很重要,因为是从内部来保证兼容性。并且,对你来说,它可以帮助你提升部署速度,减少版本冲突,让开发者轻松的处理整个 Elastic Stack 兼容性的问题。
一场特性之旅
在我开始这篇博客之前,我打算列举每个产品的一些主要特性。但是发现好像很难确定从哪里开始和结束。因为我们每个产品和技术领导已经创建了单独的博客来讨论各自产品的特性,没人比他们更适合介绍其中的故事。 我个人,更是对其中的一些特性感到非常兴奋,相较于简单的罗列,我会提供一些简短概要并且鼓励你去阅读每个产品详细的博客。
- Ingest Node - Ingest Node 是 Elasticsearch 的一个节点类型,允许你对数据做一些加工。比如:grok、geoip、date 和其它索引(或重建)过程中的基本数据操作,通过访问 REST API 的时候指定一个参数
“?pipeline=x”
来使用由一系列处理器(processors)构造的管道。它可用帮你对文档进行预处理,原生在 Elasticsearch 内部,在索引之前做灵活的 Ingest 部署。这不代表要替换掉 Logstash,也不会移除对 Beats 的需要,只为你设计数据采集架构时提供一种更加灵活的可能性。 - Elasticsearch 性能 - 性能报告倾向于提供一个大纲,尤其是比较性的性能测试报告。基于此,我们花了很大力气来比较 5.0.0 与之前发布的版本。数据现在已经可用了,这个数据也是我们用来检查和确保我们正在做正确的事情来保证性能,我们如此的公开是来避免由性能测试数字引起的所谓秘密和怀疑。事实上,不止测试结果,我们还公布了我们的硬件和配置,我们开源了我们的工具链(叫做 Rally) 和测试记录本身(Rally-Tracks)。
- Metricbeat - Metricbeat 替换 Topbeat 成为 Elastic Stack 里主要的收集度量指标的工具。和 Topbeat 一样,Metricbeat 收集和 “top” 类似的诸如机器及进程的资源(CPU、 memory、disk、network)统计信息。和 Topbeat 不同的是,Metricbeat 同时也收集其它系统的指标信息,如:Apache、HAProxy、MongoDB、MySQL、Nginx、PostgreSQL、 Redis和 Zookeeper,并且在不久的将来还会支持更多应用和系统。
- Logstash 监控 API - 这是一个新的监控特性提供 Logstash 管道及其插件在运行时的可视状态。这个组件收集 Logstash 处理你数据的各种操作性统计指标信息,所有的这些信息都可通过简单的 API 来进行查询。
- Timelion - 以前以 re{Search} 项目介绍过,现在 Timelion 作为 Kibana 原生的核心组件可直接可用。Timelion 提供一个查询表达式和可视化类型让你探索基于时间的数据。
再列举几个,诸如 BKD树、scaled_float
和 half_float
,我们投入了大量的精力到 Elasticsearch 可靠性 中,另外 Kibana 惊艳的重新设计(我从来不知道我们以前有这么讨厌这些边框直到移除), Beats 支持的 Kafaka 输出等等。
这是一个非常大的版本发布,务必要阅读相关独立的博客来了解更多范围内的改进。
X-Pack
在 Elastic 我们热爱扩展。太多我们构建的东西我们给他们起了非常有趣的名字,如:Shield、Marvel 和 Watcher。作为提供给我们客户的额外的插件,独立闭源但没限制开源部分的能力的特性,随着后面又增加了Graph 和 Reporting,安装流程也变得困难和困惑。
来和X-Pack 打个招呼吧!
一个包含了 security、alerting、monitoring & management、reporting 和 graph 能力的 Elastic Stack 的插件。我们对 5.0 的工程不仅限于 Elastic Stack,同时也包括给X-Pack 添加如下:
- Kibana 里的管理和监控的UI界面
- Kibana 里创建用户和角色的UI界面
- 非常简化的安装流程
X-Pack 有试用版本,同时提供商业和免费(基本)授权证书选项。我们尤其兴奋的将 X-Pack 的某些特性开放出来免费使用,详细请见 Subscriptions 页。
放在最后
我敬畏发布此次版本所做的所有努力,来自我们社区和客户的共同参与,以及为了将来发布所做的一系列背地里的工作。一如既往,理解一个版本的最好方式就是去体验它。