使用 Amazon CloudWatch 监控 Amplify 应用程序 - AWS Amplify 托管

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

使用 Amazon CloudWatch 监控 Amplify 应用程序

AWS Amplify 已与 Amazon CloudWatch 集成,让您能够近乎实时地监控 Amplify 应用程序的指标,以及创建将在某个指标超过设定阈值时发送通知的警报。有关 CloudWatch 服务工作原理的更多信息,请参阅 Amazon CloudWatch 用户指南

支持的 CloudWatch 指标

Amplify 在 AWS/AmplifyHosting 命名空间中支持七个 CloudWatch 指标,用于监控应用程序的流量、错误、数据传输、延迟和请求令牌。这些指标每隔一分钟汇总一次。CloudWatch 监控指标是免费的,不计入 CloudWatch 服务限额

下表中介绍了各项受支持的指标,并列出了最相关的统计数据。并非所有可用的统计数据都适用于每个指标。

指标 描述

请求

您的应用程序收到的查看器请求总数。

最相关的统计数据是 Sum。使用 Sum 统计数据可获取请求总数。

BytesDownloaded

查看器为 GETHEADOPTIONS 请求从您的应用程序传出(下载)的数据总量,以字节为单位。

最相关的统计数据是 Sum

BytesUploaded

传输到应用程序(上传)的任何请求的数据总量,包括表头在内,以字节为单位。

Amplify 不会针对应用程序中上传的数据向您收取费用。

最相关的统计数据是 Sum

4xxErrors

在 HTTP 状态码 400-499 范围内返回错误的请求数。

最相关的统计数据是 Sum。使用 Sum 统计数据以得出这些错误的总出现次数。

5xxErrors

在 HTTP 状态码 500-599 范围内返回错误的请求数。

最相关的统计数据是 Sum。使用 Sum 统计数据以得出这些错误的总出现次数。

延迟

第一个字节的时间(以秒为单位)。这是 Amplify Hosting 收到请求到它将响应返回给网络之间所经过的总时间。这还不包括响应到达查看者设备时遇到的网络延迟。

最相关的统计数据是 AverageMaximumMinimump10p50p90p95p100

使用 Average 统计数据可评估预期延迟。

TokensConsumed

应用程序使用的请求令牌数。

Sum 统计数据指示总请求令牌消耗量。您可以将此统计数据与您当前的 Request tokens per second 服务配额进行比较,确定是否需要申请增加配额,以免在未来的高流量事件中潜在被节流。

Average 统计数据指示正常和高峰时段的请求令牌消耗量。通常,令牌消耗量越高,首字节时间(TTFB)将会更长。因此,您可以在评估应用程序的延迟时使用此统计数据。如果延迟较高,则可以通过改进下游 API 来减少令牌消耗,并避免在令牌消耗量超过应用程序的 Request tokens per second 服务配额时可能出现的节流。

有关 Request tokens per second 服务配额的更多信息,请参阅 Amplify 托管服务限额

Amplify 提供以下 CloudWatch 指标维度。

维度 描述

应用程序

指标数据由应用程序提供。

AWS 账户

AWS 账户 中提供了所有应用程序的指标数据。

访问 CloudWatch 指标

您可以利用如下过程从 Amplify 控制台直接访问 CloudWatch 指标。

注意

您还可以在 https://console.aws.amazon.com/cloudwatch/ 的 AWS 管理控制台 中访问 CloudWatch 指标。

在 Amplify 控制台中访问指标
  1. 登录 AWS 管理控制台 并打开 Amplify 控制台

  2. 选择要查看其指标的应用程序。

  3. 在导航窗格中,依次选择监控指标

创建 CloudWatch 警报

您可以在 Amplify 控制台中创建 CloudWatch 警报,以便在满足特定条件时发送通知。警报会监视单个 CloudWatch 指标,并在该指标在指定数量的评估期内超出阈值时发送 Amazon Simple Notification Service 通知。

您可以在 CloudWatch 控制台中使用指标数学表达式或使用 CloudWatch API 创建更高级的警报。例如,您可以创建一个警报,以在连续三个期间内的 4xxErrors 百分比超过 15% 时通知您。有关更多信息,请参阅《Amazon CloudWatch 用户指南》中的创建基于指标数学表达式的 CloudWatch 警报

标准 CloudWatch 定价适用于警报。有关更多信息,请参阅 Amazon CloudWatch 定价

使用以下步骤在 Amplify 控制台中创建一个警报。

要为 Amplify 指标创建 CloudWatch 警报
  1. 登录 AWS 管理控制台 并打开 Amplify 控制台

  2. 选择要设置警报的应用程序。

  3. 在导航窗格中,依次选择监控警报

  4. 警报页面中,选择创建警报

  5. 创建警报窗口中,按以下方式配置您的警报:

    1. 对于指标,从列表中选择要监控的指标的名称。

    2. 对于警报名称,输入有意义的警报名称。例如,如果您正在监视请求,则可以为警报命名 HighTraffic。名称只能包含 ASCII 字符。

    3. 对于设置通知,执行以下操作之一:

        1. 选择新建以设置新 Amazon SNS 主题。

        2. 对于电子邮箱地址中,输入通知收件人的电子邮箱地址。

        3. 选择添加新电子邮箱地址以添加其他收件人。

        1. 选择现有以重复使用 Amazon SNS 主题。

        2. 对于 SNS 主题,从列表中选择现有 Amazon SNS 主题的名称。

    4. 每当指标统计数据,按如下方式设置警报的条件:

      1. 指定指标是否必须大于、小于或等于阈值。

      2. 指定阈值。

      3. 指定为了调用警报而必须处于警报状态的连续评估期限数。

      4. 然后指定评估期限的时间长度。

    5. 选择确认

注意

您指定的每个 Amazon SNS 收件人都会收到一封来自 AWS 通知的确认电子邮件。电子邮件包含一个链接,收件人必须遵循该链接以确认其订阅并接收通知。

访问适用于 SSR 应用程序的 CloudWatch Logs

Amplify 将有关 SSR 运行时的信息发送到您的 AWS 账户 中的 Amazon CloudWatch Logs。当您将 SSR 应用程序部署到 Amplify Hosting 计算时,该应用程序将需要一个 IAM 服务角色,以便 Amplify 在代表您调用其他服务时代入该角色。您可以允许 Amplify Hosting 计算自动为您创建服务角色,也可以指定您已创建的角色。

如果您选择允许 Amplify 为您创建 IAM 角色,则该角色已经拥有创建 CloudWatch Logs 的权限。如果您创建自己的 IAM 角色,则需要在策略中添加以下权限,以允许 Amplify 访问 Amazon CloudWatch Logs。

logs:CreateLogStream logs:CreateLogGroup logs:DescribeLogGroups logs:PutLogEvents

有关添加服务角色的更多信息,请参阅添加具有后端资源部署权限的服务角色。有关部署服务端渲染的应用程序的更多信息,请参阅 使用 Amplify Hosting 部署在服务器端渲染的应用程序

您可以通过 CloudWatch 控制台或 Amplify 控制台查看 SSR 应用程序的 Amplify Hosting 计算日志。按照以下说明操作,在 Amplify 控制台中查看日志。

在 Amplify 控制台中查看 SSR 应用程序的 CloudWatch 日志
  1. 登录 AWS 管理控制台 并打开 Amplify 控制台

  2. 选择要查看其 CloudWatch 日志的 SSR 应用程序。

  3. 在导航窗格中,依次选择监控Hosting 计算日志

  4. Hosting 计算日志页面上,搜索并选择特定分支的 CloudWatch 日志组。