我得到一个logstash神交解析失败,我似乎无法找出...
输入如下所示:
"@timestamp" => 2017-03-30T13:03:41.899Z,
"tst_field" => "test123avc",
"@version" => "1",
"message" => "[group-consumer-master,message-qa,8]::[OffsetMetadata[2,NO_METADATA],CommitTime 1490878047368,ExpirationTime 1490964447368]",
"tags" => [
[0] "_grokparsefailure"
]
我尝试了过滤器的部分是这样的:
filter{
grok {
match => {"meessage" => [
"\[%{DATA:kafka_consumer_group},%{DATA:kafka_topic},%{NUMBER:kafka_topic_parition}\]::\[OffsetMetadata\[%{NUMBER:kafka_offset_group},%{DATA:message_metadata}\],CommitTime %{NUMBER:commit_time},ExpirationTime %{NUMBER:expiration_time}\]"
]
}
}
}
但我不断收到一个神交解析错误。我在http://grokdebug.herokuapp.com/尝试这样做,它似乎工作...
以下是错误我得到的日志文件
Error parsing json {:source=>"message", :raw=>"[group-consumer-master,message-qa,8]::[OffsetMetadata[2,NO_METADATA],CommitTime 1490878047368,ExpirationTime 1490964447368]", :exception=>#<LogStash::Json::ParserError: Unrecognized token 'group': was expecting ('true', 'false' or 'null')
- - 编辑 - - - -
这里是完整的配置:
input {
kafka {
topics => ["kafka-offsets"]
bootstrap_servers => "kafka1.domain.com:9092"
group_id => "logstash_offsets_parser3"
}
}
filter{
grok {
match => {"meessage" => "\[%{DATA:kafka_consumer_group},%{DATA:kafka_topic},%{NUMBER:kafka_topic_parition}\]\:\:\[OffsetMetadata\[%{NUMBER:kafka_offset_group},%{DATA:message_metadata}\],CommitTime\ %{NUMBER:commit_time},ExpirationTime\ %{NUMBER:expiration_time}\]"
}
}
}
output {
stdout { codec => "rubydebug" }
}
- 编辑 - - -
我拼写错误信息......我在meessage
拼写....改成了message
,现在它的工作....
该错误消息说,这:
错误解析JSON {:源=> “消息” ...
这有力地表明,在某处你的过滤管道,你有一个看起来像这样的块。
json {
source => "message"
}
你引用顶部的message
场不JSON格式。我建议你检查你的周围块json {}
的条件语句的地方是,并确保这一特定事件嗟它。
可以由您有任何神交块生成grokparsefailure消息。检查周围的人的条件语句为好,以确保这一事件不会碰到那些不恰当的。如果你想确保这个神交块是真实故障解析的一个,我建议设置tag_on_failure
以独有的东西块,可以肯定这是一个生成它。