在 Elastic Observability 中使用 Discover 的追踪获取更深入的应用洞察

作者:来自 Elastic Alex Fedotyev

Elastic 把 traces 引入 Discover。看看你如何把临时数据探索和 ES|QL 的功能应用到你的 tracing 数据中。

在可观测性领域,语境为王。多年来,Elastic APM 提供了专门的视图和功能,用于理解应用和服务的健康状况。当你需要知道结账服务的表现时,你可以直接进入它的专用页面,查看延迟和吞吐量等关键指标,并直接访问相关的事务和错误。这种以实体为中心的视图对有针对性的监控和诊断来说是无价的。

但是,如果问题并不局限于某个单一服务呢?如果你需要提出更复杂的探索性问题,跨越整个数据集呢?例如:

  • 给我展示所有某个用户遇到延迟超过两秒的 traces,并把它与同一时间发生的前端错误关联起来。
  • 是否有仅发生在高级套餐客户上的慢数据库查询?
  • 哪一个具体的 RPC 调用是三个不同微服务共同的失败来源?

过去,回答这些问题是有效的,但需要在不同的 UI 中来回切换,并手动拼凑线索,导致体验并不流畅 —— 这是各种可观测性平台的共同挑战。

今天,我们很高兴地宣布在 trace 搜索和分析方面的重要改进。我们把 Traces 的原生支持引入 Discover,并集成了 trace 瀑布视图。现在你可以把临时数据探索和 ES|QL 的完整功能应用到你的 tracing 数据中。

从精心设计的视图到更广泛的数据探索

Discover 是 Elastic Stack 中进行数据探索的主要界面。它是一个工作台,你可以自由探索、过滤并关联所有已索引的数据。通过把 traces 集成到这个环境中,你现在可以超越 APM 的精心设计视图,进行更灵活的调查,按任意 trace 属性进行搜索。

你现在可以轻松搜索单个 spans 或错误,按 OpenTelemetry 资源属性和 span 属性进行过滤,并分析复杂的场景,所有这些都无需离开你熟悉且喜爱的 Discover 界面。

一个实际场景:解开一个缓慢 API 的谜团

想象一个关键的前端下单 API 正在经历间歇性变慢。你的团队有 APM 服务视图,它确认了高延迟,但根本原因并不明显。变慢似乎发生在一个复杂的微服务调用链深处。

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

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

ES|QL

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

这个简单的查询揭示了最有问题的事务(transaction)。在结果表中,单击任意 trace 就会打开一个详细的端到端 trace 瀑布视图 —— 就在 Discover 中完成。无需切换上下文,也不需要新开浏览器标签页。

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

ES|QL

    FROM traces-* 
    | WHERE service.name == "currency" and span.name == "Currency/Convert"
    | SORT span.duration.us DESC

通过这个查询,你立即找到了 currency 服务中影响下单 API 的确切 spans。你可以查看所有 span 的详细信息和属性、持续时间以及 trace.id,从而获得完整的事务上下文。

工作流现在只需一个工具 Discover,就能进行迭代式的探索和优化。

统一体验的好处

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

  • 关联一切:把 trace 过滤器与日志消息、基础设施指标或你在 Elasticsearch 中拥有的其他任何数据结合。找到一个慢 trace,并立即在同一视图中看到受影响 pod 的对应日志。
  • 增强灵活性:突破预定义过滤器的限制。使用 ES|QL 的全部能力来分组、聚合和过滤你的 trace 数据,基于任意属性提供全面的数据分析选项。
  • 集成体验:从高级别的 ES|QL 查询到详细的 trace 瀑布图,全程不中断你的调查流程。

展望:在 Discover 中的调查

Discover 中的 Traces,由 ES|QL 提供支持,带来灵活而强大的调查工具集。这只是一个开始,未来会有更多功能,包括在 Discover 中改进 spans、日志和异常之间的关联、更多的 ES|QL 命令以及更强大的 UI,让复杂 trace 的分析更轻松。

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

今天就在 Elastic CloudOpenTelemetry demo 上试试吧。期待你在探索 Discover 中的 traces 时分享反馈!

原文:https://www.elastic.co/observability-labs/blog/elastic-discover-traces-apm

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值