【问题标题】:Set the Cloudwatch Alarm High and Low thresholds for AWS Fargate为 AWS Fargate 设置 Cloudwatch 警报上限和下限阈值
【发布时间】:2019-09-07 20:37:48
【问题描述】:

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

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

这将创建 cloudwatch 警报:

高: 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】:

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

    如果您想进行更细粒度的控制,则需要使用“逐步扩展策略”。这允许您设置特定值,例如“如果 CPU 百分比在我的目标 50% 的 0 到 10% 之间,则增加 1”,以及“如果 CPU 百分比在我的目标 50% 的 10% 到 20% 之间,则增加2"。

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

    【讨论】:

      【解决方案2】:

      虽然目标跟踪允许您指定单个值,但实际上这会在 CloudWatch 中变成两个警报。 High 警报将是 YourMetric > YourTargetValue for X datapoints for Y minutesLow 警报将是 YourMetric < SomeValue for A datapoints for B minutes

      【讨论】:

      • 有没有办法让低警报看起来不那么……令人震惊?基本上看起来我的环境总是有问题......让我想起了荷马辛普森的“一切都好警报”。
      • @nitsujri 是你想出来的还是我们必须接受的?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-18
      • 1970-01-01
      • 2019-08-01
      • 1970-01-01
      • 2020-03-07
      • 2021-10-30
      • 2020-06-06
      相关资源
      最近更新 更多