本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 CloudWatch 异常检测
为指标启用异常检测时,CloudWatch 将应用统计算法和机器学习算法。这些算法只需最少的用户干预,即可持续分析系统和应用程序的指标,确定正常基线和表面异常。
这些算法会生成异常检测模型。该模型生成表示正常指标行为的预期值范围。
您可以通过两种方式使用预期值模型:
-
根据指标的预期值创建异常检测警报。这些类型的警报没有用于确定警报状态的静态阈值。相反,它们将根据异常检测模型将指标的值与预期值进行比较。
您可以选择当指标值高于预期值范围和/或低于预期值范围时是否触发警报。
有关更多信息,请参阅根据异常检测创建 CloudWatch 警报。
-
查看指标数据的图表时,将预期值叠加到图表上作为范围。这样可以清晰直观地看出图中的哪些值不在正常范围内。有关更多信息,请参阅创建图表。
您可以使用 AWS 管理控制台、AWS CLI、AWS CloudFormation 或 AWS 开发工具包启用异常检测。您可以对由 AWS 出售的指标以及自定义指标启用异常检测。
您还可以通过将
GetMetricData
API 请求与ANOMALY_DETECTION_BAND
指标数学函数结合使用来检索模型范围的上限值和下限值。有关更多信息,请参阅 GetMetricData。
在具有异常检测的图表中,预期的值范围显示为灰色范围。如果指标的实际值超出此范围,则在此期间将显示为红色。
异常检测算法将指标的季节性变化和趋势变化考虑在内。季节性变化可以是每小时、每天或每周,如以下示例所示。


较长期的趋势可能是向下或向上。
异常检测也适用于具有平面模式的指标。

CloudWatch 异常检测的工作原理
在为指标启用异常检测后,CloudWatch 会将机器学习算法应用于指标的过去数据,以创建指标的预期值模型。该模型评估指标的趋势以及每小时、每日和每周模式。算法训练最多两周的指标数据,但即使指标没有完整的两周数据,您也可以为指标启用异常检测。
您需要为异常检测阈值指定一个值,CloudWatch 使用该值和该模型确定指标值的“正常”范围。异常检测阈值的值越高,生成的“正常”值范围越大。
机器学习模型特定于指标和统计数据。例如,如果您使用 AVG
统计数据为指标启用异常检测,则模型特定于 AVG
统计数据。
创建模型后,它会使用指标中的最新数据不断更新自身。
在为指标启用异常检测后,您可以选择排除指标的指定时间段,使其不用于训练模型。这样,您就可以排除部署或其他不寻常的事件,使其不用于训练模型,从而确保创建最精确的模型。
对警报使用异常检测模型会使您的 AWS 账户产生费用。有关更多信息,请参阅 Amazon CloudWatch 定价