内容提要
Elastic 发布全新管道查询语言 ES|QL,由新查询引擎支持,具备并发处理能力,可转换、扩充和简化数据调查。该语言从头设计,用单一查询完成搜索、聚合、扩充与可视化,简化迭代工作流并降低代码复杂度。ES|QL 增强了 Elastic 的安全、可观测性和搜索功能,支持威胁追踪、告警降噪和性能分析,目前处于技术预览版。
延伸解读
从查询 DSL 到 ES|QL:设计思路的转变
文章回顾了 Elasticsearch 过去 13 年的演变:最初为全文搜索设计,基于 JSON 的查询 DSL 成为 _search API 的基础。但随着安全调查和可观测性需求多样化,用户需要一种能通过单一查询完成搜索、扩充、聚合和可视化的语言。ES|QL 因此从头设计,而非在旧 DSL 上叠加,旨在简化迭代式工作流并降低代码复杂度。
新查询引擎如何提升执行效率
ES|QL 由全新查询引擎支持,查询会先被拆分、解释和验证,再生成在集群各节点上执行的计划,目标节点可即时调整执行计划。文章强调其具备并发处理能力,能跨数据源和结构查询,并引用夜间基准测试说明速度优势。这意味着复杂调查可能减少对外部处理系统的依赖,但具体性能提升幅度需结合自身数据验证。
对安全与可观测性团队的实际意义
在安全场景中,ES|QL 支持分析师快速迭代追踪威胁、将可疑 IP 与威胁情报关联、转换和聚合数据,并可在检测规则中纳入聚合值以减少告警疲劳。在可观测性场景中,SRE 可用单一查询分析日志、指标、跟踪和性能分析数据,结合告警和 AIOps 减少误报、缩短平均解决时间。这些能力面向的是需要频繁迭代调查的团队。
技术预览阶段的注意事项
文章明确 ES|QL 目前处于技术预览版,且任何特性的发布和上市时间由 Elastic 自行决定,未发布的功能可能无法按时提供或根本不会提供。因此,读者在评估采用时应将其视为早期能力,关注后续正式版本的功能范围和稳定性,而非直接依赖预览版承担关键生产任务。
Q&A
ES|QL 是什么?它和 Elasticsearch 之前的查询语言有什么不同?
ES|QL 是 Elastic 新发布的管道查询语言,由全新查询引擎支持,从头设计,旨在简化数据调查。与基于 JSON 的查询 DSL 不同,ES|QL 是一种统一的管道语言,允许在单一查询中完成搜索、聚合、扩充和可视化,并支持并发处理,提高速度和效率。
ES|QL 如何提升安全分析师追踪威胁和告警处理的效率?
ES|QL 通过快速迭代搜索、上下文扩充(如将可疑 IP 与威胁情报关联)、数据转换和聚合,帮助分析师更高效地追踪威胁。它还能在检测规则中纳入聚合值以减少警报疲劳,并支持检测即代码,简化协作。
对于 SRE 来说,ES|QL 在可观测性方面能解决哪些具体问题?
SRE 可以使用 ES|QL 通过单一查询分析日志、指标、跟踪和性能分析数据,定位性能瓶颈。它有助于消除信号干扰、提高告警精度、减少误报,并通过增强分析和 AIOps 集成缩短平均解决时间。
ES|QL 的查询引擎是如何工作的?为什么能实现高速查询?
ES|QL 的查询引擎会对每个查询进行拆分、解释、验证和增强,然后创建在集群节点上执行的计划。目标节点会即时调整执行计划,利用并发处理框架,从而实现开箱即用的超快查询。
ES|QL 目前处于什么阶段?如何开始使用?
ES|QL 目前处于技术预览版阶段。Elastic 邀请安全分析师、SRE 和开发人员免费试用,可以查阅相关文档了解可能性并立即开始体验。
ES|QL 如何降低代码复杂性和计算开销?
ES|QL 通过单一查询完成多种操作,减少了复杂脚本和冗余查询的需求。它支持在后续搜索中重复使用查询结果,从而最大程度降低计算开销,节省成本和时间。