神交解析错误,而试图解析卡夫卡日志

问题描述 投票:0回答:1

我得到一个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,现在它的工作....

logstash logstash-grok
1个回答
0
投票

该错误消息说,这:

错误解析JSON {:源=> “消息” ...

这有力地表明,在某处你的过滤管道,你有一个看起来像这样的块。

json {
  source => "message"
}

你引用顶部的message场不JSON格式。我建议你检查你的周围块json {}的条件语句的地方是,并确保这一特定事件嗟它。

可以由您有任何神交块生成grokparsefailure消息。检查周围的人的条件语句为好,以确保这一事件不会碰到那些不恰当的。如果你想确保这个神交块是真实故障解析的一个,我建议设置tag_on_failure以独有的东西块,可以肯定这是一个生成它。

© www.soinside.com 2019 - 2024. All rights reserved.