使用 Amazon CloudWatch 监控 Rekognition - Amazon Rekognition

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

使用 Amazon CloudWatch 监控 Rekognition

利用 CloudWatch,您可以获取各个 Rekognition 操作的指标或账户的全局 Rekognition 指标。您可以使用指标跟踪基于 Rekognition 的解决方案的运行状况,并设置警报以便在一个或多个指标超出定义的阈值时通知您。例如,您可以查看已发生的服务器错误数的指标或已检测到的人脸数的指标。您还可以查看特定 Rekognition 操作成功的次数的指标。要查看指标,您可以使用 Amazon CloudWatchAmazon AWS Command Line InterfaceCloudWatch API

您还可以使用 Rekognition 控制台查看选定时段内的聚合指标。有关更多信息,请参阅练习 4:查看聚合指标(控制台)

使用 Rekognition 的 CloudWatch 指标

要使用指标,您必须指定以下信息:

  • 指标维度或无维度。维度 是帮助您对某指标进行唯一标识的名称/值对。Rekognition 具有一个名为操作的维度。它提供了特定操作的指标。如果您未指定维度,则指标的范围限定为账户内的所有 Rekognition 操作。

  • 指标名称,如 UserErrorCount

您可以使用 AWS Management Console、AWS CLI 或 CloudWatch API 获得 Rekognition 的监控数据。您也可以通过某个 Amazon AWS 软件开发工具包 (SDK) 或 CloudWatch API 工具来使用 CloudWatch API。控制台会根据来自 CloudWatch API 的原始数据显示一系列图表。根据您的需求差异,您可能倾向于使用控制台中显示的图表,也可能倾向于检索自 API 的图表。

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

如何? 相关指标

如何跟踪识别的人脸数?

监控 DetectedFaceCount 指标的 Sum 统计数据。

如何获知我的应用程序是否已达到每秒最大请求数?

监控 ThrottledCount 指标的 Sum 统计数据。

如何监控请求错误?

使用 UserErrorCount 指标的 Sum 统计数据。

如何查找请求总数?

使用 ResponseTime 指标的 ResponseTimeData Samples 统计数据。这包括任何导致错误的请求。如果您希望仅查看成功的操作调用,请使用 SuccessfulRequestCount 指标。

如何监控 Rekognition 操作调用的延迟?

使用 ResponseTime 指标。

如何监控 IndexFaces 成功将人脸添加到 Rekognition 集合的次数?

使用 SuccessfulRequestCount 指标和 IndexFaces 操作监控 Sum 统计数据。使用 Operation 维度选择操作和指标。

您必须具有适当的 CloudWatch 权限才能使用 CloudWatch 监控 Rekognition。有关更多信息,请参阅 Amazon CloudWatch 的身份验证和访问控制

访问 Rekognition 指标

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

要查看指标(控制台)
  1. 通过以下网址打开 CloudWatch 控制台:https://console.aws.amazon.com/cloudwatch/

  2. 选择 Metrics,选择 All Metrics 选项卡,然后选择 Rekognition

  3. 选择 Metrics with no dimensions,然后选择指标。

    例如,选择 DetectedFace 指标以测量已检测到的人脸数。

  4. 选择日期范围的值。图表中显示指标计数。

查看一段时间内发出的成功 DetectFaces 操作调用的指标 (CLI)。
  • 打开 AWS CLI 并输入以下命令:

    aws cloudwatch get-metric-statistics --metric-name SuccessfulRequestCount --start-time 2017-1-1T19:46:20 --end-time 2017-1-6T19:46:57 --period 3600 --namespace AWS/Rekognition --statistics Sum --dimensions Name=Operation,Value=DetectFaces --region us-west-2

    此示例显示一段时间内成功的 DetectFaces 操作调用。有关更多信息,请参阅 get-metric-statistics

访问指标 (CloudWatch API)

创建警报

您可以创建在警报改变状态时发送 Amazon Simple Notification Service (Amazon SNS) 消息的 CloudWatch 警报。警报会每隔一段时间(由您指定)监控一个指标,并根据相对于给定阈值的指标值每隔若干个时间段执行一项或多项操作。操作是一个发送到 Amazon SNS 主题或 Auto Scaling 策略的通知。

告警仅为持续状态更改调用操作。CloudWatch 告警将不会调用操作,因为这些操作处于特定状态。该状态必须改变并在指定数量的时间段内一直保持。

