View a markdown version of this page

应用程序监控 - 亚马逊 OpenSearch 服务

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

应用程序监控

应用程序监控提供服务性能的实时视图。它将存储的拓扑数据 OpenSearch 与来自 Amazon Prometheus 托管服务的时间序列 RED 指标(速率、错误、持续时间)相结合,以显示分布式系统中的运行状况、延迟、吞吐量和错误信息。

要访问应用程序监控,请在 OpenSearch 用户界面中导航到可观察性 > 应用程序监控。侧栏显示两个视图:

  • 应用程序地图-服务依赖关系的交互式拓扑图

  • 服务-所有仪器化服务的目录,包括筛选、详细信息视图和关联链接

先决条件

必须先配置以下资源,然后才能使用应用程序监控。

工作原理

下图显示了应用程序监控的 end-to-end架构。

  1. 您的应用程序和基础架构通过 OpenTelemetry SDKs、自动检测或 OTel API 向收集器发送遥测数据。 OTel

  2. OTel 收集器通过 OTLP 将跟踪数据转发给 OpenSearch Ingestion。

  3. OpenSearch 摄取otel_apm_service_map处理器提取 service-to-service关系并计算 RED 指标。

  4. 拓扑和原始跟踪数据已编入索引。 OpenSearchRED 指标通过远程写入导出到适用于 Prometheus 的亚马逊托管服务。

  5. OpenSearch 用户界面会查询两个商店以呈现应用程序地图、服务目录和服务详细信息视图。

Services

“服务” 视图提供了所有已检测服务的集中目录,显示红色指标(比率、错误、持续时间)一目了然。您可以使用此视图快速识别不健康的服务,并深入了解详细信息视图以进行更深入的分析。

要访问服务视图,请在 OpenSearch 用户界面中导航到可观察性工作区,然后选择 APM > 服务。

服务主页显示所有已检测服务的表格以及摘要面板。下图显示了服务主页。

下表描述了服务表中的各列。

说明
服务名称 仪器化服务的名称。
P99 延迟 服务的第 99 个百分位延迟。
P90 延迟 服务的第 90 个百分位延迟。
P50 延迟 服务的第 50 个百分位数(中位数)延迟。
请求总数 在所选时间范围内处理的请求总数。
失败率 失败的请求数与请求总数的比率。
环境 服务的部署环境,例如productionstaging

主页还包括以下摘要面板:

  • 按故障率排列的热门服务-5xx 响应百分比最高的服务。

  • 按故障率排列的顶级 Service-to-service依赖路径 — 故障率最高的依赖路径。

您可以使用以下过滤器筛选服务表:

  • 环境-按部署环境筛选。

  • 延迟-按延迟范围筛选。

  • 吞吐量-按请求吞吐量范围筛选。

  • 故障率-按故障率范围筛选。

服务概览

要打开服务详细信息视图,请在服务表中选择一个服务名称。概述选项卡显示所选服务的指标分块和时间序列图表。

概述选项卡包括以下时间序列图表:

  • 按服务依赖关系划分的延迟 — 按下游依赖关系细分的 P50、P90 和 P99 延迟。

  • 按操作分列的请求-服务每项操作的请求量。

  • 按操作划分的可用性-每项操作成功响应的百分比。

  • 按操作划分的故障率和错误率-每项操作的 5xx 和 4xx 响应百分比。

操作

“操作” 选项卡提供了所选服务的每个操作的细分。您可以按任意列对表进行排序,以识别有问题的操作。

下表描述了操作表中的各列。

说明
操作名称 操作的名称。
P50/P90/P99 延迟 操作的第 50、90 和 99 个百分位延迟。
请求总数 在所选时间范围内请求操作的总数。
错误率 返回错误的请求的百分比。
可用性 操作成功响应的百分比。

依赖项

依赖关系选项卡显示所选服务调用的下游服务。

下表描述了依赖关系表中的各列。

说明
依赖服务 下游服务的名称。
远程操作 该操作在下游服务上调用。
服务操作 当前服务上调用此依赖项的操作。
P99/P90/P50 延迟 依赖路径的第 99、90 和第 50 个百分位延迟。
请求总数 在所选时间范围内向依赖项发出的请求总数。
错误率 向依赖项发出的请求中返回错误的百分比。
可用性 依赖项成功响应的百分比。

关联

服务详细信息视图提供上下文相关性,使您可以直接从服务指标导航到相关的跟踪和日志。您可以使用相关性来调查延迟峰值或错误率增加的根本原因。

以下关联选项可用:

  • 查看相关跟踪-为所选服务或操作打开经过筛选的跟踪视图。

  • 查看相关日志-打开所选服务或操作的筛选日志视图。

  • 按属性筛选-按特定跨度属性缩小关联结果范围。

应用程序地图

应用程序地图是一种交互式拓扑可视化, OpenSearch Ingestion 使用处理器根据您的跟踪数据自动生成该地图。otel_apm_service_map地图将服务显示为具有显示通信模式的方向边缘的节点,上面覆盖着红色指标(速率、错误、持续时间)。

要访问应用程序地图,请在 OpenSearch 用户界面中导航到可观察性工作区,然后选择 APM > 应用程序地图。

下图显示了 “应用程序地图”。

该地图显示了每项服务的以下红色指标:

  • 速率-服务每秒处理的请求数。

  • 错误-4xx 和 5xx 响应的百分比。

  • 持续时间-服务的 P50 和 P99 延迟。

otel_apm_service_map处理器生成这些指标,并通过远程写入将其存储在适用于 Prometheus 的亚马逊托管服务中。

拓扑可视化将服务表示为节点,将通信方向表示为边。颜色编码表示每项服务的运行状况。当 Ingesti OpenSearch on 摄取新的追踪数据时,地图会自动更新。

分组服务

您可以按编程语言、团队或环境等属性对服务进行分组。选择分组依据属性时,地图会从拓扑图切换到卡片网格视图。每张卡片代表一组共享相同属性值的服务。

可用的分组依据属性由 Ingestion 中otel_apm_service_map处理器配置中的group_by_attributes OpenSearch 设置确定。

查看节点详情

要查看服务的详细信息,请在地图上选择一个节点。将打开一个包含以下部分的详细信息面板。

Heal th” 部分显示以下摘要指标:

  • 请求总数

  • 错误总数 4xx

  • 故障总数 5xx

指标部分显示以下时间序列图表:

  • 请求

  • 延迟 P50/P90/P99

  • 故障 5xx

  • 错误 4xx

选择查看详细信息以导航到所选服务的服务详细信息视图。

筛选地图

您可以使用以下过滤器来筛选 “应用程序地图”:

  • 故障率-按服务器端故障率 (5xx) 筛选服务。

  • 错误率-按客户端错误率 (4xx) 筛选服务。

  • 环境-按部署环境筛选服务。

下图显示了按错误率筛选的地图。

上下文中的相关性

您可以直接从拓扑视图导航到相关的跟踪和日志。在任何服务节点上,都可以使用以下关联选项:

  • 查看相关跟踪-为所选服务打开经过筛选的跟踪视图。

  • 查看相关日志-打开所选服务的筛选日志视图。