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

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

使用 Amazon 监控应用程序 CloudWatch

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

支持的 CloudWatch 指标

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

并非所有可用的统计数据都适用于每个指标。下表列出了最相关的统计数据,并对每个支持的指标进行了描述。

指标 描述

请求

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

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

BytesDownloaded

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

最相关的统计数据是 Sum

BytesUploaded

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

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

最相关的统计数据是 Sum

4 XXErrors

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

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

5 XXErrors

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

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

延迟

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

最相关的统计数据是 AverageMaximumMinimump10p50p90p95p100

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

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. 在导航窗格中,依次选择应用程序设置监控

  4. 监控页面上,选择指标

创建 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. 选择创建警报

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

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

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

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

有关服务角色的更多信息,请参阅 向 Amplify 应用添加服务角色。有关部署服务端渲染的应用程序的更多信息,请参阅 使用 Amplify 托管部署服务器端渲染的应用程序