通过服务详细信息页面查看详细的服务活动和运行状况 - Amazon CloudWatch

通过服务详细信息页面查看详细的服务活动和运行状况

当您分析应用程序时,Amazon CloudWatch Application Signals 会映射您的应用程序发现的所有服务。使用服务详细信息页面查看单个服务的服务概述、操作、依赖项、Canary 和客户端请求。要查看服务详细信息页面,请执行以下操作:

  • 打开 CloudWatch 控制台

  • 在左侧导航窗格的 Application Signals 部分下选择服务

  • 服务热门服务或依赖项表中选择任何服务的名称。

服务详细信息页面分为以下选项卡:

  • 概述 – 使用此选项卡查看单个服务概述,包括操作数量、依赖项、Synthetics 和客户端页面。该选项卡显示整个服务、顶部操作和依赖项的关键指标。这些指标包括有关该服务所有服务操作的延迟、故障和错误的时间序列数据。

  • 服务操作 — 使用此选项卡查看服务调用的操作列表,以及包含衡量每个操作运行状况关键指标的交互式图表。您可以在图表中选择一个数据点,以获取与该数据点关联的跟踪、日志或指标的相关信息。

  • 依赖项 — 使用此选项卡查看服务调用的依赖项列表,以及依赖项指标列表。

  • Synthetics Canary — 使用此选项卡可查看模拟用户对您的服务的调用的 Synthetics Canary 列表,以及这些 Canary 如何调用的关键性能指标。

  • 客户端页面 — 使用此选项卡查看调用服务的客户端页面列表,以及衡量客户端与应用程序交互质量的指标。

查看服务概述

使用服务概述页面,可以在一个位置查看所有服务操作指标的高度概括。检查与您的应用程序交互的所有操作、依赖项、客户端页面和 Synthetics Canary 的性能。使用此信息可以帮助您确定在何处集中精力来识别问题、排除错误和找到进行优化的机会。

选择服务详细信息中的任何链接,以查看与特定服务相关的信息。例如,对于托管在 Amazon EKS 中的服务,服务详细信息页面会显示集群命名空间工作负载信息。对于托管在 Amazon ECS 或 Amazon EC2 中的服务,服务详细信息页面将显示环境值。

服务下,概述选项卡显示以下各项的摘要:

  • 操作 – 使用此选项卡查看服务操作的运行状况。运行状况由服务级别指标(SLI)确定,而这些指标被定义为服务级别目标(SLO)的一部分。

  • 依赖项 – 使用此表查看您的应用程序调用的服务的主要依赖项,按故障率列出。

  • Synthetics Canary – 使用此选项卡查看对与您的服务关联的端点或 API 的模拟调用结果,以及失败的 Canary 数量。

  • 客户页面 – 使用此选项卡查看出现异步 JavaScript and XML(AJAX)错误的客户端调用的热门页面。

下图显示了您的服务概述:

服务概述小部件

概述选项卡还显示了所有服务中延迟时间最高的依赖项的图表。使用 p99p90p50 延迟指标来快速评估哪些依赖项导致了总服务延迟,如下所示:

服务操作延迟图

例如,上图显示,向客户服务依赖项发出的请求中有 99% 在约 4950 毫秒内完成。其他依赖项花费的时间更少。

按延迟显示前四项服务操作的图表显示了这些服务的请求量、可用性、故障率和错误率,如下图所示:

服务操作量、可用性、故障率和错误率图表

查看您的服务操作

当您分析应用程序时,Application Signals 会发现您的应用程序调用的所有服务操作。使用服务操作选项卡,查看包含服务操作和衡量所选操作性能的一组指标的表。这些指标包括 SLI 状态、依赖项数量、延迟、操作量、故障、错误和可用性,如下图所示:

服务操作表格

通过从筛选条件文本框中选择一个或多个属性来筛选表格,更易于查找服务操作。选择各个属性时,您将在系统引导下选择筛选条件,并在筛选条件文本框下看到完整的筛选条件。随时选择清除筛选条件以移除表格筛选条件。

