Categorygithub.com/shirou/mqforward
repositorypackage
0.0.0-20250313005948-6729b7851cd7
Repository: https://github.com/shirou/mqforward.git
Documentation: pkg.go.dev

# README

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