本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
应用程序监控
应用程序监控提供服务性能的实时视图。它将存储的拓扑数据 OpenSearch 与来自 Amazon Prometheus 托管服务的时间序列 RED 指标(速率、错误、持续时间)相结合,以显示分布式系统中的运行状况、延迟、吞吐量和错误信息。
要访问应用程序监控,请在 OpenSearch 用户界面中导航到可观察性 > 应用程序监控。侧栏显示两个视图:
-
应用程序地图-服务依赖关系的交互式拓扑图
-
服务-所有仪器化服务的目录,包括筛选、详细信息视图和关联链接
先决条件
必须先配置以下资源,然后才能使用应用程序监控。
-
OTLP 跟踪从您的 OTel 收集器流向 OpenSearch 摄取的数据(指标和日志是可选的)
-
启用了可观测性的 OpenSearch 界面工作区
工作原理
下图显示了应用程序监控的 end-to-end架构。
-
您的应用程序和基础架构通过 OpenTelemetry SDKs、自动检测或 OTel API 向收集器发送遥测数据。 OTel
-
OTel 收集器通过 OTLP 将跟踪数据转发给 OpenSearch Ingestion。
-
OpenSearch 摄取
otel_apm_service_map处理器提取 service-to-service关系并计算 RED 指标。 -
拓扑和原始跟踪数据已编入索引。 OpenSearchRED 指标通过远程写入导出到适用于 Prometheus 的亚马逊托管服务。
-
OpenSearch 用户界面会查询两个商店以呈现应用程序地图、服务目录和服务详细信息视图。
Services
“服务” 视图提供了所有已检测服务的集中目录,显示红色指标(比率、错误、持续时间)一目了然。您可以使用此视图快速识别不健康的服务,并深入了解详细信息视图以进行更深入的分析。
要访问服务视图,请在 OpenSearch 用户界面中导航到可观察性工作区,然后选择 APM > 服务。
服务主页显示所有已检测服务的表格以及摘要面板。下图显示了服务主页。
下表描述了服务表中的各列。
| 列 | 说明 |
|---|---|
| 服务名称 | 仪器化服务的名称。 |
| P99 延迟 | 服务的第 99 个百分位延迟。 |
| P90 延迟 | 服务的第 90 个百分位延迟。 |
| P50 延迟 | 服务的第 50 个百分位数(中位数)延迟。 |
| 请求总数 | 在所选时间范围内处理的请求总数。 |
| 失败率 | 失败的请求数与请求总数的比率。 |
| 环境 | 服务的部署环境,例如production或staging。 |
主页还包括以下摘要面板:
-
按故障率排列的热门服务-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) 筛选服务。
-
环境-按部署环境筛选服务。
下图显示了按错误率筛选的地图。
上下文中的相关性
您可以直接从拓扑视图导航到相关的跟踪和日志。在任何服务节点上,都可以使用以下关联选项:
-
查看相关跟踪-为所选服务打开经过筛选的跟踪视图。
-
查看相关日志-打开所选服务的筛选日志视图。