Skip to content

shirou/mqforward

Repository files navigation

mqforward

mqforward is forwarder from MQTT to Influxdb. This subscribes a topic with wildcard and forward a payload to Influxdb. The value should be JSON or msgpack.

for example,

  • Publish {"a": 1, "b": 2} to "mqforward/a/b",
  • Subscribe "mqforward/#",

in the influxdb,

  • value a=1 and b=2 into the a.b series. so you can SELECT a, b FROM "a.b"

If udp is true in the config, send series over UDP to InfluxDB. otherwise, use HTTP.

usage

install

Just go get (it takes for a while)

$ go get github.com/shirou/mqforward

then, type

$ go install github.com/shirou/mqforward

config

Config example is below. If you put config to ~/.mqforward.ini, it will be loaded automatically.

[mqforward-mqtt]
hostname= localhost
port = 1883
username= ""
password= ""
topic = mqforward/#

[mqforward-influxdb]
# url = https://127.0.01/subpath
hostname = 127.0.0.1
scheme = http # or https
port = 4444
db = test
username = root
password = root
caCerts = ~/.certs/cacert.pem # can be empty
insecure = true # if certificates are not checked
series = weather
topicMap = mqforward/{location}/{sensor} # creates tags 'location' and 'sensor' from topic path

run

Set path to $GOPATH/bin,

$ mqforward run

or

mqforward run -c someconfig.ini

license

MIT

About

MQTT to influxdb forwarder

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published