#logstash #logstash-grok #logstash-filter
#logstash #logstash-grok #logstash-фильтр
Вопрос:
Я хочу группировать журналы по их соответствующему методу HTTP-запроса, но иногда эти пути содержат ids
, как и следовало ожидать, в настоящее время у меня есть поле httpPath
, которое имеет значение что-то вроде: resources/12321-2132-asdf3223
, но также может быть похоже на : resources/12321-2132-asdf3223/someaction
. И я хочу иметь возможность достичь следующего:
resources/12321-2132-asdf3223 => resources/{id}
И
resources/12321-2132-asdf3223/someaction => resources/{id}/someaction
Создание нового поля: controllerPath
. Поэтому я хочу найти и заменить UUID на {id}
, и сохранить результат в новом поле, если это возможно.
Комментарии:
1. Не могли бы вы поделиться своей конфигурацией фильтра.
Ответ №1:
Понял это сам ( ;
if [httpPath] {
mutate {
add_field => { "controllerPath" => "%{httpPath}" }
}
mutate {
gsub => [
"controllerPath", "(?<GrokParse>/[A-Fa-f0-9]{8}-(?:[A-Fa-f0-9]{4}-){3}[A-Fa-f0-9]{12})", "/{id}"
]
}
}