mirror of
https://github.com/hikhvar/mqtt2prometheus.git
synced 2026-02-14 09:59:52 +00:00
* fail if both metric.error_value and metric.string_value_mapping.error_value are set * mark metric.string_value_mapping.error_value as deprecated
93 lines
4.1 KiB
Plaintext
93 lines
4.1 KiB
Plaintext
mqtt:
|
|
# The MQTT broker to connect to
|
|
server: tcp://127.0.0.1:1883
|
|
# Optional: Username and Password for authenticating with the MQTT Server
|
|
# user: bob
|
|
# password: happylittleclouds
|
|
# Optional: for TLS client certificates
|
|
# ca_cert: certs/AmazonRootCA1.pem
|
|
# client_cert: certs/xxxxx-certificate.pem.crt
|
|
# client_key: certs/xxxxx-private.pem.key
|
|
# Optional: Used to specify ClientID. The default is <hostname>-<pid>
|
|
# client_id: somedevice
|
|
# The Topic path to subscribe to. Be aware that you have to specify the wildcard.
|
|
topic_path: v1/devices/me/+
|
|
# Optional: Regular expression to extract the device ID from the topic path. The default regular expression, assumes
|
|
# that the last "element" of the topic_path is the device id.
|
|
# The regular expression must contain a named capture group with the name deviceid
|
|
# For example the expression for tasamota based sensors is "tele/(?P<deviceid>.*)/.*"
|
|
# device_id_regex: "(.*/)?(?P<deviceid>.*)"
|
|
# The MQTT QoS level
|
|
qos: 0
|
|
# Export internal profiling metrics including CPU, Memory, uptime, open file
|
|
# descriptors, as well as metrics exported by Go runtime such as information about
|
|
# heap and garbage collection stats.
|
|
enable_profiling_metrics: false
|
|
cache:
|
|
# Timeout. Each received metric will be presented for this time if no update is send via MQTT.
|
|
# Set the timeout to -1 to disable the deletion of metrics from the cache. The exporter presents the ingest timestamp
|
|
# to prometheus.
|
|
timeout: 24h
|
|
json_parsing:
|
|
# Separator. Used to split path to elements when accessing json fields.
|
|
# You can access json fields with dots in it. F.E. {"key.name": {"nested": "value"}}
|
|
# Just set separator to -> and use key.name->nested as mqtt_name
|
|
separator: .
|
|
# This is a list of valid metrics. Only metrics listed here will be exported
|
|
metrics:
|
|
# The name of the metric in prometheus
|
|
- prom_name: temperature
|
|
# The name of the metric in a MQTT JSON message
|
|
mqtt_name: temperature
|
|
# The prometheus help text for this metric
|
|
help: DHT22 temperature reading
|
|
# The prometheus type for this metric. Valid values are: "gauge" and "counter"
|
|
type: gauge
|
|
# A map of string to string for constant labels. This labels will be attached to every prometheus metric
|
|
const_labels:
|
|
sensor_type: dht22
|
|
# The name of the metric in prometheus
|
|
- prom_name: humidity
|
|
# The name of the metric in a MQTT JSON message
|
|
mqtt_name: humidity
|
|
# The prometheus help text for this metric
|
|
help: DHT22 humidity reading
|
|
# The prometheus type for this metric. Valid values are: "gauge" and "counter"
|
|
type: gauge
|
|
# A map of string to string for constant labels. This labels will be attached to every prometheus metric
|
|
const_labels:
|
|
sensor_type: dht22
|
|
# The name of the metric in prometheus
|
|
- prom_name: heat_index
|
|
# The name of the metric in a MQTT JSON message
|
|
mqtt_name: heat_index
|
|
# The prometheus help text for this metric
|
|
help: DHT22 heatIndex calculation
|
|
# The prometheus type for this metric. Valid values are: "gauge" and "counter"
|
|
type: gauge
|
|
# A map of string to string for constant labels. This labels will be attached to every prometheus metric
|
|
const_labels:
|
|
sensor_type: dht22
|
|
# The name of the metric in prometheus
|
|
- prom_name: state
|
|
# The name of the metric in a MQTT JSON message
|
|
mqtt_name: state
|
|
# Regular expression to only match sensors with the given name pattern
|
|
sensor_name_filter: "^.*-light$"
|
|
# The prometheus help text for this metric
|
|
help: Light state
|
|
# The prometheus type for this metric. Valid values are: "gauge" and "counter"
|
|
type: gauge
|
|
# A map of string to string for constant labels. This labels will be attached to every prometheus metric
|
|
const_labels:
|
|
sensor_type: ikea
|
|
# Metric value to use if a value cannot be parsed (match cannot be found in the map above, invalid float parsing, ...)
|
|
# If not specified, parsing error will occur.
|
|
error_value: 1
|
|
# When specified, enables mapping between string values to metric values.
|
|
string_value_mapping:
|
|
# A map of string to metric value.
|
|
map:
|
|
off: 0
|
|
low: 0
|