Масштабирование задач сервиса Fargate в соответствии с метрикой CloudWatch - PullRequest
0 голосов
/ 26 октября 2018

Я использую CloudWatch Metric Math , чтобы вычислить количество рабочих (задач), к которым я хочу масштабировать мой сервис Fargate. Я планировал создать сигнал тревоги в CloudWatch для запуска действия масштабирования, когда оно поднимется выше или ниже целевого числа 0. Однако это не похоже на то, как я могу создать сигнал тревоги на основе метрики Math CloudWatch или сигнала тревоги. это делает любой тип сравнения между двумя числами (количество необходимых задач и количество существующих задач).

Как настроить политику масштабирования Fargate для масштабирования на основе моего существующего показателя «Требуются работники».

Метрическая математика

  • Формула: m1-m2-3 == желаемое смещение масштаба
  • m1: активные работники (задачи)
  • м2: Требуются рабочие (задачи)
{
    "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 голосов
/ 29 октября 2018

Редактировать: Аварии, основанные на метрической математике, теперь вещь

На этой странице документа о метрической математике вообще не упоминаются алармы, выражения кажутсябольше о визуализации с помощью панели инструментов.Я также не вижу ничего о метрической математике в документации SDK или cli в отношении сигналов тревоги.

Ваше следующее простейшее решение, вероятно, заключается в том, чтобы воздать должное всем основным недостаткам AWS, инаписать лямбду, которая извлекает метрику, выполняет вычисления, а затем публикует метрику в виде пользовательской метрики с PutMetric.Вы можете вызвать это с помощью CloudWatch Event, если вам нужна вещь, похожая на cron, или много, много других вещей, интегрировав ее с SNS или просто вызвав ее напрямую.

Это не тот ответ, который вам нужен, но, к сожалению, ядумаю, это самый простой способ получить желаемую функциональность.

...