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...

相关推荐
精致先生36 分钟前
ElasticSearch
elasticsearch·搜索引擎
Elastic 中国社区官方博客36 分钟前
更高的吞吐量和更低的延迟: Elastic Cloud Serverless 在 AWS 上获得了显著的性能提升
大数据·数据库·elasticsearch·搜索引擎·云原生·serverless·aws
Elastic 中国社区官方博客12 小时前
使用 Elastic 中的 OpenTelemetry 为 Nginx 实现端到端分布式追踪的实用指南
大数据·运维·分布式·elasticsearch·搜索引擎·信息可视化·全文检索
Elastic 中国社区官方博客16 小时前
JINA AI 与 Elasticsearch 的集成
大数据·人工智能·elasticsearch·搜索引擎·全文检索·jina
tebukaopu14818 小时前
es searchSourceBuilder.trackTotalHits(true);的作用
大数据·elasticsearch·搜索引擎
single-life20 小时前
Linux 下 部署es+nebula(附带内网部署方式)
linux·运维·elasticsearch·nebula
一个向上的运维者21 小时前
实战解析|EFK 日志系统数据同步问题全解(附核心配置模板)
elasticsearch·云原生
cicada151 天前
分享一个git日常开发流程
大数据·git·elasticsearch
_oP_i1 天前
Windows 下往 Elasticsearch 添加数据
大数据·windows·elasticsearch
咕叽咕叽的汪1 天前
Es/Kibana7.17.9中数据迁移到openSearch3.4.0【DockerDesktop模拟】
运维·spring boot·elasticsearch·docker·容器·devops