Logstash grok отфильтровал данные как NUMBER, но почему отфильтрованные данные в Kibana по-прежнему отображаются как String

Как новичок, я использовал фильтр grok в Logstash для фильтрации числовых данных как поля как такового: %{NUMBER:duration}. Но когда я просматривал отфильтрованные данные с помощью Kibana, я увидел на вкладке настроек, что поле — продолжительность — по-прежнему имеет тип данных Sting.

Мне действительно нужно это поле как числовой тип данных также в веб-консоли Kibana, чтобы я мог использовать его в визуализации. Кто-нибудь знает, как решить эту проблему? заранее спасибо


person Rui    schedule 09.06.2016    source источник


Ответы (1)


Все поля, идущие из Logstash в Elasticsearch, сохраняются как String. Если вы хотите изменить тип данных, вам нужно явно указать это в файле конфигурации Logstash.

Предполагая, что ваше имя поля является продолжительностью, в вашем файле конфигурации Logstash в фильтре используйте фильтр мутации, чтобы преобразовать поле из строки в целое число. Это показано ниже: -

mutate {
convert => { "duration" => "integer" }
       }

Теперь поле продолжительности будет храниться как целое число в Elasticsearch, и вы можете визуализировать его в Kibana как целое поле.

person Yuvraj Gupta    schedule 12.06.2016
comment
Отличный совет, который я получил от тебя! Большое спасибо, но, пожалуйста, обратитесь к этой ссылке, после вашей подсказки я нашел ее. elastic.co/ guide/en/logstash/current/ По этой ссылке формат сильно отличается от вашего ответа, скажем, на сайте logstash они определяют тип преобразования mutate как хэш, отличный от массива, тогда как вы указали тип массива. Поэтому, пожалуйста, измените его, тогда я проверю это как правильный ответ :) - person Rui; 13.06.2016
comment
Привет, я пытался использовать приведенный выше синтаксис, и он конвертируется. Хотя я согласен, что это хеш-тип, но в этом случае он также принимает массив. Можете ли вы попробовать использовать вышеупомянутый синтаксис, если он работает в вашем случае? - person Yuvraj Gupta; 13.06.2016
comment
здорово! Я одобрил :) - person Rui; 13.06.2016