2017-02-23 67 views
0

Я использую плагин logstash-output-influxdb для отправки события из логсташа в приток db. Точки данных конфигурации плагина выглядетьlogstash adduxdb output plugin - как отправить целое число

data_points => { 
      "visitor" => 1 
      "lead" => 0 
      "category" => "%{[category]}" 
      "host" => "%{[host]}" 
} 

Но здесь проблема в том, посетителей и свинцовые поля в influxdb являются целыми числами и с использованием выше результатов конфигурации в следующее сообщение об ошибке

поле ввода \\ «\\ посетитель» на измерении \\ "visitors_new \\" - это тип float, уже существует как целое число.

протокол

Линии influxdb говорит, что вы должны добавить я с числом, чтобы указать, что это целое число, так что если я изменить конфигурацию

data_points => { 
      "visitor" => "1i" 
      "lead" => "0i" 
      "category" => "%{[category]}" 
      "host" => "%{[host]}" 
} 

Теперь ошибка становится

входа поле \\ "посетитель \\" по измерению \\ "visitors_new \\" - это строка типа, уже существует как целое число

Если я изменю конфигурацию на

data_points => { 
      "visitor" => 1i 
      "lead" => 0i 
      "category" => "%{[category]}" 
      "host" => "%{[host]}" 
} 

Теперь logstash не принимает его как допустимую конфигурацию.

Как я могу отправлять целочисленные поля в систему с помощью плагина logstash-output-influxdb?

ответ

1

Я предлагаю использовать the coerce => { } parameter для получения данных, а не для ввода данных в виде строки.

data_points => { 
     "visitor" => 1 
     "lead" => 0 
     "category" => "%{[category]}" 
     "host" => "%{[host]}" 
} 
coerce_values => { 
     "visitor" => "integer" 
     "lead" => "integer" 
} 

Это говорит плагин эти поля являются целым числом, которое, вероятно, будет более успешным.

+0

Спасибо @ sysadmin1138, это решит цель. – srikant