【发布时间】:2017-03-30 13:07:30
【问题描述】:
我遇到了一个我似乎无法弄清楚的 logstash grok 解析失败...
输入看起来像这样:
"@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}\]"
]
}
}
}
但我不断收到一个 grok 解析错误。我已经在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,现在它可以正常工作....
【问题讨论】:
-
总是那些小错别字。