Рейтинг:0

AWS CloudWatch анализирует JSON без учета регистра

флаг pk

В разделе WAF консоли AWS есть вкладка «CloudWatch Log Insights», которая содержит несколько примеров запросов. Одним из таких является «100 лучших хостов».

поля @timestamp, @message
| анализировать @message '{"name":"Host","value":"*"}' как хост
| статистика count(*) as requestCount по хосту
| сортировка requestCount desc
| лимит 100

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

Каков самый простой способ сделать это?

Рейтинг:2
флаг ua

Вот как я это решил:

поля @timestamp, @message
| parse @message /\{"name":"(H|h)ost","value":"(?<host>.*?)"\}/
| статистика count(*) as requestCount по хосту
| сортировка requestCount desc
| лимит 100

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

флаг kr
Вы бриллиант. Фантастический первый ответ. Спасибо!!!!!!
флаг pk
Спасибо. Это сработало. Закончилось использованием `(?i)`. С полным фильтром, например: `| parse @message /(?i)\{"name":"HOST","value":"(?.*?|^www\..*)"\}/`

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.