根据logstash / grok documentation,可以使用以下匹配模式找到一个URI
#Example log file
55.3.244.1 GET /index.html 15824 0.043
#Example Grok match pattern
%{IP:client} %{WORD:method} %{URIPATHPARAM:request} %{NUMBER:bytes} %{NUMBER:duration}
我正在尝试获取封装在双引号中的URI,根据grokdebug.herokuap.com,这是无效的。
#My log file
Started POST "/main/builder.git/git-upload-pack" for 127.0.0.1 at 2014-02-13 22:37:10 +0000
#My grok match patterns
%{WORD:started} %{WORD:method} %{URIPATHPARAM:gitrepo}
# 0 results
如何找到带引号的URI的匹配模式?
最佳答案
尝试使用http://grokdebug.herokuapp.com/discover查找字符串过滤器。这个应用程序非常有用,尤其是在使用和测试长时间的动态日志消息时。
还可以考虑使用http://grokdebug.herokuapp.com/来测试其他字符串集的模式。
关于regex - grok-如何获取URIPATHPARAM?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21769151/