

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

# 监控亚马逊 Personalize 使用亚马逊进行个性化设置 CloudWatch
<a name="personalize-monitoring"></a>

通过亚马逊 CloudWatch，您可以获得与 Amazon Personalize 相关的指标。您可以设置警报，以便在一个或多个指标超出定义的阈值时通知您。要查看指标，您可以使用[亚马逊 CloudWatch](https://console.amazonaws.cn/cloudwatch/) Amazon Command Line Interface、[亚马逊](https://docs.amazonaws.cn/AmazonCloudWatch/latest/cli/)或 [CloudWatch API](https://docs.amazonaws.cn/AmazonCloudWatch/latest/APIReference/)。



**Topics**
+ [使用 Amazon Personalize 的 CloudWatch 指标](#using-metrics)
+ [访问 Amazon Personalize 指标](#how-to-access)
+ [创建警报](#alarms)
+ [Amazon Personalize 无服务器监控应用程序示例](#creating-monitor-app)
+ [CloudWatch 亚马逊 Personalize 的指标](cloudwatch-metrics.md)

## 使用 Amazon Personalize 的 CloudWatch 指标
<a name="using-metrics"></a>

要使用指标，您必须指定以下信息：
+  指标名称。
+ 指标维度。*维度* 是帮助您对某指标进行唯一标识的名称/值对。

您可以使用 Amazon Web Services 管理控制台、或 CloudWatch API 获取 Amazon Personal Amazon CLI ize 的监控数据。您也可以通过 Amazon SDKs 或 CloudWatch API 工具之一来使用 CloudWatch API。控制台根据来自 CloudWatch API 的原始数据显示一系列图表。根据您的需求差异，您可能倾向于使用控制台中显示的图表，也可能倾向于检索自 API 的图表。

下面的列表显示这些指标的一些常见用途。这些是入门建议，并不全面。


| 如何？ | 相关指标 | 
| --- | --- | 
|  如何跟踪已记录的事件数。  |  监控 `PutEventsRequests` 指标。  | 
|  如何监控 DatasetImportJob 错误？  |  使用 `DatasetImportJobError` 指标。  | 
|  我如何监控 `GetRecommendations` 调用的延迟？  |  使用 `GetRecommendationsLatency` 指标。  | 

您必须拥有相应的 CloudWatch 权限才能使用监控 Amazon Personalize CloudWatch。有关更多信息，请参阅 [Amazon 的身份验证和访问控制 CloudWatch](https://docs.amazonaws.cn/AmazonCloudWatch/latest/monitoring/auth-and-access-control-cw.html)。

## 访问 Amazon Personalize 指标
<a name="how-to-access"></a>

以下示例说明如何使用 CloudWatch 控制台、和 CloudWatch API 访问 Amazon Person Amazon CLI alize 指标。

**要查看指标（控制台）**

1. 登录 Amazon Web Services 管理控制台 并打开 CloudWatch 控制台，网址为[https://console.aws.amazon.com/cloudwatch/](https://console.amazonaws.cn/cloudwatch/)。

1. 选择**指标**，选择**所有指标**选项卡，然后选择 `AWS/Personalize`。

1. 选择指标维度。

1. 从列表中选择所需的指标，然后为图表选择时间段。

**查看在一段时间内收到的事件的指标 (CLI)**
+ 打开 Amazon CLI 并输入以下命令：

  ```
  aws cloudwatch get-metric-statistics \
    --metric-name PutEventsRequests \
    --start-time 2019-03-15T00:00:20Z \
    --period 3600 \
    --end-time 2019-03-16T00:00:00Z \
    --namespace AWS/Personalize \
    --dimensions Name=EventTrackerArn,Value=EventTrackerArn \
    --statistics Sum
  ```

  此示例显示在一段时间内为给定事件跟踪程序 ARN 接收的事件。有关更多信息，请参阅 [get-metric-statistics](https://docs.amazonaws.cn/cli/latest/reference/cloudwatch/get-metric-statistics.html)。

**访问指标 (CloudWatch API)**
+  调用 `[GetMetricStatistics](https://docs.amazonaws.cn/AmazonCloudWatch/latest/APIReference/API_GetMetricStatistics.html)`。有关更多信息，请参阅 [Amazon CloudWatch API 参考](https://docs.amazonaws.cn/AmazonCloudWatch/latest/APIReference/)。

## 创建警报
<a name="alarms"></a>

您可以创建一个 CloudWatch 警报，在警报状态发生变化时发送亚马逊简单通知服务 (Amazon SNS) Simple Notification Service 消息。警报会在您规定的时间范围内监控某一项指标。警报会根据指标值在多个时间段内对比给定阈值的情况执行一项或多项操作。操作是一个发送到 Amazon SNS 主题或 Amazon Auto Scaling 策略的通知。

警报仅针对持续的状态变化调用操作。 CloudWatch 警报不会仅仅因为它们处于特定状态就调用操作。该状态必须改变并在指定数量的时间段内一直保持。

**设置警报（控制台）**

1. 登录 Amazon Web Services 管理控制台 并打开 CloudWatch 控制台，网址为[https://console.aws.amazon.com/cloudwatch/](https://console.amazonaws.cn/cloudwatch/)。

1. 在导航窗格中，选择**警报**，然后选择**创建警报**。**创建警报向导**随即启动。

1. 选择**选择指标**。

1. 在**所有指标**选项卡中，选择 `AWS/Personalize`。

1. 选择 **EventTrackerArn**，然后选择**PutEventsRequests**指标。

1. 选择**绘成图表的指标**选项卡。

1. 对于**统计数据**，选择**总计**。

1. 选择**选择指标**。

1. 填写**名称**和**描述**。对于**每当**，选择 **>**，然后输入您选择的最大值。

1. 如果 CloudWatch 要在达到警报状态时向您发送电子邮件，请在 “**每当此警报:**” 中选择 “**状态为警报**”。要将警报发送到现有 Amazon SNS 主题，对于**发送通知到：**，请选择现有 SNS 主题。要为新的电子邮件订阅列表设置名称和电子邮件地址，请选择 “**新建列表**”。 CloudWatch 保存列表并将其显示在字段中，这样您就可以用它来设置 future 的警报。
**注意**  
如果您使用**新列表**创建一个新的 Amazon SNS 主题，则必须先验证电子邮件地址，然后目标收件人才能接收通知。Amazon SNS 仅在警报进入警报状态时发送电子邮件。如果在验证电子邮件地址之前警报状态发生了变化，那么目标收件人不会接收到通知。

1. 选择**创建警报**。

**设置警报 (Amazon CLI)**
+ 打开 Amazon CLI，然后输入以下命令。更改 `alarm-actions` 参数的值，以引用您之前创建的 Amazon SNS 主题。

  ```
  aws cloudwatch put-metric-alarm \
      --alarm-name PersonalizeCLI \
      --alarm-description "Alarm when more than 10 events occur" \
      --metric-name PutEventsRequests \
      --namespace  AWS/Personalize \
      --statistic Sum \
      --period 300 \
      --threshold 10 \
      --comparison-operator GreaterThanThreshold \
      --evaluation-periods 1 \
      --unit Count \
      --dimensions Name=EventTrackerArn,Value=EventTrackerArn \
      --alarm-actions SNSTopicArn
  ```

  此示例显示如何为在 5 分钟内针对给定事件跟踪程序 ARN 发生 10 个以上的事件的情况创建警报。有关更多信息，请参阅 [put-metric-alarm](https://docs.amazonaws.cn/cli/latest/reference/cloudwatch/put-metric-alarm.html)。

**设置警报 (CloudWatch API)**
+ 调用 `[PutMetricAlarm](https://docs.amazonaws.cn/AmazonCloudWatch/latest/APIReference/API_PutMetricAlarm.html)`。有关更多信息，请参阅 *[Amazon CloudWatch API 参考](https://docs.amazonaws.cn/AmazonCloudWatch/latest/APIReference/)*。

## Amazon Personalize 无服务器监控应用程序示例
<a name="creating-monitor-app"></a>

有关为 Amazon Personalize 添加监控、警报和优化功能的示例应用程序，请参阅 [Amazon Personalize 示例](https://github.com/aws-samples/amazon-personalize-samples)存储库中的 [Amazon Personalize Monitor](https://github.com/aws-samples/amazon-personalize-monitor)。