Elastic Observability 中 Discover 的跟踪,用于深入的应用洞察

作者:来自 Elastic Alex Fedotyev

Elastic 将跟踪数据引入 Discover。看看你如何将即席数据探索和 ES|QL 的功能应用到你的跟踪数据中。

在可观测性领域,上下文至关重要。多年来,Elastic APM 提供了专门的视图和功能,用于了解应用和服务的健康状况。当你需要了解结账服务的性能时,可以直接访问其专用页面,查看关键指标如延迟和吞吐量,并直接访问相关事务和错误。这种以实体为中心的视图对有针对性的监控和诊断非常宝贵。

但当问题不局限于单个服务时,会发生什么?如果你需要提出更复杂的探索性问题,跨越整个数据集,该怎么办?比如:

  • 显示所有某个用户体验延迟超过两秒的跟踪,并将其与同时发生的前端错误关联起来。

  • 是否有仅针对高级套餐客户的慢数据库查询?

  • 哪个特定的 RPC 调用是三个不同微服务中共同的失败来源?

历史上,回答这些问题是可行的,但需要在不同 UI 之间切换并手动拼凑线索,体验不够流畅,这是各类可观测性平台的常见挑战。

今天,我们很高兴宣布跟踪搜索和分析的一项关键改进。我们将跟踪数据原生引入 Discover,并配备集成的跟踪瀑布视图。你现在可以将即席数据探索和 ES|QL 的全部功能应用到跟踪数据上。

从精选视图到更广泛的数据探索

Discover 是 Elastic Stack 中数据探索的主要界面。它是一个工作台,你可以自由探索、过滤和关联所有索引的数据。通过将跟踪数据整合到此环境中,你现在可以超越 APM 的精选视图,进行更灵活的调查,按任意跟踪属性搜索。

你现在可以轻松搜索单个 span 或错误,按 OpenTelemetry 资源属性和 span 属性过滤,并分析复杂场景,而无需离开你熟悉的 Discover 界面。

一个实际场景:解开慢速 API 的问题

假设一个用于下单的关键前端 API 出现间歇性变慢。你的团队可以通过 APM 服务视图确认高延迟,但根本原因尚不明显。慢速问题似乎发生在复杂微服务调用链的深处。

这就是新的 Discover 功能特别有用的地方。

你现在可以直接在 Discover 中启动调查,通过一个广泛的 ES|QL 查询查找该特定端点的最慢事务。下面的示例使用 OpenTelemetry demo,你也可以在 OpenTelemetry demo 中自己尝试。

ES|QL

sql 复制代码
`

1.  FROM traces-*
2.  | WHERE span.name == "oteldemo.CheckoutService/PlaceOrder"
3.  | SORT span.duration.us DESC

`AI写代码

这个简单的查询显示了最有问题的事务。在结果表中,点击任意跟踪即可在 Discover 中直接打开详细的端到端跟踪瀑布图 ------ 无需切换上下文,也无需新开浏览器标签页。

瀑布图显示,下游的货币服务响应时间过长。但为什么会这样?你现在可以优化你的 ES|QL 查询,提出更复杂的问题,深入 span 属性,找出导致瓶颈的具体下游服务调用:

ES|QL

sql 复制代码
 `1.      FROM traces-* 
2.      | WHERE service.name == "currency" and span.name == "Currency/Convert"
3.      | SORT span.duration.us DESC`AI写代码

通过这个查询,你可以立即找到影响下单 API 的货币服务中的精确 span。你可以查看所有 span 的详细信息和属性、持续时间,以及提供完整事务上下文的 trace.id

整个工作流程现在只需一个工具 Discover,就能进行迭代的发现和优化。

统一体验的好处

这些新功能简化了原本难以实现的复杂工作流程:

  • 关联一切:将跟踪过滤与日志信息、基础设施指标或 Elasticsearch 中的其他数据结合。找到慢速跟踪后,可以立即在单一视图中查看受影响 pod 的对应日志。

  • 增强灵活性:超越预定义过滤器。使用 ES|QL 的全部功能,根据任意属性对跟踪数据进行分组、聚合和过滤,提供全面的数据分析选项。

  • 集成体验:从高层 ES|QL 查询直接进入详细的跟踪瀑布图,无需中断调查流程。

展望未来:在 Discover 中进行调查

Discover 中的跟踪,由 ES|QL 提供支持,提供了灵活且强大的调查工具。这只是开始,未来还将包括改进的 span、日志和异常之间的关联,更多 ES|QL 命令以及强大的 UI,使复杂跟踪分析更加容易。

我们邀请你亲自体验。带上你最复杂的问题和最棘手的 bug,现在你可以在 Discover 中更直接地找到答案。此功能已在 Serverless 上可用。自行托管 Elastic 的现有用户需要升级到 8.19+ 或 9.1+ 才能访问。

今天就在 Elastic CloudOpenTelemetry demo上试用吧。我们期待你在 Discover 中探索跟踪时的反馈!

原文:www.elastic.co/observabili...

相关推荐
Elasticsearch5 小时前
使用 cloud-native Elasticsearch 与 ECK 运行
elasticsearch
在未来等你8 小时前
Elasticsearch面试精讲 Day 9:复合查询与过滤器优化
大数据·分布式·elasticsearch·搜索引擎·面试
boonya12 小时前
Elasticsearch核心原理与面试总结
大数据·elasticsearch·面试
77qqqiqi13 小时前
安装es和kibana
elasticsearch·kibana
LQ深蹲不写BUG16 小时前
ElasticSearch 基础内容深度解析
大数据·elasticsearch·搜索引擎
2501_9200470316 小时前
git在Linux中的使用
linux·git·elasticsearch
和科比合砍81分2 天前
ES模块(ESM)、CommonJS(CJS)和UMD三种格式
大数据·elasticsearch·搜索引擎
AAA修煤气灶刘哥2 天前
MySQL 查文本查哭了?来唠唠 ES 这货:从 “啥是 ES” 到 Java 撸代码,一篇整明白!
java·后端·elasticsearch
Elasticsearch2 天前
什么是上下文工程 (Context Engineering)?
elasticsearch