2017-08-06 28 views
1

我想知道如何在我的influxDB上插入一個新值時發出通知,並使用新插入的度量值的數據向HTTP端點發送通知樣品。我不確定這是否是Kapacitor的目標(我是TICK堆棧中的新手),或者最好使用其他工具(任何建議都會受到歡迎)。通過HTTP在InfluxDB上發送新插入的值

在此先感謝。

此致敬禮, Albert。

回答

0

Kapacitor有兩種類型的任務,即batchstream。前者用於處理歷史數據,stream用於實時目的。

看你的要求我想很明顯,stream是一種方式,因爲它可以實時地從influxdb的測量數據中獲得watch。要在TICK腳本中調用端點,您可以使用HttpPostNode節點。

實施例(僞代碼ONLY):

var data = stream 
    |from() 
     .database('myInfluxDB') 
     .retentionPolicy('autogen') 
     .measurement('measurement_ABCD') 
    |window() 
     .period(10s) 
     .every(10s) 


data 
    |httpPost('http://your.service.url/api/endpoint_xyz') 

在該實例中TICK腳本將watch做一個HTTP POST到所定義的前上測量,measurement_ABCD新插入的數據爲window週期爲10秒終點並且整個過程將再次重複every 10秒。

也就是說,你有一個10秒的移動窗口。

參考:

https://docs.influxdata.com/kapacitor/v1.3/nodes/http_post_node/

+0

感謝薩穆埃爾。我正在考慮更多的消息模式,其中消息負載是剛剛插入influxdb的數據。無論如何,我認爲窗口方法就夠了。我將循環播放我的端點上的新元素。 –

+0

Kapacitor是非常新的,所以它有很多限制大聲笑,所以如果它更容易在服務器端更容易做到這一點。如果您可以通過點擊有用的解決方案旁邊的勾號來回答這個問題,將會很感激。謝謝 –