选择操作的 SLI 状态以显示弹出窗口,该弹出窗口包含指向任何运行不正常的 SLI 的链接,以及用于查看该操作的所有 SLO 的链接,如下表中所示:

服务操作 SLI 状态

服务操作表列出每项操作的 SLI 状态、运行正常或不正常的 SLI 数量以及 SLO 总数。

使用 SLI 监控延迟、可用性和其他操作指标,从而衡量服务的运行状况。使用 SLO 检查服务和操作的性能和运行状况。

要创建 SLO,可以执行以下操作:

  • 如果某项操作没有 SLO,请选择 SLI 状态列中的创建 SLO 按钮。

  • 如果某项操作已有 SLO,请执行以下操作:

    • 选中操作名称旁的单选按钮。

    • 从表格右上角的操作向下箭头中选择创建 SLO

有关更多信息,请参阅 service level objectives (SLOs)

依赖项列显示了此操作调用的依赖项数量。选择此数字可打开筛选到选定操作的依赖项选项卡。

查看服务操作指标、相关跟踪和应用程序日志

Application Signals 将服务操作指标与 AWS X-Ray 跟踪、CloudWatch Container Insights 和应用程序日志关联。使用这些指标排查运行状况问题。要将指标作为图形信息查看,请执行以下操作:

  1. 选择服务操作表中的一项服务操作,以查看表格上方所选操作的一组图表,其中包含操作量和可用性延迟以及故障和错误的指标。

  2. 将鼠标悬停在图表中的某个点上,即可查看更多信息。

  3. 选择一个点即可打开诊断窗格,其中显示图表中选定点的相关跟踪、指标和应用程序日志。

下图显示了将鼠标悬停在图表中的某个点上后出现的工具提示,以及单击某个点后出现的诊断窗格。工具提示包含有关故障和错误图表中关联数据点的信息。该窗格包含与选定点关联的相关跟踪排名靠前的贡献者应用程序日志

故障和错误的相关跟踪

相关跟踪

查看相关跟踪以了解跟踪的潜在问题。您可以检查相关的跟踪或与之关联的任何服务节点的行为是否类似。要检查相关跟踪,从相关跟踪表中选择一个跟踪 ID,以打开所选跟踪的 X-Ray 跟踪详细信息页面。跟踪详细信息页面包含与所选跟踪关联的服务节点图和跟踪分段的时间表。

排名靠前的贡献者

查看主要贡献者,以查找指标的主要输入来源。按不同的组成部分对促成因素进行分组,以寻找组内的相似之处,并了解他们之间的跟踪行为有何不同。

主要贡献者选项卡提供了每个组的调用量可用性平均延迟错误故障等指标。下面的示例图显示了,部署在 Amazon EKS 平台上的应用程序的一组指标的主要贡献者:

服务操作排名靠前的贡献者

主要贡献者包含以下指标:

  • 调用量 - 使用调用量来了解一个组在每个时间间隔的请求数。

  • 可用性 - 使用可用性查看组中未检测到故障的时间百分比。

  • 平均延迟 - 使用延迟来检查某个组在某个时间间隔内运行请求的平均时间,该时间间隔取决于您正在调查的请求是在多久之前发出的。对于不足 15 天前提出的请求,将以 1 分钟为间隔进行评估。对于 15 天到 30 天前(含 15 天和 30 天)提出的请求,将以 5 分钟为间隔进行评估。例如,如果您调查 15 天前导致故障的请求,则呼叫量指标等于每 5 分钟间隔的请求数。

  • 错误 - 在一段时间间隔内测量的每个组的错误数。

  • 故障 - 一段时间间隔内每个组的故障数。

使用 Amazon EKS 或 Kubernetes 的主要贡献者

使用部署在 Amazon EKS 或 Kubernetes 上的应用程序的主要贡献者相关信息查看按节点容器组(pod)PodTemplateHash 分组的运行状况指标。以下定义适用:

  • 容器组(pod)是一组共享存储和资源的一个或多个 Docker 容器。容器组(pod)是可以部署在 Kubernetes 平台上的最小单元。按容器组(pod)分组以检查错误是否与容器组(pod)特定的限制有关。

  • 节点是运行容器组(pod)的服务器。按节点分组以检查错误是否与节点特定的限制有关。

  • 容器组(pod)模板哈希用于查找部署的特定版本。按容器组(pod)模板哈希分组以检查错误是否与特定部署有关。

