【以下的问题经过翻译处理】 在Amazon EC2 Auto Scaling的目标跟踪缩放策略中可以使用数学方法(https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-target-tracking-metric-math.html)。
我尝试在服务命名空间ECS的应用程序自动缩放中使用相同的配置,但没有成功。
这是我的配置:
{
"CustomizedMetricSpecification": {
"Metrics": [
{
"Label": "ack_total",
"Id": "m1",
"MetricStat": {
"Metric": {
"MetricName": "rabbitmq_queue_messages_ack_total[switch_events]",
"Namespace": "Prometheus"
},
"Stat": "Average"
},
"ReturnData": false
},
{
"Label": "published_total",
"Id": "m2",
"MetricStat": {
"Metric": {
"MetricName": "rabbitmq_queue_messages_published_total[switch_events]",
"Namespace": "Prometheus"
},
"Stat": "Average"
},
"ReturnData": false
},
{
"Label": "Relation (ack_total + 1) / (published_total + 1)",
"Id": "e1",
"Expression": "(m1 + 1)/(m2 + 1)",
"ReturnData": true
}
]
},
"TargetValue": 1.0
}
这是我使用的命令:
aws application-autoscaling put-scaling-policy --service-namespace ecs --policy-name rabbitmq-pub-ack-scaling-policy --scalable-dimension ecs:service:DesiredCount --resource-id "service/XXXXX/events" --policy-type TargetTrackingScaling --target-tracking-scaling-policy-configuration file://alarm-definition.json
我得到了以下错误:
Parameter validation failed:
Missing required parameter in TargetTrackingScalingPolicyConfiguration.CustomizedMetricSpecification: "MetricName"
Missing required parameter in TargetTrackingScalingPolicyConfiguration.CustomizedMetricSpecification: "Namespace"
Missing required parameter in TargetTrackingScalingPolicyConfiguration.CustomizedMetricSpecification: "Statistic"
Unknown parameter in TargetTrackingScalingPolicyConfiguration.CustomizedMetricSpecification: "Metrics",