如何在使用application-autoscaling为ECS设置CustomizedMetricSpecification时使用数学公式?

0

【以下的问题经过翻译处理】 在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",
profile picture
專家
已提問 7 個月前檢視次數 39 次
1 個回答
0

【以下的回答经过翻译处理】 最近推出了EC2 AutoScaling(ASG)目标跟踪政策的度量数学支持:https://aws.amazon.com/about-aws/whats-new/2022/12/amazon-ec2-auto-scaling-supports-metric-math-target-tracking-policies/

虽然目前有计划在未来将其添加到Application AutoScaling中,但当前尚不支持,并且我们无法评论是否/何时发布该功能。在此期间,针对您的用例,您需要执行以下操作之一:

  1. 在CloudWatch中创建表示表达式的自定义指标,并以该单个指标为基础设置目标跟踪策略
  2. 使用数学表达式的StepScaling
profile picture
專家
已回答 7 個月前

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南