Как вызвать лямбду с информацией об ошибке из AWS Лямбда Ошибка в логах - PullRequest
1 голос
/ 21 февраля 2020

моя конечная цель - иметь лямбда-оповещение, которое запускается, когда любая другая лямбда-ошибка имеет ошибку. Я хочу, чтобы это уведомление Lambda получало зарегистрированную ошибку и отправляло уведомление, такое как электронное письмо с лямбда-именем проблемы + сообщение об ошибке. В идеале я хотел бы получить ссылку на местоположение журнала в консоли AWS, но это кажется натянутым.

В журналах Cloudwatch есть ошибки типа:

{
  "errorMessage": "2020-02-20T16:13:04.888Z abca3f75-d37f-4f3a-88f4-3d1ef49bb285 Task timed out after 3.00 seconds"
}

Я пытался установить правило события cloudwatch, которое запускается в фильтре для лямбды, содержащей текст «errorMessage» и передающей сообщение об ошибке лямбда-уведомлению.

Мне не удалось заставить что-либо работать. Может ли кто-нибудь указать мне правильный способ написать правило события cloudwatch, которое фильтрует a) лямбду b) текст «errorMessage» и передает сообщение об ошибке + в идеале лямбда-имя к topi c или непосредственно к лямбде?

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

Я хочу настроить все это в коде, но сначала просто запустите его через консоль.

спасибо!

1 Ответ

0 голосов
/ 21 февраля 2020

Вы можете попробовать использовать фильтр подписки CloudWatch Logs и передать их на Lambda

Go на консоль журналов CloudWatch, установить переключатель в группе журналов и выбрать выпадающий список «Actions» -> «Stream to *». 1020 * Lambda "

  1. Выберите целевую лямбда-функцию для обработки журналов
  2. Выберите формат журнала (В вашем случае Lambda Log Format, если вы хотите указать c ERROR сообщения, выберите «Другое» и укажите структуру / регулярное выражение)
  3. Нажмите «Начать потоковую передачу», чтобы получить журналы для другой лямбды

Ссылка: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/SubscriptionFilters.html#LambdaFunctionExample

Надеюсь, это поможет !!

...