#amazon-cloudwatch #aws-cloudwatch-log-insights
#amazon-cloudwatch #aws-cloudwatch-log-insights
Вопрос:
В AWS Cloudwatch Log Insights часто после фильтрации журналов и нахождения интересного сообщения в журнале хочется посмотреть, что происходило непосредственно до или после этого сообщения.
Каков наилучший способ поиска сообщений журнала рядом с другим сообщением?
Я полагаю, что хорошим способом является фильтрация на основе @tiemstamp, и они удобно предоставляют date_floor
функцию, но я не могу понять синтаксис, который работает для равенства временных меток.
Комментарии:
1. вы когда-нибудь понимали это?
2. Мне также интересно, как это сделать. Мы также используем Kibana, и в нем есть очень полезная функция просмотра окружающих журналов. Однако я не могу найти способ сделать это в CloudWatch.
Ответ №1:
В Logs Insights, если вы запрашиваете:
fields @timestamp, @message, @logStream
| filter @message like /<Your Log Message>/
вы получите ссылку, по которой сможете получить доступ к потоку журналов. Щелкнув там, вы сразу попадете в контекст до / после интересующего вас журнала.
Это довольно трудоемкая работа для чего-то, что должно выполняться одним щелчком мыши, но это единственное решение, о котором я знаю. Не стесняйтесь обращаться к команде AWS, чтобы создать эту функцию в 1 клик прямо из самих журналов.
Редактировать: кое-что, чего я не знал, когда писал этот ответ: этот трюк работает, только если вы запрашиваете одну группу журналов. Если вы запрашиваете несколько, он по-прежнему показывает logStream
, но на него нельзя кликнуть.
Комментарии:
1. итак, фокус в @logStream, приятно, спасибо, что поделились
2. но мой результат содержит около 1 тыс. строк, поэтому у меня будет 1 тыс. ссылок. Переход по 1 тысяче ссылок вообще не является хорошим вариантом
3. Должен быть такой параметр, как окружающие журналы, который есть в ELK stack. Не знаю, почему AWS не предоставила
4. Если вы запрашиваете несколько групп журналов, вам также потребуется добавить
@log
в список полей