Logstash json筛选器未向事件根添加字段[已编辑]

Logstash json筛选器未向事件根添加字段[已编辑],logstash,logstash-configuration,Logstash,Logstash Configuration,当我在消息上使用json过滤器时,它神奇地消失了——永远不会到达elasticsearch。当我卸下过滤器时,一切正常 示例\u源代码- {"message":"{\"id\":\"5563017afd801c1618603a7b\",\"date\":\"2015-05-23T15:30:00.000Z\",\"count\":485}","@version":"1","@timestamp":"2015-05-25T11:07:49.913Z","type":"app","env":"pro

当我在消息上使用json过滤器时,它神奇地消失了——永远不会到达elasticsearch。当我卸下过滤器时,一切正常

示例
\u源代码
-

{"message":"{\"id\":\"5563017afd801c1618603a7b\",\"date\":\"2015-05-23T15:30:00.000Z\",\"count\":485}","@version":"1","@timestamp":"2015-05-25T11:07:49.913Z","type":"app","env":"production","host":"production-server","tags":["event"]}
我使用节点应用程序发送消息

这就是我的过滤器的样子

json {
    source => "message"
}
我做错了什么

编辑

当我给
json
过滤器一个
target
时,消息被解析并添加到target字段。但我不知道那是什么。我希望JSON的字段被添加到事件的根目录中。在阅读json过滤器的示例时,我认为如果省略
目标
,就会出现这种情况,不幸的是,情况似乎并非如此

定义用于放置解析数据的目标字段。如果省略此设置,JSON数据将存储在事件的根目录(顶层)


您可以使用input
codec
将json消息添加到根目录

比如说,

input {
        stdin{
                codec => json
        }
}

output {
        stdout { codec => rubydebug }
}
输入:

{"id":"5563017afd801c1618603a7b","date":"2015-05-23T15:30:00.000Z","count":485}
输出:

{
        "id" => "5563017afd801c1618603a7b",
      "date" => "2015-05-23T15:30:00.000Z",
     "count" => 485,
  "@version" => "1",
"@timestamp" => "2015-05-27T03:45:33.094Z",
      "host" => "BEN_LIM"
}