从梦想到现实:宣布发布 Elastic 的管道查询语言 ES|QL

ES_QL_blog-720x420-06.png

今天,我们很高兴地宣布发布 Elastic® 的全新管道查询语言 ES|QL(Elasticsearch 查询语言),它可以转变、扩充和简化数据调查。ES|QL 由全新的查询引擎提供技术支持,提供了包含并发处理的高级搜索功能,可以提高速度和效率,不受数据源和结构的限制。通过在一个屏幕上创建聚合和可视化,快速解决问题,实现顺畅的迭代式工作流。

Video thumbnail

Elasticsearch 的发展历程

在过去的 13 年中,Elasticsearch® 发生了重大演变,不断适应用户的需求和持续变化的数字化态势。Elasticsearch 起初用于全文搜索,后来根据用户的反馈进行了扩展,支持更广泛的用例。在这个过程中,我们最早采用搜索语言 Elasticsearch 查询 DSL 为筛选、聚合和其他操作提供了一组丰富的查询。这个基于 JSON 的 DSL 最终成为我们 _search API 终端的基础。

经过这些年,随着需求的多样化,用户想要的显然已经超出了查询 DSL 所提供的功能。我们开始在查询 DSL 下采用和融入其他 DSL,用于脚本编写、安全调查中的事件等。然而,尽管这些附加功能具备多样性,但它们并没有完全满足我们用户的一些需求。

用户想要一种具有以下功能的查询语言:

  • 通过提供了综合、迭代方法的单一查询来简化威胁和安全调查,同时观测和解决生产问题
  • 在一个界面中实现搜索、扩充、聚合、可视化等数据调查,简化流程
  • 使用高级搜索功能(如包含并发处理的查找功能)提高速度和效率,以查询大量数据,而不受数据源和结构的限制

从梦想到现实 — ES|QL 简介

我们听取了用户的反馈,非常自豪地推出 Elasticsearch 查询语言 (ES|QL),这是我们全新的创新管道查询语言,它是一种在 Elasticsearch 中与数据交互的统一方法和语言,让用户无需将数据传输到外部系统进行成本高昂的专门处理。与 Elastic 过去多年来采用的其他语言(如查询 DSL)不同,ES|QL 是从头开始设计和构建的,设计宗旨就是极大地简化数据调查,为初学者提供便利,为专家提供强大的功能。 

ES|QL 示例命令:

from logstash-*
| stats avg_bytes = avg(bytes) by geo.src
| eval avg_bytes_kb = round(avg_bytes/1024, 2)
| enrich geo-data on geo.src with country, continent
| keep avg_bytes_kb, geo.src, country, continent  
| limit 4

ES|QL 示例输出:

avg_bytes_kb geo.src country continent
8.84 BD Bangladesh Asia
6.92 BR Brazil Americas
2.75 CI Côte d'Ivoire Africa
4.55 CL Chile Americas

流畅的简洁性:为增强的迭代式工作流量身定制的 UI

在追踪正在发生的攻击或浏览可观测性数据时,您需要在海量数据中进行筛选、搜索、转换和聚合。ES|QL 通过单一查询即可提供这一功能。

流畅的简便性

切换上下文或者尝试在多个屏幕中查找所需内容可能会降低您的速度,令人非常沮丧。ES|QL 可通过统一的显示屏幕提供自动完成语法、集成产品文档,并可视化搜索结果,确保数据查询的工作流顺畅且高效。无论是安全、可观测性还是搜索,ES|QL 都提高了数据探索的效率、速度和深度。

ES|QL 并发性 — 双线程高效运行

ES|QL 由稳健的查询引擎提供技术支持,提供了包含并发处理的高级搜索功能,让用户可以在各种数据源和结构中进行无缝查询。

查询 DSL 不会进行翻译或转录;相反,ES|QL 中的每个查询都会先进行拆分,解释含义,验证以保证准确性,然后增强以达到最佳性能。然后,会创建一个过程,以便在集群中的各个节点上执行查询。目标节点会处理查询,利用 ES|QL 提供的框架对执行计划进行即时调整。这样就可以实现开箱即用的超快查询。例如,可以查看夜间基准测试进行对比。

平台创新推动了 Elastic 解决方案的优势

