扩展Fargate服务任务以匹配CloudWatch指标

时间:2018-10-26 20:18:59

标签: amazon-cloudwatch amazon-ecs aws-fargate

我正在使用CloudWatch Metric Math计算我希望Fargate服务扩展到的工作人员(任务)数量。我计划在CloudWatch中创建警报,以使其在达到或低于目标数字0时触发缩放操作。但是,似乎没有一种方法可以基于CloudWatch Metric Math创建警报-或警报可以在两个数字之间进行任何类型的比较(所需任务数与现有任务数)。

如何设置Fargate扩展策略以根据我现有的“所需工人”指标进行扩展。

公制数学

  
      
  • 公式:m1-m2-3 ==所需的比例偏移
  •   
  • m1:现役工人(任务)
  •   
  • m2:需要的工人(任务)
  •   
{
    "type": "metric",
    "x": 0,
    "y": 0,
    "width": 24,
    "height": 6,
    "properties": {
        "metrics": [
            [ { "expression": "m1-m2-3", "label": "Workers/Needed difference", "id": "e1" } ],
            [ "AWS/ECS", "MemoryUtilization", "ServiceName", "worker-service", "ClusterName", "my-cluster", { "period": 60, "stat": "SampleCount", "id": "m1", "label": "Active Workers" } ],
            [ "LogMetrics", "Workers Needed", { "period": 60, "stat": "Maximum", "id": "m2" } ]
        ],
        "view": "timeSeries",
        "stacked": false,
        "region": "us-east-1",
        "title": "Worker/Lab difference",
        "period": 300
    }
}

1 个答案:

答案 0 :(得分:1)

编辑:Alarms based on metric math is now a thing

This doc page about metric math根本没有提到警报,表达式似乎更多是关于使用仪表板进行可视化。就警报而言,我也没有在SDK或cli文档中看到有关度量数学的任何信息。

您的下一个最简单的解决方案可能是向AWS的所有缺点的崇高敬意,并编写一个Lambda来提取指标,进行计算,然后使用PutMetric将指标发布为自定义指标。如果您想要类似cron的东西,或者通过将其与SNS集成或直接调用它,可以通过CloudWatch Event触发它。

这不是您想要的答案,但是不幸的是,我认为这是获得所需功能的最简单方法。