配置Logstash仅包含某些字段

use*_*610 3 elasticsearch logstash

使用filter,mutateremove_field,Logstash可以配置为从输出中排除某些字段.

但是,如果只知道要包含的字段的名称,并且想要排除所有其他字段(前面​​不知道的字段名称),该怎么办?怎么可以这样做?

谢谢

Mag*_*äck 7

您可以使用红宝石过滤器:

filter {
  ruby {
    code => "
      wanted_fields = ['message', 'foo']
      event.to_hash.keys.each { |k|
        event.remove(k) unless wanted_fields.include? k
      }
    "
  }
}
Run Code Online (Sandbox Code Playgroud)

有关: