构造自定义指标的 JSON - Amazon EC2 Auto Scaling

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

构造自定义指标的 JSON

以下部分包含有关如何配置预测缩放以从中查询数据的示例 CloudWatch。配置此选项有两种不同的方法,您选择的方法会影响您为预测性扩缩策略构造 JSON 时使用的格式。使用指标数学时,JSON 格式会根据所执行的指标数学进一步变化。

  1. 要创建可直接从提供的其他 CloudWatch 指标 AWS 或您发布到的指标中获取数据的策略 CloudWatch,请参阅包含自定义负载和扩缩指标的预测性扩缩策略示例(AWS CLI)

  2. 要创建可查询多个 CloudWatch 指标并使用数学表达式根据这些指标创建新时间序列的策略,请参阅使用指标数学表达式

包含自定义负载和扩缩指标的预测性扩缩策略示例(AWS CLI)

要使用创建带有自定义负载和扩展指标的预测性扩展策略 AWS CLI,请将的参数存储--predictive-scaling-configuration在名为的 JSON 文件中config.json

您可以将以下示例中的可替换值替换为您的指标和目标利用率值,从而开始添加自定义指标。

{ "MetricSpecifications": [ { "TargetValue": 50, "CustomizedScalingMetricSpecification": { "MetricDataQueries": [ { "Id": "scaling_metric", "MetricStat": { "Metric": { "MetricName": "MyUtilizationMetric", "Namespace": "MyNameSpace", "Dimensions": [ { "Name": "MyOptionalMetricDimensionName", "Value": "MyOptionalMetricDimensionValue" } ] }, "Stat": "Average" } } ] }, "CustomizedLoadMetricSpecification": { "MetricDataQueries": [ { "Id": "load_metric", "MetricStat": { "Metric": { "MetricName": "MyLoadMetric", "Namespace": "MyNameSpace", "Dimensions": [ { "Name": "MyOptionalMetricDimensionName", "Value": "MyOptionalMetricDimensionValue" } ] }, "Stat": "Sum" } } ] } } ] }

有关更多信息,请参阅 MetricDataQueryAmazon EC2 Auto Scaling API 参考中的。

注意

以下是一些其他资源,可以帮助您查找指标名称、命名空间、维度和指标 CloudWatch 统计信息:

要创建此策略,请使用 JSON 文件作为输入运行put-scaling-policy命令,如以下示例所示。

aws autoscaling put-scaling-policy --policy-name my-predictive-scaling-policy \ --auto-scaling-group-name my-asg --policy-type PredictiveScaling \ --predictive-scaling-configuration file://config.json

如果成功,此命令将返回策略的 Amazon Resource Name (ARN)。

{ "PolicyARN": "arn:aws:autoscaling:region:account-id:scalingPolicy:2f4f5048-d8a8-4d14-b13a-d1905620f345:autoScalingGroupName/my-asg:policyName/my-predictive-scaling-policy", "Alarms": [] }