内容提要
ES|QL 是 Elastic 推出的全新管道查询语言,配备快速分布式查询引擎,可在 Discover 中一站式完成搜索、聚合、可视化与告警。它提供自动补全和应用内文档以降低学习门槛,上下文可视化由 Lens 建议引擎驱动,支持内联编辑并保存至仪表板。ES|QL 支持 ENRICH 扩充数据集,帮助 SRE、DevOps 和威胁猎人快速分析数据、发现趋势并实时响应。
延伸解读
管道语言设计:降低学习门槛
ES|QL 采用管道语法,通过 from、where、stats、sort 等命令顺序处理数据,使查询逻辑直观。文章强调其设计兼顾初学者与专家:自动补全和应用内文档帮助新手快速上手,而丰富的处理命令和函数满足专家需求。这种设计减少了学习曲线,让用户能专注于数据分析而非语法记忆。
上下文可视化:查询即得图表
在 Discover 中编写 ES|QL 查询时,Lens 建议引擎会根据查询性质自动推荐合适的可视化类型,如指标、条形图或热图。用户无需手动选择图表,结果会以表格或可视化形式呈现。此外,内联编辑功能允许直接在 Discover 或仪表板中调整可视化样式,并保存到仪表板,实现从查询到洞察的无缝工作流。
告警集成:从查询到实时响应
ES|QL 可直接用于创建告警规则,用户能在 Discover 中定义查询并设置阈值,预览结果后保存规则。当查询返回空结果时不触发告警,这有助于减少误报。该功能强调有意义的趋势而非孤立事件,使 SRE 和威胁猎人能更主动地响应系统问题或安全威胁,提升检测准确性。
ENRICH 扩充:关联多数据集
ENRICH 命令允许用户通过扩充策略将其他数据集的字段添加到查询结果中,例如将服务器信息关联到项目数据。文章展示了使用 ENRICH 进行聚合和排序的示例,并说明可通过向导创建扩充策略。这一功能帮助威胁猎人和 DevOps 在不切换工具的情况下,从多个数据源中挖掘隐藏模式,增强分析深度。
Q&A
ES|QL 是什么?它有什么主要特点?
ES|QL(Elasticsearch 查询语言)是 Elastic 推出的全新管道查询语言,配备快速分布式查询引擎,可在 Discover 中一站式完成搜索、聚合、可视化与告警。其主要特点包括:支持并行处理以提高速度;提供自动补全和应用内文档降低学习门槛;上下文可视化由 Lens 建议引擎驱动;支持内联编辑并保存至仪表板;支持 ENRICH 扩充数据集。
如何在 Kibana 中开始使用 ES|QL?
要开始使用 ES|QL,请导航至 Discover,然后从数据视图选取器中选择“试用 ES|QL”,即可进入 ES|QL 模式。在查询栏中,你可以利用自动补全和应用内文档来编写查询。
ES|QL 如何帮助 SRE 和 DevOps 团队?
对于 SRE,ES|QL 的告警功能可强调有意义的趋势而非孤立事件,帮助主动识别和解决系统效率低下问题,减少干扰。对于 DevOps,ES|QL 提供强大的数据探索和可视化,可快速评估部署影响、监测系统健康并接收实时反馈,提高部署质量并快速修正。
ES|QL 中的 ENRICH 命令有什么作用?如何使用?
ENRICH 命令允许使用其他数据集中的字段来扩充查询数据集,为所选策略提供上下文建议。使用时,需先创建扩充策略(可在“堆栈管理”⇒“索引管理”⇒“扩充策略”中创建),然后在 ES|QL 查询中使用 enrich 命令,例如:from projects* | limit 10 | enrich servers-to-project on project_id with name, server_hostname, cost | stats ...。
如何从 Discover 创建 ES|QL 告警规则?
步骤:1. 单击“告警”并选择“创建搜索阈值规则”;2. 定义 ES|QL 告警规则类型(可在查询栏中先编写 ES|QL 查询,查询会自动粘贴到创建告警浮出控件);3. 测试查询(单击“测试查询”预览结果);4. 设置连接器并保存。当查询返回空结果时,不会生成告警。
ES|QL 的上下文可视化是什么?如何工作?
上下文可视化是由 Lens 建议引擎提供技术支持的功能,在 Discover 中编写 ES|QL 查询时,它会根据查询的性质自动生成合适的可视化形式(如指标、条形图、直方图热图等)。用户可以直接在 Discover 或仪表板中内联编辑可视化,无需跳转到 Lens。