在logstash中解析URL参数

菲利普·费尔米亚诺

我正在将数据发送到Logstash 5.2的URL中,并且我想在Logstash中对其进行解析,因此每个URL参数在Logstash中都成为变量,并且可以在kibana中对其进行可视化显示。

http://127.0.0.1:31311/?id=ID-XXXXXXXX&uid=1-37zbcuvs-izotbvbe&ev=pageload&ed=&v=1&dl=http://127.0.0.1/openpixel/&rl=&ts=1488314512294&de=windows-1252&sr=1600x900&vp=1600x303&cd=24&dt=&bn=Chrome%2056&md=false&ua=Mozilla/5.0%20(Macintosh;%20Intel%20Mac%20OS%20X%2010_11_3)%20AppleWebKit/537.36%20(KHTML,%20like%20Gecko)%20Chrome/56.0.2924.87%20Safari/537.36&utm_source=&utm_medium=&utm_term=&utm_content=&utm_campaign=

这是我的logstash conf文件:

input 
{
  http 
  {
    host => "127.0.0.1"
    port => 31311
  }
}

output
{
    elasticsearch
    {
        hosts => ["localhost:9200"]
    }

    stdout
    {
        codec => rubydebug
    }
}
库拉桑加

您可以使用grok过滤器来匹配网址中的参数,如下所示:

filter {
  grok {
    match => [ "message", "%{URIPARAM:url}" ]
  }

然后,您可能必须使用kv过滤器才能拆分数据:

kv {
    source => "url"
    field_split => "&"
  }

这样的SO可能会派上用场。希望这可以帮助!

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章