Remover campo do evento por padrão

Então, eu estou usando uma pilha ELK padrão para analisar os logs de acesso do Apache, que está funcionando bem, mas estou procurando quebrar parâmetros de URL como campos, usando o filtro KV, para permitir que eu escreva consultas melhores.

Meu problema é que o aplicativo que estou analisando possui parâmetros gerados dinamicamente 'cache-busting', o que leva a dezenas de milhares de 'campos', cada um ocorrendo uma vez. O ElasticSearch parece ter sérios problemas com isso e eles não têm valor para mim, então eu gostaria de removê-los. Abaixo está um exemplo do padrão

GET /page?rand123PQY=ABC&other_var=something GET /page?rand987ZDQ=DEF&other_var=something

No exemplo acima, os parâmetros que eu quero remover start 'rand'. Atualmente, meu logstash.conf usa o grok para extrair campos dos logs de acesso, seguido por kv para extrair os parâmetros da string de consulta:

filter { grok { path => "/var/log/apache/access.log" type => "apache-access" } kv { field_split => "&?" } } Existe uma maneira de filtrar qualquer campo que corresponda ao padrãorand[A-Z0-9]*=[A-Z0-9]*? A maioria dos exemplos que eu vi são campos de segmentação por nome exato, que não posso usar. Eu me perguntei sobre regexar o campo de solicitação em um novo campo, executando o KV nele e removendo-o. Isso funcionaria?

questionAnswers(2)

yourAnswerToTheQuestion