#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 без дополнительной обработки лямбда-журнала.