为AWS Fargate设置Cloudwatch警报上限和下限阈值

问题描述 投票:0回答:1

我创建了一个自动缩放目标和一个附加到它的策略。

AutoScalingPolicy:
    Type: AWS::ApplicationAutoScaling::ScalingPolicy
    Properties:
      PolicyName: !Join ['', [!Ref ServiceName, auto-scaling-policy]]
      PolicyType: TargetTrackingScaling
      ScalingTargetId: !Ref AutoScalingTarget
      TargetTrackingScalingPolicyConfiguration:
        PredefinedMetricSpecification:
          PredefinedMetricType: ECSServiceAverageCPUUtilization
        ScaleInCooldown: 10
        ScaleOutCooldown: 10
        # Keep things at or lower than 50% CPU utilization, for example
        TargetValue: !Ref AutoScalingTargetValue

这将创建云观察警报:

高:3 datapoints within 3 minutes

低:15 datapoints within 15 minutes

我想自定义这个:

高:1 datapoint within 1 minute

低:1 datapoint within 1 minute

我可以从AWS控制台手动执行此操作。但是,努力寻找使用cloudformation模板做同样的方法。

amazon-cloudwatch amazon-ecs cloudwatch-alarms
1个回答
1
投票

目标跟踪实际上没有“高”和“低”阈值。使用目标跟踪,您可以设置要尝试保持的目标CPU利用率百分比值,并且自动调整会自动更新数字任务,以尝试将CPU利用率保持在该值。

如果您想要更细粒度的控制,则需要使用“步长缩放策略”。这允许您设置特定值,例如“如果CPU百分比在我的目标50%和10%之间,然后增加1”,并且“如果CPU百分比在我的目标50%之间的10%到20%之间,那么增加按2“。

您可以在可下载的开源CloudFormation模板中查看此类步骤扩展策略的示例:https://containersonaws.com/architecture/autoscaling-service-containers/在此答案中直接包含这些内容,但您可以使用这些官方AWS示例模板作为步骤缩放的起点政策。

© www.soinside.com 2019 - 2024. All rights reserved.