2016-07-06 58 views
1

我已经在他们的网站上阅读过这个文档(https://www.elastic.co/guide/en/logstash/current/plugins-filters-json.html),并且仍然在努力理解如何使用这个插件。我的目标是取得一个JSON文件,并且除了几个围绕JSON日志分布的特定字段之外,切除所有内容。 Add_field过滤器是否使它只传递添加的字段?如果是的话,我将如何指定要传递的内容?如何为Logstash使用JSON过滤器插件

回答

1

JSON过滤器用于扩展字段中的json。用于读取JSON文件到logstash你可能想用file input使用json codec,有点像这样:

file { 
    path => "/path/to/file" 
    codec => "json" 
} 

将读取一个JSON文件到logstash为一个事件或

如果数据被发送的是其根中的JSON数组,将创建多个事件(每个元素一个)。

然后,您可以使用mutate filter删除您不想要的字段。

mutate { 
    remove_field => [ "uneeded-field", "my_extraneous_field" ] 
} 

你也可以考虑使用社区prune filter,它可以删除除白名单的一切。