elasticsearch,logstash,elastic-stack,filebeat,Json,elasticsearch,Logstash,Elastic Stack,Filebeat" /> elasticsearch,logstash,elastic-stack,filebeat,Json,elasticsearch,Logstash,Elastic Stack,Filebeat" />

有效JSON上的Logstash JSON序列化失败(映射程序\u解析\u异常)

有效JSON上的Logstash JSON序列化失败(映射程序\u解析\u异常),json,elasticsearch,logstash,elastic-stack,filebeat,Json,elasticsearch,Logstash,Elastic Stack,Filebeat,给定以下多行日志 { "code" : 429 } 下面的管道logstash.conf filter { grok { match => { "message" => [ "%{GREEDYDATA:json}" ] } } json { source =

给定以下多行日志

{
  "code" : 429
}
下面的管道
logstash.conf

filter { 
    grok {
        match => 
        {
            "message" => 
                [
                    "%{GREEDYDATA:json}"
                ]
        }
    }

    json {
        source => "json"
        target => "json"
    }
}
当通过filebeat将日志发送到logstash时

然后Logstash返回

[2018-08-07T10:48:41,067][WARN ][logstash.outputs.elasticsearch] Could not index event to Elasticsearch. {:status=>400, :action=>["index", {:_id=>nil, :_index=>"filebeat-to-logstash", :_type=>"doc", :_routing=>nil}, #<LogStash::Event:0x2bf7b08d>], :response=>{"index"=>{"_index"=>"filebeat-to-logstash", "_type"=>"doc", "_id"=>"trAAFGUBnhQ5nUWmyzVg", "status"=>400, "error"=>{"type"=>"mapper_parsing_exception", "reason"=>"failed to parse [json]", "caused_by"=>{"type"=>"illegal_state_exception", "reason"=>"Can't get text on a START_OBJECT at 1:3846"}}}}}
[2018-08-07T10:48:41067][WARN][logstash.outputs.elasticsearch]无法将事件索引到elasticsearch。{:status=>400,:action=>[“index”],{:{:{u id=>nil,:{u index=>“filebeat to logstash”,:{u type=>“doc”,:{u routing=>nil},{“非法状态\u异常”,“原因”=>“无法获取1:3846“}处开始\u对象的文本”

这是不正确的行为,因为JSON是完全有效的,应该如何解决呢?

我发现在Logstash
6.3.0
中,当试图在
“JSON”
字段上序列化JSON时,会出现此问题。将此字段名称更改为任何其他名称都可以解决此问题

由于没有提及任何有关此行为的信息,并且错误消息不准确,因此可以假定这是一个bug

已发送错误报告: