作者:George Kobar, Bahubali Shetti, Mark Settle
今天,我们很高兴地宣布 Elastic® 的新管道查询语言 ES|QL(Elasticsearch 查询语言)的技术预览版,它可以转换、丰富和简化数据调查。 ES|QL 由新的查询引擎提供支持,通过并发处理提供高级搜索功能,无论数据源和结构如何,都可以提高速度和效率。 通过在单个屏幕上创建聚合和可视化来快速解决问题,以实现迭代和流畅的工作流程。
ES|QL 介绍
Elasticsearch 的演变
在过去 13 年中,Elasticsearch® 取得了显着发展,适应了用户需求和不断变化的数字环境。 Elasticsearch 最初用于全文搜索,后来根据用户反馈扩展到支持更广泛的用例。 在整个过程中,Elasticsearch Query DSL(我们第一个采用的搜索语言)为过滤器、聚合和其他操作提供了丰富的查询集。 这种基于 JSON 的 DSL 最终成为我们 _search API 端点的基础。
随着时间的推移和需求的多样化,逐渐显现出用户需要的不仅仅是查询 DSL 所提供的功能。我们开始在查询 DSL 下引入和融合了其他 DSL,用于脚本编写、安全调查中的事件等等。然而,尽管这些扩展功能非常多才多艺,它们并没有完全满足用户的一些需求。
用户想要一种能够:
- 简化威胁和安全调查,同时通过提供全面和迭代方法的单个查询观察和解决生产问题
- 通过单一界面搜索、丰富、聚合和可视化更多内容来简化数据调查
- 使用高级搜索功能(例如带有并发处理的查找)提高查询大量数据的速度和效率,无论来源和结构如何
从白日梦到现实 -- ES|QL 简介
我们倾听并自豪地推出Elasticsearch 查询语言 (ES|QL),这是我们全新的创新管道查询语言 --- 一种与 Elasticsearch 中的数据交互的统一方法和语言,同时消除了将数据传输到外部系统进行专门处理的昂贵需求。 与 Elastic 多年来采用的其他语言(例如 Query DSL)不同,ES|QL 是从头开始设计和构建的,旨在大大简化数据调查,并且可供初学者使用,同时对专家来说功能强大。
ES|QL 示例命令:
markdown
1. from logstash-*
2. | stats avg_bytes = avg(bytes) by geo.src
3. | eval avg_bytes_kb = round(avg_bytes/1024, 2)
4. | enrich geo-data on geo.src with country, continent
5. | keep avg_bytes_kb, geo.src, country, continent
6. | 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 由强大的查询引擎提供支持,提供具有并发处理的高级搜索功能,使用户能够跨不同的数据源和结构无缝查询。
没有把 ES|QL 的实现直接翻译为对 Query DSL 的查询; 相反,ES|QL 中的每个查询最初都会被分解、解释其含义、验证准确性,然后进行增强以获得最佳性能。 然后设计一个流程来跨集群内的各个节点执行查询。 目标节点处理查询,使用 ES|QL 提供的框架对执行计划进行即时调整。 结果是开箱即用的闪电般的快速查询。 例如,查看夜间基准进行比较。
更多比较请点击链接进行查看。
平台创新推动 Elastic 解决方案的优势
Elastic 的解决方案(搜索、可观察性和安全性)均受益于 Elasticsearch 和 Kibana® 中提供的功能和创新。 ES|QL 从根本上改变了使用这些解决方案的体验,并提供了简单但功能强大的数据调查工作流程。
ES|QL 增强 Elastic 安全性
ES|QL 从根本上改变了分析师追踪威胁和加强检测的方式。 它是为了响应丰富的社区输入而构建的,以 Elasticsearch 的速度释放管道查询的力量,增强 Elastic Security 的 SIEM、端点安全和云安全功能。
- 快速搜索及迭代:跟踪新兴威胁的痕迹需要快速行动和提供迭代工作流程的语言。
- 通过上下文丰富结果:ES|QL 使分析师能够将可疑 IP 地址与已知威胁情报数据库关联起来,从而立即明确潜在威胁。
- 转换数据:ES|QL 使用户能够通过定义新字段或解析非标准化数据来操作数据,确保数据的清晰度和相关性。
- 聚合数据:可以整合和聚合结果,为更深入的分析和洞察提取铺平道路。
Elastic 是唯一将写入模式架构的效率与读取模式管道查询语言的迭代搜索体验相结合的搜索平台。 凭借令人难以置信的快速搜索 --- 以及查询分析员输出的完整视图 - 我们可以通过每个连续的管道更接近他们的目标。
ES|QL 还增强了 Elastic Security 强大的检测引擎。 为了减少警报疲劳、提高警报相关性并提供行为检测的另一种途径,组织可以将聚合值合并到检测规则中。 通过内联评估,从业者可以迭代开发和完善基于 ES|QL 的规则。 查询采用纯文本格式,简化了协作并支持检测即代码。
ES|QL 影响弹性可观测性
使用 Elastic Observability 的 SRE 可以利用 ES|QL 来分析日志、指标、跟踪和分析数据,使他们能够通过单个查询查明性能瓶颈和系统问题。 在 Elastic Observability 中使用 ES|QL 管理高维和高基数数据时,SRE 具有以下优势:
- 消除信号噪音:借助 ES|QL 警报,通过关注重要趋势而不是个别事件、最大限度地减少误报并提供可操作的通知来提高检测精度。 SRE 可以通过 Elastic API 管理这些警报并将其集成到 DevOps 流程中。
- 通过洞察增强分析:ES|QL 可以处理各种可观测数据,包括应用程序、基础设施、业务数据等,无论来源和结构如何。 ES|QL 可以轻松地通过附加字段和上下文丰富数据,从而允许通过单个查询创建仪表板可视化或问题分析。
- 缩短解决问题的平均时间:ES|QL 与 Elastic Observability 的 AIOps 和 AI Assistant 结合使用,可通过识别趋势、隔离事件和减少误报来提高检测准确性。 这种上下文的改进有助于故障排除以及快速查明和解决问题。
Elastic Observability 中的 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 自行决定。 当前不可用的任何特性或功能可能无法按时交付或根本无法交付。
原文:Announcing Elastic's piped query language, ES|QL | Elastic Blog