logstash mutate筛选器始终字符串化哈希和数组

logstash mutate筛选器始终字符串化哈希和数组,logstash,logstash-configuration,Logstash,Logstash Configuration,我有一个json日志文件,我将它作为这个配置的输入 input { file { filename } codec { json_lines } } 每一行都是深度嵌套的JSON 在过滤器中 当我说 mutate { add_field => { "new_field_name" => "%{old_field_name}"} 如果旧_字段是嵌套哈希/数组,则会将其转换为字符串,然后添加。我是否可以保留该类型而不是将其字符串化 您可以考虑使用Ruby过滤器复制数组

我有一个json日志文件,我将它作为这个配置的输入

input {
   file { filename }
   codec { json_lines }
}
每一行都是深度嵌套的JSON

在过滤器中

当我说

mutate { add_field => { "new_field_name" => "%{old_field_name}"}
  • 如果旧_字段是嵌套哈希/数组,则会将其转换为字符串,然后添加。我是否可以保留该类型而不是将其字符串化

您可以考虑使用Ruby过滤器复制数组:

filter  {
    ruby { code => "event['newhash'] = event['myhash']" }
}
我认为没有更干净的解决办法

除此之外,您真的在文件输入中使用json_行编解码器吗?从logstash文件:

例如,如果源输入是面向行的JSON,请不要使用此编解码器 例如,redis或文件输入。而是使用json编解码器


json_行是一个错误。json是我们实际使用的代码。