InfluxDB Sink

The sink will publish the result into a InfluxDB.

Compile & deploy plugin

Please make following update before compile the plugin,

  • Add Influxdb library reference in go.mod.
  • Remove the first line // +build plugins of file plugins/sinks/influx.go.
  1. # cd $eKuiper_src
  2. # go build -trimpath -modfile extensions.mod --buildmode=plugin -o plugins/sinks/Influx.so extensions/sinks/influx/influx.go
  3. # zip influx.zip plugins/sinks/Influx.so
  4. # cp influx.zip /root/tomcat_path/webapps/ROOT/
  5. # bin/kuiper create plugin sink influx -f /tmp/influxPlugin.txt
  6. # bin/kuiper create rule influx -f /tmp/influxRule.txt

Restart the eKuiper server to activate the plugin.

Properties

Property name Optional Description
addr true The addr of the InfluxDB
measurement true The measurement of the InfluxDb (like table name)
username false The InfluxDB login username
password false The InfluxDB login password
databasename true The database of the InfluxDB
tagkey true The tag key of the InfluxDB
tagvalue true The tag value of the InfluxDB
fields true The column of the InfluxDB,split with “,”

Sample usage

Below is a sample for selecting temperature great than 50 degree, and some profiles only for your reference.

/tmp/influxRule.txt

  1. {
  2. "id": "influx",
  3. "sql": "SELECT * from demo_stream where temperature > 50",
  4. "actions": [
  5. {
  6. "log": {},
  7. "influx":{
  8. "addr": "http://192.168.100.245:8086",
  9. "username": "",
  10. "password": "",
  11. "measurement": "test",
  12. "databasename": "databasename",
  13. "tagkey": "tagkey",
  14. "tagvalue": "tagvalue",
  15. "fields": "humidity,temperature,pressure"
  16. }
  17. }
  18. ]
  19. }

/tmp/influxPlugin.txt

  1. {
  2. "file":"http://localhost:8080/influx.zip"
  3. }

plugins/go.mod

  1. module plugins
  2. go 1.14
  3. require (
  4. github.com/lf-edge/ekuiper v0.0.0-20200323140757-60d00241372b
  5. github.com/influxdata/influxdb-client-go v1.2.0
  6. github.com/influxdata/influxdb1-client v0.0.0-20200515024757-02f0bf5dbca3 // indirect
  7. )
  8. replace github.com/lf-edge/ekuiper => /root/goProject/kuiper