2017-02-23 149 views
0

我正在使用logstash-output-influxdb插件將事件從logstash發送到influx數據庫。插件的數據點的配置看起來像logstash influxdb輸出插件 - 如何發送整數

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插件將整數字段發送到influxdb?

回答

1

我建議使用the coerce => { } parameter來實現您的數據輸入,而不是在數字中提供線路協議詳細信息。

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

這告訴插件這些字段是整數,這將有可能獲得更大的成功。

+0

謝謝@ sysadmin1138,這個解決了這個目的。 – srikant