本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 CloudWatch 监控预测性扩缩指标
根据您的需求,您可能更适合从 Amazon CloudWatch 而非 Amazon EC2 Auto Scaling 控制台访问预测性扩缩监控数据。创建预测性扩缩策略后,该策略将收集用于预测未来负载和容量的数据。收集这些数据后,系统会自动按固定间隔时间将其存储在 CloudWatch 中。然后,您可以使用 CloudWatch 直观地显示随时间变化的策略性能。您还可以创建 CloudWatch 警报,以便在性能指标的变化超出您在 CloudWatch 中定义的限制时通知您。
可视化显示历史预测数据
您可以在 CloudWatch 中查看预测性扩缩策略的负载和容量预测数据。它可以在单个图表中直观地显示相比其他 CloudWatch 指标的预测,因此非常有用。您还可以查看更大的时间范围,以了解长期的趋势,这也非常有益。您可以访问长达 15 个月的历史指标,以更好地了解您的策略性能。
有关更多信息,请参阅 预测性扩缩指标和维度。
使用 CloudWatch 控制台查看历史预测数据
访问 https://console.aws.amazon.com/cloudwatch/
打开 CloudWatch 控制台。 -
在导航窗格中,选择 Metrics(指标),然后选择 All metrics(所有指标)。
-
选择 Auto Scaling(自动扩缩)指标命名空间。
-
选择下面的一个选项,以查看负载预测或容量预测指标:
-
Predictive Scaling Load Forecasts(预测性扩缩负载预测)
-
Predictive Scaling Capacity Forecasts(预测性扩缩容量预测)
-
-
在搜索字段中,输入预测性扩缩策略的名称或自动扩缩组的名称,然后按 Enter 键以筛选结果。
-
要为指标绘制图表,请选中该指标旁的复选框。要更改图表的名称,请选择铅笔图标。要更改时间范围,请选择某个预定义的值或选择 custom。有关更多信息,请参阅《Amazon CloudWatch 用户指南》中的绘制指标图表。
-
要更改统计数据,请选择 Graphed metrics(已绘制图表指标)选项卡。选择列标题或单个值,然后选择其他统计数据。尽管您可以为每个指标选择任何统计数据,但并非所有的统计数据都对 PredictiveScalingLoadForecast 和 PredictiveScalingCapacityForecast 指标有用。例如,Average(平均)、Minimum(最小)和 Maximum(最大)统计数据非常有用,但 Sum(总和)统计数据用处不大。
-
要在图表中添加其他指标,请在 All(全部)下选择 Browse(浏览),找到特定的指标,然后选中它旁边的复选框。您最多可以添加 10 个指标。
例如,要将 CPU 利用率的实际值添加到图表中,请选择 EC2 命名空间,然后选择 By Auto Scaling Group(按自动扩缩组)。然后,选中 CPUUtilization 指标和特定自动扩缩组旁的复选框。
-
(可选)要将此图表添加到 CloudWatch 控制面板,请选择 Actions(操作),然后选择 Add to dashboard(添加到控制面板)。
使用指标数学创建准确度指标
借助指标数学,您可以查询多个 CloudWatch 指标并使用数学表达式来创建基于这些指标的新时间序列。您可以在 CloudWatch 控制台上直观显示生成的时间序列,并将其添加到控制面板中。有关更多信息,请参阅《Amazon CloudWatch 用户指南》中的使用指标数学。
借助指标数学,您能够以不同方式绘制 Amazon EC2 Auto Scaling 为预测性扩缩而生成的数据。这可帮助您监控随时间变化的策略性能,并帮助您了解是否可以改进指标组合。
例如,您可以使用指标数学表达式来监控平均绝对百分比误差
示例:指标数学表达式
要开始使用此类图表,您可以创建一个与下例中类似的指标数学表达式。
{ "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 告警和将警报更改通知用户。
您也可以使用 GetMetricData 和 PutMetricAlarm 以使用指标数学执行计算,并基于输出创建警报。