Elastic 的解决方案(搜索可观测性安全)都受益于 Elasticsearch 和 Kibana® 中提供的功能和创新。ES|QL 从根本上改变了使用这些解决方案时的体验,提供了一个简单但强大的数据调查工作流。

ES|QL 增强了 Elastic Security 的功能

ES|QL 从根本上改变了分析师追踪威胁和增强检测的方式。它基于丰富的社区输入构建,释放了以 Elasticsearch 的速度来完成串行查询的能力,增强了 Elastic Security 在 SIEM 、端点安全和云安全方面的功能。

  • 快速、迭代地执行搜索:追踪新兴威胁的线索需要快速行动和一种可提供迭代式工作流的语言。
  • 上下文扩充结果:ES|QL 让分析师能够将可疑的 IP 地址与已知的威胁情报数据库相关联,从而立即了解潜在威胁。
  • 转换数据:ES|QL 使用户能够通过定义新字段或解析非规范化数据来操控他们的数据,确保数据的清晰性和相关性。
  • 聚合数据:结果可以进行整合和聚合,为更深入的分析和见解提取铺平了道路。

Elastic 是唯一一个结合以下两大优点的搜索平台:写时模式架构的效率,以及读时模式串行查询语言的迭代搜索体验。凭借速度惊人的搜索(以及完全可见的查询输出),分析师可以通过每个连续的管道更接近他们的目标。

ES|QL 还增强了 Elastic Security 强大的检测引擎。为了减少警报疲劳、提高告警相关性,并为行为检测提供另一个途径,组织可以在检测规则中纳入聚合值。通过内联评估,从业人员可以迭代地开发和完善基于 ES|QL 的规则。查询采用纯文本格式,简化了协作并支持检测即代码。

ES|QL 给 Elastic 可观测性带来了积极的影响

使用 Elastic 可观测性的 SRE 可以利用 ES|QL,使用单一查询来分析日志、指标、跟踪和性能分析数据,从而准确定位性能瓶颈和系统问题。在 Elastic 可观测性中使用 ES|QL 来管理高维度和高基数数据时,SRE 可以获得以下优势:

  • 消除信号干扰:借助 ES|QL 告警,通过关注显著的趋势而不是个别事件,提高检测精度,减少误报警报,并提供可操作的通知。SRE 可以通过 Elastic API 管理这些告警,并将其整合到 DevOps 流程中。
  • 具有见解的增强分析:ES|QL 可以处理各种可观测性数据,包括应用程序、基础架构、业务数据等,不受来源和结构的限制。ES|QL 可以通过添加额外的字段和上下文来轻松扩充数据,允许使用单一查询创建仪表板的可视化或进行问题分析。
  • 缩短问题平均解决时间:ES|QL 与 Elastic 可观测性的 AIOps 和 AI 助手结合使用,可通过识别趋势、隔离事件和减少误报,提高检测准确性。这种基于上下文的改进有助于故障排查,并快速确定和解决问题。

Elastic 可观测性中的 ES|QL 不仅增强了 SRE 高效管理客户体验、组织收入和 SLO 的能力,还通过提供带有上下文的聚合数据促进了与开发人员和 DevOps 的协作。

ES|QL 增强了 Elastic Search 的功能

使用 ES|QL,您可以在单个查询中检索、聚合、计算和转换数据。它具有一些关键功能,例如能够在查询时定义字段、执行数据扩充查找以及并发处理查询。使用 ES|QL 通过多种方式了解和探索您的数据。从利用客户端进行直接 API/代码集成,到直接从一个屏幕上可视化结果,ES|QL 简化了数据调查,确保您轻松简便地充分利用数据集。 

ES|QL 的设计重点表现在它能够降低代码复杂性,最终可节省成本和时间。通过在后续搜索中促进查询结果的重复使用,ES|QL 可最大程度地降低计算开销,不再需要复杂的脚本和冗余的查询。ES|QL 不仅仅是一个 API,还是一种简单而强大的方法,可以转变您的搜索方式。

开始 ES|QL 之旅

数据探索和操控的未来已经来临。Elastic 邀请安全分析师、SRE 和开发人员亲自体验这种变革性的语言,在数据任务中打开新的视野。详细了解使用 ES|QL 可获得的可能性或者立即在技术预览版开始免费试用

本博文所描述的任何特性或功能的发布及上市时间均由 Elastic 自行决定。当前尚未发布的任何特性或功能可能无法按时提供或根本不会提供。