跟踪 - 亚马逊 OpenSearch 服务

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

跟踪

Amazon S OpenSearch ervice 提供全面的分布式跟踪功能,可帮助您了解应用程序性能并诊断微服务架构中的问题。通过使用 Ingesti OpenSearch on 摄取 OpenTelemetry (OTel) 跟踪数据,S OpenSearch ervice 会自动处理和结构化您的遥测信息,从而让您 end-to-end了解分布式系统中的请求流。

跟踪数据处理和摄取

OpenSearch Ingestion 提供专门的处理器,可在摄取期间对您的跟踪数据进行标准化和丰富,从而确保您的遥测遵循一致的模式并准备好进行分析。跟踪数据的主要处理器包括:

  • service_map— 根据跨度关系自动构建服务依赖关系图,显示请求在服务之间的流动。

  • trace_group— 根据条目跨度属性(如 HTTP 方法和路径)将相关跨度聚合到逻辑跟踪组中。

  • otel_trace_raw— 处理原始 OpenTelemetry 跟踪数据,并将属性、资源属性和仪器范围信息提取到可搜索字段中。

OpenSearch 用户界面和可观测性工作区

将您的跟踪数据导入亚马逊 OpenSearch 服务后,您可以使用 OpenSearch 用户界面中亚马逊 OpenSearch 服务可观测性工作区提供的工具对其进行分析。可观测性工作区提供专门的可视化和分析工具,旨在帮助您了解分布式架构中的服务性能、识别瓶颈并解决问题。

可观测性工作区包括一个服务视图,该视图显示所有已检测服务的红色指标(比率、错误率、持续时间),以及显示依赖关系和通信模式的交互式服务地图。Traces 视图允许您使用轨迹 IDs 或跨度搜索特定的跟踪 IDs,然后深入查看详细的瀑布图和跨度分析,以了解系统中的完整请求旅程。

主要功能

服务视图

服务视图通过以下方式全面概述了应用程序的运行状况和性能:

  • RED 指标控制面板 — 监控分布式系统中每项服务的速率(每秒请求数)、错误率(失败请求的百分比)和持续时间(延迟百分比)。这些指标可让您即时了解服务运行状况,并帮助您快速识别性能下降情况。

  • 交互式服务地图-通过自动生成的依赖关系图可视化您的服务相互通信的方式。服务映射显示服务之间的请求流,帮助您了解系统架构并识别瓶颈或级联故障。

  • 服务运行状况指标-根据错误率和延迟阈值快速识别有问题的服务。服务采用颜色编码,以突出显示需要立即关注的服务,从而可以轻松确定故障排除工作的优先顺序。

  • 服务关联对话框-从任何服务向下钻取以分析相关的日志和跟踪。此集成视图将服务级别指标与详细的跟踪数据和关联的日志条目联系起来,无需在不同的工具之间切换即可更快地分析根本原因。

追踪视图

Traces 视图允许通过分布式系统对单个请求进行深入调查:

  • 按 HTTP 方法和路径对跟踪进行分组 — 根据 API 端点自动将跟踪组织到逻辑组中,显示平均延迟、错误率和一段时间内的性能趋势等汇总指标。这可以帮助您确定哪些端点遇到了问题并跟踪性能改进。

  • 跟踪 ID 和跨度 ID 搜索 — 使用跟踪标识符或跨度标识符快速定位特定跟踪。这在调查用户报告的问题或与包含跟踪上下文的错误日志关联时特别有用。

  • 瀑布图 — 可视化请求在您的服务中流经时的完整时间表。瀑布视图显示跨度时间和持续时间,便于识别慢速操作、顺序处理与并行处理以及分布式系统中的时间花在哪里。

  • 带有分层跨度细分的树视图-浏览跨度之间的父子关系,以了解跟踪中的呼叫层次结构。此视图可帮助您查看请求如何跨服务分支,并确定哪些服务调用导致了总体延迟。

  • 关联日志面板-查看与您的跟踪发生在相同时间段内的日志,并按相关服务和跟踪上下文进行筛选。跟踪和日志之间的这种关联通过在单个界面中提供请求流和详细的应用程序日志,显著改善了故障排除。

高级功能

  • 关联分析 — 将跟踪、跨度和服务与相应的日志无缝链接。可观察性工作区使用跟踪上下文自动关联遥测数据,允许您在同一请求的不同视图之间进行切换,而不会丢失上下文。

  • 自定义索引名称和跨集群支持 — 将 OpenSearch 服务配置为从自定义索引模式或跨多个 OpenSearch 集群读取跟踪数据。这种灵活性支持复杂的部署场景,并允许您根据运营需求组织遥测数据。

  • 可配置的服务地图限制-调整服务地图中显示的服务和连接数量以处理大规模拓扑。对于拥有数百个服务的系统,您可以筛选地图以聚焦于特定的服务子集,或者调整渲染限制以保持性能。

  • 甘特图的迷你地图导航-使用迷你地图概览高效地浏览大型跟踪瀑布图。此功能在分析具有多个跨度的轨迹时特别有用,可让您快速跳转到时间轴的不同部分。

Traces 基于 OpenTelemetry (OTel) 协议数据提供对应用程序性能 at-a-glance的可见性。它通过跟踪请求跨服务的 end-to-end旅程,帮助您了解请求是如何流经分布式系统的。