Как запрашивать журналы AWS CloudWatch с помощью AWS CloudWatch Insights? - PullRequest
2 голосов
/ 07 октября 2019

У меня есть много журналов AWS Lambda, которые мне нужно запросить, чтобы найти соответствующее имя потока журналов,
Я записываю определенную строку в журналах,
Который мне нужно сделать, чтобы подобный или точный запросвкл.

Формат журнала примерно такой:

Request ID => 572bf6d2-e3ff-45dc-bf7d-c9c858dd5ccd

Я могу запрашивать журналы без строки UUID -

enter image description here

Но если я упомяну UUID в запросе, он не покажет результаты - enter image description here

Используемые запросы -

fields @timestamp, @message
| filter @message like /Request ID =>/
| sort @timestamp desc
| limit 20

fields @timestamp, @message
| filter @message like /Request ID => 572bf6d2-e3ff-45dc-bf7d-c9c858dd5ccd/
| sort @timestamp desc
| limit 20

1 Ответ

2 голосов
/ 08 октября 2019

Вы пытались добавить дополнительный фильтр в поле сообщения к первому запросу, чтобы еще больше сузить результаты?

fields @timestamp, @message
| filter @message like /Request ID =>/
| filter @message like /572bf6d2-e3ff-45dc-bf7d-c9c858dd5ccd/
| sort @timestamp desc
| limit 20

В качестве альтернативы, если все ваши журналы имеют одинаковый формат, вы можете использовать ключевое слово parse длявыделите поле UUID и выполните поиск по нему, например,

fields @timestamp, @message
| parse @message "* * Request ID => *" as datetime, someid, requestuuid
| filter uuid like /572bf6d2-e3ff-45dc-bf7d-c9c858dd5ccd/
| sort @timestamp desc
| limit 20

. Попробуйте также увеличить относительный диапазон времени в правом верхнем углу запроса, на случай, если искомый запрос выпал за пределамидиапазон 1 час с момента попытки первого запроса.

...