使用 Amazon EC2 的主要贡献者

使用部署在 Amazon EKS 上的应用程序的主要贡献者相关信息,查看按实例 ID 和自动扩缩组来分组的运行状况指标。以下定义适用:

  • 实例 ID 是您的服务运行的 Amazon EC2 实例的唯一标识符。按实例 ID 分组以检查错误是否与特定 Amazon EC2 实例有关。

  • 自动扩缩组是 Amazon EC2 实例的集合,允许您纵向扩展或缩减服务应用程序请求所需的资源。如果您想检查错误的范围是否仅限于组内的实例,则请按自动扩缩组进行分组。

使用自定义平台的主要贡献者

对于使用自定义工具部署的应用程序,使用其主要贡献者的相关信息查看按主机名分组的运行状况指标。以下定义适用:

  • 主机名标识连接到网络的设备,例如端点或 Amazon EC2 实例。按主机名分组以检查您的错误是否与特定物理设备或虚拟设备有关。

查看 Log Insights 和 Container Insights 中的主要贡献者

查看在 Log Insights 中为您的主要贡献者生成指标的自动查询,并对其进行修改。在 Container Insights 中按特定组 [例如容器组(pod)或节点] 查看基础设施性能指标。您可以按资源消耗对集群、节点或工作负载进行分类,并在最终用户体验受到影响之前快速识别异常或/和主动降低风险。显示如何选择这些选项的图像如下:

排名靠前的贡献者表

Container Insights 中,您可以查看特定于排名靠前的贡献者分组的 Amazon EKS 或 Amazon ECS 容器的指标。例如,如果您按容器组(pod)对 EKS 容器进行分组以生成排名靠前的贡献者,则 Container Insights 将显示针对您的容器组(pod)筛选的指标和统计数据。

Log Insights 中,您可以使用以下步骤修改在排名靠前的贡献者下生成指标的查询:

  1. 选择在 Log Insights 中查看。打开的 Logs Insights 页面包含自动生成的查询,并包含以下信息:

    • 日志集群组名称。

    • 您使用 CloudWatch 调查的操作。

    • 图表上与之交互的操作运行状况指标的汇总。

    系统会自动筛选日志结果,以显示您在服务图表上选择数据点之前最后五分钟内的数据。

  2. 要编辑查询,请将生成的文本替换为您更改的内容。您还可以使用查询生成器来帮助您生成新查询或更新现有查询。

应用程序日志

使用应用程序日志选项卡中的查询为您当前的日志组、服务生成记录的信息,并插入时间戳。日志组是您在配置应用程序时可以定义的一组日志流。

使用日志组来组织具有类似特征的日志,其中包括以下内容:

  • 捕获来自特定组织、来源或功能的日志。

  • 捕获由特定用户访问的日志。

  • 捕获特定时间段的日志。

使用这些日志流来跟踪特定组或时间范围。您还可以为这些日志组设置监控规则、警报和通知。有关日志组的更多信息,请参阅使用日志组和日志流

应用程序日志查询会返回日志组的日志、重复出现的文本模式和图形可视化内容。

要运行查询,请选择在 Logs Insights 中运行查询,以运行自动生成的查询或修改查询。要编辑查询,请将自动生成的文本替换为您更改的内容。您还可以使用查询生成器来帮助您生成新查询或更新现有查询。

下图显示根据服务操作图中所选点自动生成的示例查询:

应用程序日志表

在上图中,CloudWatch 已自动检测与所选点关联的日志组,并将其包含在生成的查询中。

查看您的服务依赖项

选择依赖项选项卡,显示依赖项表以及所有服务操作或单个操作的依赖项的一组指标。该表包含 Application Signals 发现的依赖项列表,其中包括延迟、调用量、故障率、错误率和可用性指标。

