Как я могу сделать полнотекстовый поиск через AWS Cloudwatch?

Я использую структурированное ведение журнала (отсюда: запись строк json) и использую идентификатор журнала. Таким образом, в моем коде каждое сообщение журнала имеет уникальный идентификатор, так что я могу искать в обоих направлениях: когда я вижу сообщение журнала, я знаю, откуда оно приходит, и когда я ожидаю сообщения журнала, я могу искать этот идентификатор.

Мои строки журнала выглядят так:

{"log-id": "##_foo_bar-1", "message": "some explanation", "customer_id": 123}

Я не слишком уверен, нужно ли мне делать что-то еще с Cloudwatch, как это выглядит так:

[2018-02-06 08:34:09,946]:[INFO]: {"log-id": "##_foo_bar-1", "message": "some explanation", "customer_id": 123}

Недавно я искал свой идентификатор ##_foo_bar-1 и Cloudwatch сказал мне:

Я также попробовал:

{$.log-id = "##_foo_bar-1"}

Нет успеха Но это точно в логах (я видел это, после того, как вручную прошел через это).

Как я могу найти его с помощью функции поиска?

1 ответ

Решение

Помещение поискового термина в кавычки должно работать так: "##_foo_bar-1"

В поисках {$.log-id = "##_foo_bar-1"} также должен работать. Я попытался войти в тот же пример, который у вас есть в вашем вопросе, и вот что я получаю:

Скриншот логов CloudWatch

Может быть, ваше лог-сообщение не распознается как json, вы видите его разобранным и раскрашенным, как на моем скриншоте?

Другие вопросы по тегам