57 lines
1.7 KiB
Markdown
57 lines
1.7 KiB
Markdown
# MQTT Consumer Input Plugin
|
|
|
|
The [MQTT](http://mqtt.org/) consumer plugin reads from
|
|
specified MQTT topics and adds messages to InfluxDB.
|
|
The plugin expects messages in the
|
|
[Telegraf Input Data Formats](https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_INPUT.md).
|
|
|
|
### Configuration:
|
|
|
|
```toml
|
|
# Read metrics from MQTT topic(s)
|
|
[[inputs.mqtt_consumer]]
|
|
## MQTT broker URLs to be used. The format should be scheme://host:port,
|
|
## schema can be tcp, ssl, or ws.
|
|
servers = ["tcp://localhost:1883"]
|
|
## MQTT QoS, must be 0, 1, or 2
|
|
qos = 0
|
|
## Connection timeout for initial connection in seconds
|
|
connection_timeout = "30s"
|
|
|
|
## Topics to subscribe to
|
|
topics = [
|
|
"telegraf/host01/cpu",
|
|
"telegraf/+/mem",
|
|
"sensors/#",
|
|
]
|
|
|
|
# if true, messages that can't be delivered while the subscriber is offline
|
|
# will be delivered when it comes back (such as on service restart).
|
|
# NOTE: if true, client_id MUST be set
|
|
persistent_session = false
|
|
# If empty, a random client ID will be generated.
|
|
client_id = ""
|
|
|
|
## username and password to connect MQTT server.
|
|
# username = "telegraf"
|
|
# password = "metricsmetricsmetricsmetrics"
|
|
|
|
## Optional TLS Config
|
|
# tls_ca = "/etc/telegraf/ca.pem"
|
|
# tls_cert = "/etc/telegraf/cert.pem"
|
|
# tls_key = "/etc/telegraf/key.pem"
|
|
## Use TLS but skip chain & host verification
|
|
# insecure_skip_verify = false
|
|
|
|
## Data format to consume.
|
|
## Each data format has its own unique set of configuration options, read
|
|
## more about them here:
|
|
## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_INPUT.md
|
|
data_format = "influx"
|
|
```
|
|
|
|
### Tags:
|
|
|
|
- All measurements are tagged with the incoming topic, ie
|
|
`topic=telegraf/host01/cpu`
|