Logstash grok过滤器错误“_grokparsefailure“;

Logstash grok过滤器错误“_grokparsefailure“;,logstash,logstash-grok,Logstash,Logstash Grok,这是我的日志数据。 我正在尝试使用自定义模式筛选此数据。我收到了“grokparsefailure”错误。 我的模式文件数据是TIMESTAMP_LOG[0-9]{4}-[0-9]{2}-[0-9]{2}[0-9]{2}:[0-9]{6}\+[0-9]{2}:[0-9]{2} 我的过滤器是: 2017-08-09T12:01:43.049963+05:30 55.3.244.1 11235 GET 谁能告诉我哪里做错了。谢谢。你的时间戳实际上是标准格式的——ISO8601。因此,您可以使用内置

这是我的日志数据。 我正在尝试使用自定义模式筛选此数据。我收到了“grokparsefailure”错误。 我的模式文件数据是
TIMESTAMP_LOG[0-9]{4}-[0-9]{2}-[0-9]{2}[0-9]{2}:[0-9]{6}\+[0-9]{2}:[0-9]{2}

我的过滤器是:

2017-08-09T12:01:43.049963+05:30 55.3.244.1 11235 GET

谁能告诉我哪里做错了。谢谢。

你的时间戳实际上是标准格式的——ISO8601。因此,您可以使用内置在Logstash中的时间戳模式,而不是定制时间戳模式。我测试了这个grok模式,它与您的示例日志一起工作:


%{TIMESTAMP\u ISO8601:time}%{IP:client}%{NUMBER:bytes}%{WORD:method}

您的时间戳实际上是一种标准格式-ISO8601。因此,您可以使用内置在Logstash中的时间戳模式,而不是定制时间戳模式。我测试了这个grok模式,它与您的示例日志一起工作:

%{TIMESTAMP\u ISO8601:time}%{IP:client}%{NUMBER:bytes}%{WORD:method}

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