我的日志文件只有一行(取自教程日志文件):
55.3.244.1 GET /index.html 15824 0.043
我的conf文件看起来像这样:
input {
file {
path => "../http.log"
type => "http"
}
}
filter {
grok {
type => "http"
match => [ "message", "%{IP:client}" ]
}
}
我使用grok调试器测试了我的grok过滤器并且它工作正常。我不知道自己做错了什么。我得到了一个[0]" _grokparsefailure"每次
答案 0 :(得分:2)
至于调试grok过滤器,你可以使用这个链接(http://grokdebug.herokuapp.com/)它有一个非常全面的模式检测器,这是一个良好的开端。
如果您只关心IP而不关心日志消息的剩余部分,则以下过滤器应该适合您。
%{IP:host} %{GREEDYDATA:remaining_data}
调试的最佳方法是使用stdin
和stdout
插件进行logstash并调试grok
模式。
您可以在http://logstash.net/docs/1.4.2/