AWS: Lambda Triggers из журналов Cloudwatch с использованием оператора OR в фильтре

Я использую эту документацию, но не могу заставить ее работать так, как задумано: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html

Я бы хотел, чтобы лямбда срабатывала на основе журналов CloudWatch Logs, когда они показывают ошибку или тайм-аут.

Вот 2 примера сообщений:

'message': '2021-04-14T20:48:20.344Z 1f562170-e507-4419-8875-2da228de0b86 Task timed out after 1.00 seconds\n\n'
'message': '[ERROR] Exception: say hello to my little friend\rTraceback (most recent call last):\r\xa0\xa0File "/var/task/lambda_function.py", line 6, in lambda_handler\r\xa0\xa0\xa0\xa0raise Exception("say hello to my little friend")\n'

У меня получилось, что он работает только с этим шаблоном фильтра:

?ERROR ?Task

Но это не работает, когда я пытаюсь масштабировать его до:

?ERROR ?Task timed out after

Я считаю, что проблема в том, что время ожидания истекло, а после этого требовалось.

Я не вижу в документации ничего, что позволило бы мне выполнить команду ИЛИ, а затем заключить каждую сторону или в сгруппированную строку слов.

Если у кого-то есть советы, которые могут быть действительно полезны, спасибо.


person firestreak    schedule 14.04.2021    source источник


Ответы (1)


Методом проб и ошибок было найдено решение:

?"[ERROR]" ?"Task timed out after"
person firestreak    schedule 16.04.2021