在页面顶部,从向下剪头列表中选择操作查看其依赖项,或者选择全部查看所有操作的依赖项。

通过从筛选条件文本框中选择一个或多个属性来筛选表格,可便于查找所需内容。选择各个属性时,您将在系统引导下选择筛选条件,并在筛选条件文本框下看到完整的筛选条件。随时选择清除筛选条件以移除表格筛选条件。选择表格右上角的按依赖项分组,按服务和操作名称对依赖项进行分组。开启分组后,使用依赖项名称旁边的 + 图标展开或折叠一组依赖项。

依赖项表格

依赖项列显示了依赖项服务名称,而远程操作列显示了服务操作名称。调用 AWS 服务时,目标列会显示 DynamoDB 表和 Amazon SNS 队列等 AWS 资源。

要选择依赖项,请选择依赖项表格中依赖项旁边的选项。此操作将显示一组图表,其中显示调用量、可用性、故障和错误的详细指标。将鼠标悬停在图表中的某个点上,即可查看包含更多信息的弹出窗口。选择图表中的一个点即可打开诊断窗格,其中显示图表中选定点的相关跟踪。从相关跟踪表中选择一个跟踪 ID,打开所选跟踪的 X-Ray 跟踪详细信息页面。

依赖项图表和关联跟踪

查看您的 Synthetics Canary

选择 Synthetics Canary 选项卡,可显示 Synthetics Canary 表格以及表格中每个 Canary 的一组指标。该表包括成功百分比、平均持续时间、运行次数和失败率的指标。仅显示已为 AWS X-Ray 跟踪启用的 Canary。

使用 Synthetics Canary 表中的筛选条件文本框查找您感兴趣的 Canary。您创建的每个筛选条件都在筛选条件文本框下显示。随时选择清除筛选条件以移除表格筛选条件。

Synthetics Canary 表格

选择 Canary 名称旁边的单选按钮可查看一组选项卡,其中包含图表详细指标,包括成功百分比、错误和持续时间。将鼠标悬停在图表中的某个点上,即可查看包含更多信息的弹出窗口。选择图表中的一个点即可打开诊断窗格,该窗格显示了与选定点相关的 Canary 运行。选择 Canary 运行并选择运行时间以查看所选 Canary 运行的构件,包括日志、HTTP 存档(HAR)文件、屏幕截图以及帮助您排查问题的建议步骤。选择了解更多,以打开 Canary 运行旁边的 CloudWatch Synthetics Canary 页面。

Synthetics Canary 图表和运行

查看您的客户端页面

选择客户端页面选项卡以显示调用服务的客户端网页列表。使用选定客户端页面的一组指标来衡量客户在与服务或应用程序交互时的体验质量。这些指标包括页面加载量、Web 重要信息和错误。

要在此表格中显示您的客户端页面,您必须将您的 CloudWatch RUM Web 客户端配置为 X-Ray 跟踪,并开启客户端页面的 Application Signals 指标。选择管理页面,以选择为 Application Signals 指标启用的页面。

使用筛选器文本框在筛选器文本框下方查找您感兴趣的客户端页面或应用程序监视器。选择清除筛选条件以移除表格筛选条件。选择按客户端分组,可按客户端对客户端页面进行分组。分组后,选择客户端名称旁边的 + 图标,即可展开该行并查看该客户端的所有页面。

“客户端页面”表格

要选择客户端页面,请在客户端页面表格中选择客户端页面旁边的选项。您将看到一组显示详细指标的图表。将鼠标悬停在图表中的某个点上,即可查看包含更多信息的弹出窗口。选择图表中的一个点即可打开诊断窗格,该窗格显示了图表中选定点的相关性能导航事件。从导航事件列表中选择一个事件 ID,打开所选事件的 CloudWatch RUM 页面视图

CloudWatch RUM 客户端页面请求
注意

要查看客户端页面中的 AJAX 错误,请使用 CloudWatch RUM Web 客户端 1.15 版本或更高版本。

目前,每项服务最多可以显示 100 个操作、Canary 和客户端页面,以及最多 250 个依赖项。