2017-08-11 224 views
0
2017-08-09T12:01:43.049963+05:30 55.3.244.1 11235 GET 

这是我的日志数据。 我正在尝试使用自定义模式来过滤这些数据。我收到“_grokparsefailure”错误。 我的特征码文件数据TIMESTAMP_LOG [0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{6}\+[0-9]{2}:[0-9]{2}Logstash grok过滤错误“_grokparsefailure”

我的过滤器是:

filter { 
grok { 
    patterns_dir => ["./patterns"] 
    match => { "message" => "%{TIMESTAMP_LOG:time} %{IP:client} %{NUMBER:bytes} %{WORD:method}" } 
} } 

谁能帮助我在那里做了wrong.Thanks。

回答

2

你的时间戳实际上是一个标准格式 - ISO8601。因此,您可以使用内置到Logstash中的一个代替,而不是使用时间戳的自定义模式。我测试了这个grok模式,它与你的样本日志一起工作:

%{TIMESTAMP_ISO8601:time} %{IP:client} %{NUMBER:bytes} %{WORD:method}