设置警报(控制台)
  1. 登录AWS Management Console并打开 CloudWatch 控制台,网址为 https://console.aws.amazon.com/cloudwatch/

  2. 选择创建警报创建警报向导随即启动。

  3. Metrics with no dimensions 指标列表中,选择 Rekognition Metrics,然后选择指标。

    例如,选择 DetectedFaceCount 以针对检测到的人脸的最大数目设置警报。

  4. Time Range 区域中,选择一个日期范围值,其中包括已调用的人脸检测操作。选择下一步

  5. 填写名称描述。对于每当,选择 >=,然后输入您选择的最大值。

  6. 如果您希望 CloudWatch 在达到警报状态时向您发送一封电子邮件,则对于每当此警报:,选择状态为“警报”。要将警报发送到现有 Amazon SNS 主题,对于发送通知到:,请选择现有 SNS 主题。要为新的电子邮件订阅列表设置名称和电子邮件地址,请选择创建主题。CloudWatch 将保存列表并将其显示在字段中,以便您可使用它来设置将来的警报。

    注意

    如果您使用创建主题创建一个新 Amazon SNS 主题,那么电子邮件地址在计划收件人接收通知之前必须通过验证。Amazon SNS 仅在警报进入警报状态时发送电子邮件。如果在验证电子邮件地址之前警报状态发生了变化,那么目标收件人不会接收到通知。

  7. 预览警报预览部分中的警报。选择创建警报

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

    aws cloudwatch put-metric-alarm --alarm-name UserErrors --alarm-description "Alarm when more than 10 user errors occur" --metric-name UserErrorCount --namespace AWS/Rekognition --statistic Average --period 300 --threshold 10 --comparison-operator GreaterThanThreshold --evaluation-periods 2 --alarm-actions arn:aws:sns:us-west-2:111111111111:UserError --unit Count

    此示例演示如何为 5 分钟内出现 10 个以上的用户错误的情况创建警报。有关更多信息,请参阅 put-metric-alarm

设置警报 (CloudWatch API)

Rekognition 的 CloudWatch 指标

此部分包含有关适用于 Amazon Rekognition 的 Amazon CloudWatch 指标和操作维度的信息。

您也可以从 Rekognition 控制台查看 Rekognition 指标的聚合视图。有关更多信息,请参阅练习 4:查看聚合指标(控制台)

Rekognition 的 CloudWatch 指标

下表汇总了 Rekognition 指标。

指标 描述

SuccessfulRequestCount

成功的请求数。成功请求的响应代码范围为 200 至 299。

单位:计数

有效统计数据:Sum,Average

ThrottledCount

受限制请求的数目。当 Rekognition 接收的请求数超出为账户设置的每秒事务数限制时,它会限制请求。如果经常超出为账户设置的限制,您可以请求提高限制。要请求提高限制,请参阅 AWS 服务限制

单位:计数

有效统计数据:Sum,Average

ResponseTime

Rekognition 用来计算响应的时间(以毫秒为单位)。

单位:

  1. Data Samples 统计数据的数量

  2. Average 统计数据的毫秒数

有效统计数据:Data Samples,Average

注意

ResponseTime 指标未包含在 Rekognition 指标窗格中。

DetectedFaceCount

使用 IndexFacesDetectFaces 操作检测到的人脸的数目。

单位:计数

有效统计数据:Sum,Average

DetectedLabelCount

使用 DetectLabels 操作检测到的标签的数目。

单位:计数

有效统计数据:Sum,Average

ServerErrorCount

服务器错误的数量。服务器错误的响应代码范围为 500 到 599。

单位:计数

有效统计数据:Sum, Average

UserErrorCount

用户错误(参数无效、图像无效、无权限等)的数目。用户错误的响应代码范围为 400 到 499。

单位:计数

有效统计数据:Sum,Average

MinInferenceUnits StartProjectVersion 请求期间指定的最小推理单位数。

单位:计数

有效统计数据:Average

MaxInferenceUnits StartProjectVersion 请求期间指定的最大推理单位数。

单位:计数

有效统计数据:Average

DesiredInferenceUnits

Rekognition 要增加或缩减到的推理单位数。

单位:计数

有效统计数据:Average

InServiceInferenceUnits

模型正在使用的推理单元数。

单位:计数

有效统计数据:Average

建议您使用平均值统计数据,获取实例使用数量的 1 分钟平均值。

Rekognition 流式处理的 CloudWatch 指标

Rekognition 还有第二个用于流式处理操作的命名空间,即“Rekognition 流式处理”。下表汇总了 Rekognition 流式处理指标。

指标 描述

SuccessfulRequestCount

成功的请求数。成功请求的响应代码范围为 200 至 299。

单位:计数

有效统计数据:Sum,Average

CallCount

在您的账户中执行的指定操作的数量。

有效统计数据:Sum,Average

ThrottledCount

受限制请求的数目。当 Rekognition 接收的请求数超出为账户设置的每秒事务数限制时,它会限制请求。如果经常超出为账户设置的限制,您可以请求提高限制。要请求提高限制,请参阅 AWS 服务限制

单位:计数

有效统计数据:Sum,Average

ServerErrorCount

服务器错误的数量。服务器错误的响应代码范围为 500 到 599。

单位:计数

有效统计数据:Sum, Average

UserErrorCount

用户错误(参数无效、图像无效、无权限等)的数目。用户错误的响应代码范围为 400 到 499。

单位:计数

有效统计数据:Sum,Average

Rekognition 的 CloudWatch 维度

要检索操作特定的指标,请使用 Rekognition 命名空间并提供操作维度。

有关维度的更多信息,请参阅《Amazon CloudWatch 用户指南》中的维度

Rekognition Custom Labels 的 CloudWatch 维度

下表显示了可用于 Rekognition Custom Labels 的 CloudWatch 维度:

维度 描述
ProjectName 您使用 CreateProject 创建的 Rekognition Custom Labels 项目的名称。
VersionName 您使用 CreateProjectVersion 创建的 Rekognition Custom Labels 项目版本的名称。

有关维度的更多信息,请参阅《Amazon CloudWatch 用户指南》中的维度