使用亚马逊监控 Amplify 应用程序 CloudWatch - AWS Amplify 托管

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

使用亚马逊监控 Amplify 应用程序 CloudWatch

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)。因此,您可以在评估应用程序的延迟时使用此统计数据。如果延迟较差,则可以改善下游 APIs 以减少令牌消耗,并避免在令牌消耗量超过应用程序的Request tokens per second服务配额时可能出现的限制。

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

Amplify 提供以下 CloudWatch 指标维度。

维度 描述

应用程序

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

AWS 账户

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

访问 CloudWatch 指标

您可以按照以下步骤直接从 Amplify 控制台访问 CloudWatch 指标。

注意

您也可以在中 AWS Management Console 访问 CloudWatch 指标https://console.aws.amazon.com/cloudwatch/

在 Amplify 控制台中访问指标
  1. 登录 AWS Management Console 并打开 Amplify 控制台。

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

  3. 在导航窗格中,选择监控,然后选择指标

创建 CloudWatch 警报

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

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

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

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

为 Amplify 指标创建 CloudWatch 警报
  1. 登录 AWS Management Console 并打开 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 日志

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

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

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

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

您可以在 CloudWatch控制台或 Amplify 控制台中查看 SSR 应用程序的 Amplify 托管计算日志。按照以下说明在 Amplify 控制台中查看日志。

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

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

  3. 在导航窗格中,选择监控,然后选择托管计算日志

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