作者:来自 Elastic Elastic Platform Team

Elastic 最新发布的 8.18 和 9.0 版本包含了强大的更新,将显著提升你的体验、增强查询性能并优化日志管理。无论你是在处理搜索、可观察性还是安全用例,本次发布都带来了大量新特性,旨在提高工作流效率并解锁新的可能性。
在这篇博客中,我们将按主要主题分解 Elasticsearch 和 Kibana 的关键更新:
-
ES|QL 改进
-
Elasticsearch logsdb 索引模式优化
-
搜索和索引增强
-
Kibana 用户体验升级
-
Lucene 性能提升
Elasticsearch 8.18 和 9.0 现已在 Elastic Cloud 上提供 --- 唯一提供所有新特性的托管 Elasticsearch 服务。你还可以下载 Elastic Stack 以及我们的云编排产品 Elastic Cloud Enterprise 和 Elastic Cloud for Kubernetes,享受自管理体验。
通过 ES|QL 革新查询
Elastic 的管道查询语言 ES|QL 继续发展,变得更强大且直观。这些新特性旨在丰富数据分析,简化复杂查询,并提高在关键工作流中的性能。
Lookup Join:查询时的上下文
ES|QL 中最受期待的特性之一是 Lookup Join,目前处于技术预览阶段。这个特性引入了类似于 SQL 的 LEFT OUTER JOIN 的 JOIN 功能,允许用户通过对任何查找索引进行查询来丰富安全性和可观察性数据。与传统的 enrich 策略不同,Lookup Joins 使数据丰富变得更简单且更易于管理 ------ 查找索引可以直接更新。
对于依赖上下文数据进行调查的安全分析师、SRE 和检测工程师来说,这是一个颠覆性的改变。
使用 Lookup Joins 进行安全操作:
- IP 威胁丰富(快速查看任何源 IP 是否匹配已知的恶意地址)。
vbnet
`
1. FROM firewall_logs
2. | LOOKUP JOIN threat_list ON source.IP
`AI写代码
使用 Lookup Joins 进行可观察性操作:
- 主机元数据丰富(为每个主机拉取环境或所有权细节,以丰富你的指标数据)。
vbnet
`
1. FROM system_metrics
2. | LOOKUP JOIN host_inventory ON host.name
3. | LOOKUP JOIN employees ON host.name
`AI写代码
Lookup Joins 在 Kibana 的 ES|QL 编辑器中得到了全面支持,提供了功能帮助和 Lookup 索引自动完成功能。
我们计划在未来开发更多的连接类型,敬请关注。
按需获取部分查询结果
现在,如果由于超时终止查询,运行长时间的 ES|QL 查询可以检索部分结果。一个新的异步/停止端点确保在查询没有完全失败的情况下,仍然可以使用可用的数据。
更快的大小写不敏感匹配
ES|QL 在处理大小写不敏感查询时提高了性能。TO_UPPER 和 TO_LOWER 函数被推送到 Lucene,从而显著加快了执行速度。
统计和日志分析函数
标准差函数:为识别安全性和可观察性数据中的异常(如高网络使用量或异常登录次数)提供统计支持。
sql
`
1. FROM networklogs | WHERE action : "download"
2. | STATS bytesbyip = sum(bytes) BY clientip
3. | STATS bytesValue = VALUES(bytesbyip), avgBytes = AVG(bytesbyip), stdevBytes = STD_DEV(bytesbyip)
4. | MV_EXPAND bytesValue
5. | WHERE bytesValue > avgBytes+3*stdevBytes
`AI写代码
MD5 和哈希函数:现在有专门的 MD5、SHA1 和 SHA256 函数,用于方便地计算字段的哈希值,以便与其他哈希值进行比较,还有一个更灵活的哈希函数,可以使用这些函数以及 JVM 中可用的其他哈希算法。
markdown
`
1. FROM *logs*
2. | EVAL my_md5 = md5(message), my_sha512 = hash("sha512", message)
3. | WHERE my_md5 != src_md5sum OR my_sha512 != src_sha512
`AI写代码
分类函数:根据文本相似性将日志分组,为自动化日志模式分析铺平道路。
scss
`FROM logs | STATS logs_cats_meow = count(*) BY CATEGORIZE(message) | SORT logs_cats_meow DESC`AI写代码

