了解您的数据和预测 - Amazon EC2 Auto Scaling
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

了解您的数据和预测

创建预测后,您可以查看显示过去八周的历史数据和接下来两天的预测图表。创建策略后不久,图表可用。

使用 Amazon EC2 Auto Scaling 控制台查看预测及其历史记录

  1. 访问 https://console.aws.amazon.com/ec2/,打开 Amazon EC2 控制台,然后从导航窗格中选择 Auto Scaling Groups(Auto Scaling 组)。

  2. 选中您的 Auto Scaling 组旁边的复选框。

    这时将在页面底部打开一个拆分窗格。

  3. 在下方窗格中,选择 Automatic scaling(自动扩缩)选项卡。

每个图表根据实际值和特定类型的数据显示预测值。负载图显示所选负载指标的负载预测和实际值。容量图显示基于您的目标利用率和实际启动的实例数进行预测的实例数。各种颜色显示实际指标数据点以及过去和未来的预测值。橙色线显示实际指标数据点。绿线显示为将来预测期间生成的预测。蓝线显示过去期间的预测。


                预测式扩展策略的图表

您可以通过在图表右上角选择您的首选值来调整过去数据的时间范围:两天1 周2 周4 周6 周,或者 8 周。图表上的每个点代表一小时的数据。当鼠标指针悬停在数据点上,工具提示显示特定时间点的值(以 UTC 格式表示)。

要放大图表窗格,请选择图表右上角的展开图标。要恢复到默认视图,请再次选择该图标。

您也可以使用 Amazon CLI 命令 get-predictive-scaling-forecast 获取预测数据。此调用返回的数据可以帮助您确定您可能希望覆盖预测的时间段。有关更多信息,请参阅 使用计划操作覆盖预测值

注意

我们建议您启用 Auto Scaling 组指标。如果未启用这些指标,则容量预测图表中将缺少实际容量数据。启用这些指标无需任何成本。有关更多信息,请参阅启用 Auto Scaling 组指标(控制台)

重要

如果 Auto Scaling 组是新的,则需要 24 小时的时间让 Amazon EC2 Auto Scaling 创建第一个预测。

使用 CloudWatch 监控预测性扩缩指标

根据您的需求,您可能更适合从 Amazon CloudWatch 而非 Amazon EC2 Auto Scaling 控制台访问预测性扩缩监控数据。创建预测性扩缩策略后,该策略将收集用于预测未来负载和容量的数据。收集这些数据后,系统会自动按固定间隔时间将其存储在 CloudWatch 中。然后,您可以使用 CloudWatch 直观地显示随时间变化的策略性能。您还可以创建 CloudWatch 警报,以便在性能指标的变化超出您在 CloudWatch 中定义的限制时通知您。

可视化显示历史预测数据

您可以在 CloudWatch 中查看预测性扩缩策略的负载和容量预测数据。它可以在单个图表中直观地显示相比其他 CloudWatch 指标的预测,因此非常有用。您还可以查看更大的时间范围,以了解长期的趋势,这也非常有益。您可以访问长达 15 个月的历史指标,以更好地了解您的策略性能。

有关更多信息,请参阅预测性扩缩指标和维度

使用 CloudWatch 控制台查看历史预测数据

  1. 通过以下网址打开 CloudWatch 控制台:https://console.aws.amazon.com/cloudwatch/

  2. 在导航窗格中,选择 Metrics(指标),然后选择 All metrics(所有指标)。

  3. 选择 Auto Scaling(自动扩缩)指标命名空间。

  4. 选择下面的一个选项,以查看负载预测或容量预测指标:

    • Predictive Scaling Load Forecasts(预测性扩缩负载预测)

    • Predictive Scaling Capacity Forecasts(预测性扩缩容量预测)

  5. 在搜索字段中,输入预测性扩缩策略的名称或自动扩缩组的名称,然后按 Enter 键以筛选结果。

  6. 要为指标绘制图表,请选中该指标旁的复选框。要更改图表的名称,请选择铅笔图标。要更改时间范围,请选择某个预定义的值或选择 custom。有关更多信息,请参阅《Amazon CloudWatch 用户指南》中的绘制指标图表

  7. 要更改统计数据,请选择 Graphed metrics(已绘制图表指标)选项卡。选择列标题或单个值,然后选择其他统计数据。尽管您可以为每个指标选择任何统计数据,但并非所有的统计数据都对 PredictiveScalingLoadForecastPredictiveScalingCapacityForecast 指标有用。例如,Average(平均)、Minimum(最小)和 Maximum(最大)统计数据非常有用,但 Sum(总和)统计数据用处不大。

  8. 要在图表中添加其他指标,请在 All(全部)下选择 Browse(浏览),找到特定的指标,然后选中它旁边的复选框。您最多可以添加 10 个指标。

    例如,要将 CPU 利用率的实际值添加到图表中,请选择 EC2 命名空间,然后选择 By Auto Scaling Group(按自动扩缩组)。然后,选中 CPUUtilization 指标和特定自动扩缩组旁的复选框。

  9. (可选)要将此图表添加到 CloudWatch 控制面板,请选择 Actions(操作),然后选择 Add to dashboard(添加到控制面板)。

