kv фильтр в logstash

Как работает remove_field в kv? У меня есть файл json, и мне нужно удалить поля, глубоко вложенные в файл json.

[url][queryString][404;http://hspb.homesearch.com:80/wcJV4LhTSmzJ1rX6FOq4RuiKe K49gUP2JvWtjdhhE] — одно из таких полей.

Этот фильтр не работает в logstash

 filter {
   kv {
      source => [ "[url][queryString]" ]
      remove_field => [ "404;%{somefield}" "my_extraneous_field" ]
    }
  }

person Pooja    schedule 25.09.2015    source источник


Ответы (1)


remove_field удалит именованные поля, когда базовый фильтр (в вашем случае «kv») будет успешным.

Если вам нужно обратиться к вложенным полям, попробуйте "[foo][bar]". Вы можете проверить, можете ли вы использовать поля в именах переменных...

ПРИМЕЧАНИЕ. [foo][bar] предназначен для иллюстрации того, как ссылаться на вложенные поля. Если у вас есть поля [myTopField][myNestedField], используйте их.

person Alain Collins    schedule 25.09.2015
comment
kv добьется успеха, если сможет принять ваш ввод и разделить его на части. В этом случае сработает remove_field. Если он не может обработать ваш ввод, remove_field не сработает. - person Alain Collins; 25.09.2015
comment
Что такое %{somefield}, мое постороннее поле..Также если файл json. Будет ли source as [foo][bar] работать с интересующим ключом внутри него? - person Pooja; 25.09.2015