

# 通过服务详细信息页面查看详细的服务活动和运行状况
<a name="ServiceDetail"></a>

当您分析应用程序时，[Amazon CloudWatch Application Signals](CloudWatch-Application-Monitoring-Sections.md) 会映射您的应用程序发现的所有服务。使用服务详细信息页面查看单个服务的服务概述、操作、依赖项、Canary 和客户端请求。要查看服务详细信息页面，请执行以下操作：
+ 打开 [CloudWatch 控制台](https://console.aws.amazon.com/cloudwatch/)。
+ 在左侧导航窗格的 **Application Signals** 部分下选择**服务**。
+ 从**服务**、**热门服务**或依赖项表中选择任何服务的名称。

在**计划访问**下，您将在服务名称下方看到账户标签和 ID。

服务详细信息页面分为以下选项卡：
+  [概述](#ServiceDetail-overview) – 使用此选项卡查看单个服务概述，包括操作数量、依赖项、Synthetics 和客户端页面。该选项卡显示整个服务、顶部操作和依赖项的关键指标。这些指标包括有关该服务所有服务操作的延迟、故障和错误的时间序列数据。
+  [服务操作](#ServiceDetail-operations) — 使用此选项卡查看服务调用的操作列表，以及包含衡量每个操作运行状况关键指标的交互式图表。您可以在图表中选择一个数据点，以获取与该数据点关联的跟踪、日志或指标的相关信息。
+  [依赖项](#ServiceDetail-dependencies) — 使用此选项卡查看服务调用的依赖项列表，以及依赖项指标列表。
+  [Synthetics Canary](#ServiceDetail-canaries) — 使用此选项卡可查看模拟用户对您的服务的调用的 Synthetics Canary 列表，以及这些 Canary 如何调用的关键性能指标。
+  [客户端页面](#ServiceDetail-clientpages) — 使用此选项卡查看调用服务的客户端页面列表，以及衡量客户端与应用程序交互质量的指标。
+  [相关指标](#ServiceDetail-relatedmetrics)：使用此选项卡可关联相关指标，包括服务（及其操作或依赖项）的标准指标、运行时指标、自定义指标。

## 查看服务概述
<a name="ServiceDetail-overview"></a>

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

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

在**服务**下，**概述**选项卡显示以下各项的摘要：
+ 操作 – 使用此选项卡查看服务操作的运行状况。运行状况由服务级别指标（SLI）确定，而这些指标被定义为[服务级别目标](CloudWatch-ServiceLevelObjectives.md)（SLO）的一部分。
+ 依赖项：使用此选项卡可以查看应用程序调用的服务的顶级依赖项（按故障率列出），还可以查看服务依赖项的运行状况。运行状况由服务级别指标（SLI）确定，而这些指标被定义为服务级别目标（SLO）的一部分。
+ Synthetics Canary – 使用此选项卡查看对与您的服务关联的端点或 API 的模拟调用结果，以及失败的 Canary 数量。
+ 客户页面 – 使用此选项卡查看出现异步 JavaScript and XML（AJAX）错误的客户端调用的热门页面。

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

![\[服务概述小部件\]](http://docs.aws.amazon.com/zh_cn/AmazonCloudWatch/latest/monitoring/images/service-detail-widgets.png)


**概述**选项卡还显示了所有服务中延迟时间最高的依赖项的图表。使用 **p99**、**p90** 和 **p50** 延迟指标来快速评估哪些依赖项导致了总服务延迟，如下所示：

![\[服务操作延迟图\]](http://docs.aws.amazon.com/zh_cn/AmazonCloudWatch/latest/monitoring/images/service-detail-latency.png)


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

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

![\[服务操作量、可用性、故障率和错误率图表\]](http://docs.aws.amazon.com/zh_cn/AmazonCloudWatch/latest/monitoring/images/service-detail-operations-graphs.png)


**服务详细信息**部分会显示服务的详细信息，包括**账户 ID** 和**账户标签**。

## 查看您的服务操作
<a name="ServiceDetail-operations"></a>

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

![\[服务操作表格\]](http://docs.aws.amazon.com/zh_cn/AmazonCloudWatch/latest/monitoring/images/service-operations-table.png)


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

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

![\[服务操作 SLI 状态\]](http://docs.aws.amazon.com/zh_cn/AmazonCloudWatch/latest/monitoring/images/service-operation-unhealthy-slo.png)


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

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

要创建 SLO，可以执行以下操作：
+ 如果某项操作没有 SLO，请选择 **SLI 状态**列中的**创建 SLO** 按钮。
+ 如果某项操作已有 SLO，请执行以下操作：
  + 选中操作名称旁的单选按钮。
  + 从表格右上角的**操作**向下箭头中选择**创建 SLO**。

有关更多信息，请参阅 [service level objectives (SLOs)](CloudWatch-ServiceLevelObjectives.md)。

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

### 查看服务操作指标、相关跟踪和应用程序日志
<a name="ServiceDetail-traces"></a>

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

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

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

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

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

![\[故障和错误的相关跟踪\]](http://docs.aws.amazon.com/zh_cn/AmazonCloudWatch/latest/monitoring/images/service-detail-correlated-traces.png)


#### 相关跟踪
<a name="ServiceDetail-traces-correlated"></a>

查看相关跟踪以了解跟踪的潜在问题。您可以检查相关的跟踪或与之关联的任何服务节点的行为是否类似。要检查相关跟踪，从**相关跟踪**表中选择一个**跟踪 ID**，以打开所选跟踪的 [X-Ray 跟踪详细信息](https://docs.aws.amazon.com/xray/latest/devguide/xray-console-traces.html)页面。跟踪详细信息页面包含与所选跟踪关联的服务节点图和跟踪分段的时间表。

#### 排名靠前的贡献者
<a name="ServiceDetail-traces-top-contributors"></a>

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

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

![\[服务操作排名靠前的贡献者\]](http://docs.aws.amazon.com/zh_cn/AmazonCloudWatch/latest/monitoring/images/service-operations-top-contributors.png)


主要贡献者包含以下指标：
+ **调用量** - 使用调用量来了解一个组在每个时间间隔的请求数。
+ **可用性** - 使用可用性查看组中未检测到故障的时间百分比。
+ **平均延迟** - 使用延迟来检查某个组在某个时间间隔内运行请求的平均时间，该时间间隔取决于您正在调查的请求是在多久之前发出的。对于不足 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 实例有关。
+ [自动扩缩组](https://docs.aws.amazon.com/autoscaling/ec2/userguide/auto-scaling-groups.html)是 Amazon EC2 实例的集合，允许您纵向扩展或缩减服务应用程序请求所需的资源。如果您想检查错误的范围是否仅限于组内的实例，则请按自动扩缩组进行分组。

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

对于使用自定义检测部署的应用程序，使用其主要贡献者的相关信息查看按**主机名**分组的运行状况指标。以下定义适用：
+ 主机名标识连接到网络的设备，例如端点或 Amazon EC2 实例。按主机名分组以检查您的错误是否与特定物理设备或虚拟设备有关。

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

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

![\[排名靠前的贡献者表\]](http://docs.aws.amazon.com/zh_cn/AmazonCloudWatch/latest/monitoring/images/service-operations-top-contributors-insights.png)


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

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

1. 选择**在 Log Insights 中查看**。打开的 **Logs Insights** 页面包含自动生成的查询，并包含以下信息：
   + 日志集群组名称。
   + 您使用 CloudWatch 调查的操作。
   + 图表上与之交互的操作运行状况指标的汇总。

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

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

#### 应用程序日志
<a name="ServiceDetail-traces-application-logs"></a>

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

使用日志组来组织具有类似特征的日志，其中包括以下内容：
+ 捕获来自特定组织、来源或功能的日志。
+ 捕获由特定用户访问的日志。
+ 捕获特定时间段的日志。

使用这些日志流来跟踪特定组或时间范围。您还可以为这些日志组设置监控规则、警报和通知。有关日志组的更多信息，请参阅[使用日志组和日志流](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html)。

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

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

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

![\[应用程序日志表\]](http://docs.aws.amazon.com/zh_cn/AmazonCloudWatch/latest/monitoring/images/service-operations-application-logs.png)


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

## 查看您的服务依赖项
<a name="ServiceDetail-dependencies"></a>

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

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

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

![\[依赖项表格\]](http://docs.aws.amazon.com/zh_cn/AmazonCloudWatch/latest/monitoring/images/service-dependencies-table.png)


**依赖项**列显示了依赖项服务名称，而**远程操作**列显示了服务操作名称。**SLI 状态**列显示运行正常或不正常的 SLI 数量以及每个依赖项的 SLI 总数。调用 AWS 服务时，**目标**列会显示 DynamoDB 表和 Amazon SNS 队列等 AWS 资源。

要选择依赖项，请选择**依赖项**表格中依赖项旁边的选项。此操作将显示一组图表，其中显示调用量、可用性、故障和错误的详细指标。将鼠标悬停在图表中的某个点上，即可查看包含更多信息的弹出窗口。选择图表中的一个点即可打开诊断窗格，其中显示图表中选定点的相关跟踪。从**相关跟踪**表中选择一个跟踪 ID，打开所选跟踪的 [X-Ray 跟踪详细信息](https://docs.aws.amazon.com/xray/latest/devguide/xray-console-traces.html)页面。

![\[依赖项图表和关联跟踪\]](http://docs.aws.amazon.com/zh_cn/AmazonCloudWatch/latest/monitoring/images/service-dependency-graph-traces.jpg)


## 查看您的 Synthetics Canary
<a name="ServiceDetail-canaries"></a>

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

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

![\[Synthetics Canary 表格\]](http://docs.aws.amazon.com/zh_cn/AmazonCloudWatch/latest/monitoring/images/service-canaries-table.png)


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

![\[Synthetics Canary 图表和运行\]](http://docs.aws.amazon.com/zh_cn/AmazonCloudWatch/latest/monitoring/images/service-canary-graphs-runs.jpg)


## 查看您的客户端页面
<a name="ServiceDetail-clientpages"></a>

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

要在此表格中显示您的客户端页面，您必须[将您的 CloudWatch RUM Web 客户端配置为 X-Ray 跟踪](CloudWatch-RUM-get-started-create-app-monitor.md)，并开启客户端页面的 Application Signals 指标。选择**管理页面**，以选择为 Application Signals 指标启用的页面。

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

![\[“客户端页面”表格\]](http://docs.aws.amazon.com/zh_cn/AmazonCloudWatch/latest/monitoring/images/service-client-pages-table.png)


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

![\[CloudWatch RUM 客户端页面请求\]](http://docs.aws.amazon.com/zh_cn/AmazonCloudWatch/latest/monitoring/images/service-client-page-graphs-events.jpg)


**注意**  
要查看客户端页面中的 AJAX 错误，请使用 [CloudWatch RUM Web 客户端](CloudWatch-RUM-configure-client.md) 1.15 版本或更高版本。  
 每项服务最多可以显示 100 个操作、金丝雀和客户端页面，以及最多 250 个依赖项。

## 查看相关指标
<a name="ServiceDetail-relatedmetrics"></a>

使用“相关指标”选项卡可实现多指标可视化、找出关联模式以及确定问题的根本原因。

指标表会显示三种类型的指标：
+ 标准指标：Application Signals 会从自己发现的服务中收集标准应用程序指标。有关更多信息，请参阅[收集的标准应用程序指标](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AppSignals-MetricsCollected.html#AppSignals-StandardMetrics)
+ 运行时指标：Application Signals 会使用 AWS Distro for OpenTelemetry SDK 从 Java 和 Python 应用程序中自动收集与 OpenTelemetry 兼容的指标。有关更多信息，请参阅[运行时指标](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AppSignals-MetricsCollected.html#AppSignals-RuntimeMetrics)
+ 自定义指标：Application Signals 允许从应用程序生成自定义指标。有关更多信息，请参阅 [自定义指标与 Application Signals](AppSignals-CustomMetrics.md)。

支持从以下任一选项卡访问“相关指标”选项卡：“服务概览”、“服务操作”、“依赖项”、“Synthetics 金丝雀”或“真实用户监控（RUM）”。

![\[查看相关指标\]](http://docs.aws.amazon.com/zh_cn/AmazonCloudWatch/latest/monitoring/images/Custom_metrics.png)

+ 左侧导航面板初始状态为未选择任何操作与依赖项
+ 该图表初始显示故障率最高操作的故障指标

在开始进行关联分析之前，确保“服务操作”或“依赖项”页面中存在可见数据点。要分析关联性，请执行以下步骤：

1. 打开“服务操作”或“依赖项”页面。

1. 在任意图表中选择一个数据点。

1. 在右侧面板中选择**与其他指标关联**。

1. 随后打开的**相关指标**选项卡上会显示：
   + 在左侧导航栏中选定的操作或依赖项
   + *浏览指标*表中以图表形式展示的选定指标
   + 选择数据点时对应的关联跨度

要绘制多个指标的图表，请从**相关指标**选项卡的**浏览**视图中选择一个或多个指标。选择**图表化指标**可查看所有以图表形式展示的指标。

要筛选指标，请使用左侧面板筛选条件聚焦特定操作或依赖项，然后利用表头筛选栏按名称、类型或其他属性进行搜索。这些筛选选项可以帮助您更高效地检测模式并排查问题。

要详细分析相关指标，请在**相关指标**选项卡中选择一个数据点。随后可查看：
+ 最大贡献者：通过运行 CloudWatch Logs Insights 查询分析指标。这些查询会处理增强型指标格式（EMF）记录，其中包含详细分析以下内容的关键属性：
  + 延迟测量值
  + 故障发生次数
  + 服务可用性指标

  以下指标不支持最大贡献者分析：
  + OTEL 指标
  + 服务器端跨度指标

  支持查看 RED 指标和客户端跨度指标的最大贡献者分析。
+ 关联跨度：“关联跨度”板块与“服务操作”选项卡保持协同工作。为帮助识别相关追踪和指标，其关联机制通过以下方式运作：
  + 将指标名称与跨度属性进行对比
  + 识别选定时间段内的匹配模式
  + 显示相关的追踪信息

  要高效地整合分析指标和跨度，需先了解不同指标类型的关联机制。主要限制条件如下：
  + OTEL 指标因采用独立命名体系，无法与跨度建立关联
  + 如需将服务端/客户端跨度指标与跨度关联，须满足：
  + 在配置中包含服务维度字段
  + 缺少此服务维度将无法实现指标与跨度的关联
+ 应用程序日志：有关应用程序日志的信息，请参阅[应用程序日志](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ServiceDetail.html#ServiceDetail-operations)