使用指标数学创建准确度指标

借助指标数学,您可以查询多个 CloudWatch 指标并使用数学表达式来创建基于这些指标的新时间序列。您可以在 CloudWatch 控制台上直观显示生成的时间序列,并将其添加到控制面板中。有关更多信息,请参阅《Amazon CloudWatch 用户指南》中的使用指标数学

借助指标数学,您能够以不同方式绘制 Amazon EC2 Auto Scaling 为预测性扩缩而生成的数据。这可帮助您监控随时间变化的策略性能,并帮助您了解是否可以改进指标组合。

例如,您可以使用指标数学表达式来监控平均绝对百分比误差(MAPE)。MAPE 指标可帮助监控在给定预测时段内预测值与实际观测值之间的差异。MAPE 值的变化可能表明随着应用性质的变化,策略的性能是否会随着时间的推移而下降。MAPE 增加说明着预测值和实际值之间的差异加大。

示例:指标数学表达式

要开始使用此类图表,您可以创建一个与下例中类似的指标数学表达式。

{ "MetricDataQueries": [ { "Expression": "TIME_SERIES(AVG(ABS(m1-m2)/m1))", "Id": "e1", "Period": 3600, "Label": "MeanAbsolutePercentageError", "ReturnData": true }, { "Id": "m1", "Label": "ActualLoadValues", "MetricStat": { "Metric": { "Namespace": "AWS/EC2", "MetricName": "CPUUtilization", "Dimensions": [ { "Name": "AutoScalingGroupName", "Value": "my-asg" } ] }, "Period": 3600, "Stat": "Sum" }, "ReturnData": false }, { "Id": "m2", "Label": "ForecastedLoadValues", "MetricStat": { "Metric": { "Namespace": "AWS/AutoScaling", "MetricName": "PredictiveScalingLoadForecast", "Dimensions": [ { "Name": "AutoScalingGroupName", "Value": "my-asg" }, { "Name": "PolicyName", "Value": "my-predictive-scaling-policy" }, { "Name": "PairIndex", "Value": "0" } ] }, "Period": 3600, "Stat": "Average" }, "ReturnData": false } ] }

这不是单个指标,而是一组针对 MetricDataQueries 的指标数据查询结构。MetricDataQueries 中的每一项都会获取一个指标或执行一个数学表达式。第一项 e1 是一个数学表达式。指定的表达式将 ReturnData 参数设置为 true,这最终会生成单个时间序列。对于所有其他指标,ReturnData 值为 false

在此例中,指定的表达式使用实际值和预测值作为输入,并返回新指标(MAPE)。m1 是包含实际负载值的 CloudWatch 指标(假设 CPU 利用率是最初为名为 my-predictive-scaling-policy 的策略指定的负载指标)。m2 是包含预测负载值的 CloudWatch 指标。MAPE 指标的数学语法如下所示:

(((实际值 - 预测值)/(实际值)) 的绝对值) 的平均值

可视化显示准确度指标并设置警报

要可视化显示准确度指标数据,请在 CloudWatch 控制台中选择 Metrics(指标)选项卡。您可以在此处绘制数据图表。有关更多信息,请参阅《Amazon CloudWatch 用户指南》中的将数学表达式添加到 CloudWatch 图表

您还可以在 Metrics(指标)部分为您监控的指标设置警报。在 Graphed metrics(绘制的指标)选项卡中,选择 Actions(操作)列下的 Create alarm(创建警报)。Create alarm(创建警报)图标用一个小铃铛表示。有关更多信息,请参阅《Amazon CloudWatch 用户指南》中的创建基于指标数学表达式的 CloudWatch 警报。有关使用 Amazon SNS 接收提醒的更多信息,请参阅《Amazon CloudWatch 用户指南》中的设置 Amazon SNS 通知

您也可以使用 GetMetricDataPutMetricAlarm 以使用指标数学执行计算,并基于输出创建警报。