Продолжительность лямбды с использованием метрического фильтра облачных часов

#amazon-web-services #aws-lambda #amazon-cloudwatch #aws-cloudwatch-log-insights

Вопрос:

Я пытаюсь создать фильтр метрик для продолжительности лямбды, чтобы, если продолжительность лямбды превышает 5 секунд, она создавала сигнал тревоги:

Синтаксис фильтров и шаблонов — Журналы Amazon CloudWatch

 REPORT RequestId: 12345 Duration: 280.00 ms Billed Duration: 280 ms Memory Size: 512 MB Max Memory Used: 98 MB Init Duration: 637.73 ms
 

Я хочу отфильтровать это значение.

 Duration: 280.00 ms
{ $.Duration >= 200.00 }
 

попытка использовать этот фильтр, похоже, не работает.

Комментарии:

1. Уже есть Duration метрика. Зачем вам нужен новый?

2. Мне нужны конкретные показатели, такие как { $.Длительность >= 50000 Мс}, но мой шаблон поиска не дает никаких результатов. Мое требование похоже на то, что необходимо создать облачный сигнал тревоги, если длительность лямбды превышает 5 секунд.

3. @Marcin Метрика обычной продолжительности с использованием пространства имен AWS/Лямбда, где я не могу заставить его прослушивать 5, 10 или 30 секунд, только 60 секунд или более я могу установить для будильника. Поэтому я пытаюсь отфильтровать продолжительность с помощью фильтра метрик и создать alaram на основе этой метрики.

Ответ №1:

{ $.Duration >= 200.00 } это JSON синтаксис фильтра, но у вас нет журналов в JSON формате — просто обычный текст. Теоретически вы можете использовать CloudWatch Logs Insights, но это кажется излишним.

Как отметил Маркин в комментарии: стандартные показатели Лямбда — часов CloudWatch предлагают Duration метрику- https://docs.aws.amazon.com/lambda/latest/dg/monitoring-metrics.html — вы можете использовать его в будильнике CloudWatch без дополнительной обработки лямбда-журнала.