Logstash:如何删除部分字段值(删除url查询项)

Logstash:如何删除部分字段值(删除url查询项),logstash,Logstash,情况: 在我的日志中有一个字段“Url”。在某些情况下,url中有一个或多个查询项 理想情况: 我正在寻找一种方法来去除url中的查询项(以获得一个“干净”的url)。这是为了更好地分析Kibana(url中没有查询项的最常用页面是什么) 到目前为止,我所做的是添加一个新字段“url\u nonquery”,该字段的值为现有的“url”字段。然后我在这个新字段上使用mutate{split=>过滤器在?字符处进行拆分。这将生成一个数组:索引0带有“clean”url,索引1带有查询字符串。但现在

情况:

在我的日志中有一个字段“Url”。在某些情况下,url中有一个或多个查询项

理想情况: 我正在寻找一种方法来去除url中的查询项(以获得一个“干净”的url)。这是为了更好地分析Kibana(url中没有查询项的最常用页面是什么)

到目前为止,我所做的是添加一个新字段“url\u nonquery”,该字段的值为现有的“url”字段。然后我在这个新字段上使用
mutate{split=>
过滤器在?字符处进行拆分。这将生成一个数组:索引0带有“clean”url,索引1带有查询字符串。但现在我似乎不知道如何删除索引1

有人有什么想法可以进一步帮助我吗?
谢谢。

您只需做一个
grok
过滤器,如下所示:

filter {
  grok { match => [ "url", "%{URIPATH:url_nonquery}" ] }
}

即使URL中没有?也可以。如果URL中没有?的话,
split
方法可能会很麻烦。

谢谢你的回答!我一直在想这个方法有点难。只有一句格言帮了我的忙。