ES|QL 中的 KQL 集成:允许用户在 ES|QL 查询中混合使用 KQL 搜索语法,以实现更直观的搜索,因为你可以在 KQL 函数中重用现有的 KQL 代码片段。
scss
`
1. FROM logs
2. | WHERE KQL("beats AND Moz* AND (Linux OR Windows) AND bytes > 123")
3. | STATS max(bytes) by host
`AI写代码
这些功能提升了 ES|QL 的分析能力,并减少了从 Kibana 查询语言 (KQL) 过渡到 ES|QL 的现有 Elastic 用户的障碍。
Logsdb:下一代日志管理和效率
Elasticsearch logsdb 索引模式现在在 9.0 的新部署中默认启用,并且在没有使用现有 logs-* 数据流的情况下,升级到 9.0 时也会启用。这有助于 Observability 和 Security 用户更高效地管理大量日志数据。
通过排序字段路由实现更智能的数据存储
Logsdb 索引模式现在支持基于排序字段的自定义路由(如果你拥有所需的订阅),与 8.17 相比,基准测试中存储减少了 20%。优化存储布局提升了查询性能并降低了存储成本 ------ 这对于处理大量日志数据的团队来说至关重要,同时还能保持预算。
arduino
`Setting: index.logsdb.route_on_sort_fields:true`AI写代码
通过合成恢复源加速日志和指标的摄取
一个新选项允许用户在启用合成源(synthetic source)时跳过索引中的恢复源(recovery source)。恢复源用于复制和对等恢复,在使用合成源时会增加大量的磁盘 IO。
使用合成恢复源后,我们不再写入它,而是根据需要动态生成。这消除了不必要的处理开销并减少了 IO,提升了索引吞吐量。更快的日志和指标摄取速度直接影响安全性和可观察性管道,减少了数据生成与搜索和分析之间的延迟。
搜索和索引增强
升级到 Lucene 10
Elasticsearch 9.0 现在基于 Lucene 10 运行,带来了显著的性能提升:
-
对多核机器的搜索并行处理更加高效
-
对高延迟存储(如对象存储)的 I/O 处理更好
-
稀疏索引改进,提高了 CPU 和存储效率
搜索操作在不同的存储和计算环境中变得更加高效,降低了大规模部署的延迟。有关 Lucene 10 的更多信息,请参阅 Lucene 发布亮点。
我们还大幅提升了 TSDS(时间序列数据流)中指标数据下采样的速度。通过消除不必要的维度字段读取、批量操作,避免不必要的类型转换和数字转换,我们的基准测试显示,1 小时下采样的时间减少了 63%。这也意味着下采样操作所需的 CPU 使用减少。
重新索引和索引创建的新 API
- 重新索引数据流 API :该 API 简化了在主要版本迁移期间升级数据流背后索引的过程。重新索引数据流 API(Reindex Data Stream API )还可以通过 Kibana 升级助手作为更广泛升级准备的一部分使用。
- 从源创建索引 API :该 API 简化了重新索引过程,确保目标索引的设置和映射与源索引兼容。详细信息请参阅文档。
这些更新简化了升级过程,并增强了多租户环境中的安全控制。
Discover 的日志分析增强
- 表格内搜索和高亮(类似 CTRL+F):此功能允许用户搜索整个表格中的术语,而不仅仅是可见行。
- 日志级别直方图拆分:根据日志来源自动调整拆分选择器。
- Discover 中的日志 AI 助手:AI 驱动的洞察帮助展示关键日志模式和故障排除建议。
- 从 KQL/Lucene 到 ES|QL 的平滑过渡:迁移到 ES|QL 的用户现在可以在 Discover 的 ES|QL 模式中找到他们的现有查询。
案例管理改进
- 案例模板正式发布:预构建模板简化了调查工作流程
- 案例可观察性 正式发布:支持结构化数据收集,并与第三方问题管理工具集成
安全和可观察性团队可以标准化调查流程,提高响应时间,并促进跨团队的更好沟通。
ECK 3.0 和 ECE 4.0
与 Elastic Stack 8.18 和 9.0 一起,我们还发布了 ECK 3.0 和 ECE 4.0,这些版本与 Elastic Stack 9.0 完全兼容,并支持新部署的管理及现有部署的升级。
就这些了,开发者们
Elastic 9.0 引入了面向开发者的强大增强功能,涵盖了查询性能、日志管理和用户体验:
- ES|QL 引入了强大的新命令和功能,支持实时连接,包括 Lookup Joins、部分查询结果和高级文本分组功能。
- Logsdb 索引模式现在在 9.0 中作为日志存储的默认模式,提升了效率并降低了成本。
- Lucene 10 在 Elasticsearch 9.0 中可用,提升了性能,使得搜索查询更加快速且硬件效率更高。
- 新 API 使得索引升级和管理更加简便,减少了迁移过程中的摩擦。这些更新确保 Elastic 提供了业界领先的数据检索和存储能力,适用于可扩展的搜索、安全分析和可观察性。
试试吧
阅读更多功能和细节,请查看发布说明。
现有的 Elastic Cloud 客户可以直接通过 Elastic Cloud 控制台访问许多新功能。为了获得最快、最优的云体验,立即尝试 Elastic Cloud Serverless 。开始免费试用。
本帖中描述的任何功能或功能的发布及时间安排,均由 Elastic 单方面决定。任何当前不可用的功能,可能无法按时或完全交付。
原文:Elastic Platform 8.18 and 9.0: ES|QL Joins are here and Lucene 10! | Elastic Blog