如何正确配置 telegraf 以写入来自 MQTT 的 InfluxDB 数据
Posted
技术标签:
【中文标题】如何正确配置 telegraf 以写入来自 MQTT 的 InfluxDB 数据【英文标题】:How to properly configure telegraf to write into InfluxDB data coming from MQTT 【发布时间】:2018-10-08 07:04:30 【问题描述】:我有一个 ESP8266,它将 MQTT 数据(浮点值)发送到我的 MQTT 代理(mosquitto)。我无法让 telegraf 写入 InfluxDB 数据库。有人有电报的示例配置吗?使用 python 脚本我可以成功克服 telegraf,但我更喜欢使用维护的软件,例如 telegraf。
另外一点,我还启用了 telegraf 并使用将系统信息写入 influxDB 的默认配置,它正在工作。但是,使用 grafana 绘制数据时,每当我在查询中启用“GROUP BY time ($interval)”时,都不会返回任何数据点。好像数据格式有问题。
【问题讨论】:
【参考方案1】:发送到 MQTT 的字符串必须采用如下格式才能被默认的 influxdb telegraf 解析器正确解析:
seriesName,tag1=tagname1,tag2=tagname2 value1=123,value2=456
例如使用客户端工具:
mosquitto_pub -t smartmeter -m "energy,location=basement value=5"
将写入 smartmeter 主题(需要在 telegraf.conf 中订阅)。然后它将写入能量系列,设置位置标签并写入值 5。
Telegraf 还会将默认标签(mqtt 主题和主机)写入 influxdb。
关于您的第二个问题:您必须按条件使用$__interval
作为组。
【讨论】:
以上是关于如何正确配置 telegraf 以写入来自 MQTT 的 InfluxDB 数据的主要内容,如果未能解决你的问题,请参考以下文章
Prometheus 通过 Telegraf 将数据远程写入 InfluxDB 2.x 存储(InfluxDB 2.x 不同于 1.x)
Telegraf inputs.tail 与 zimbra.log
json 用于显示来自Roon Core的Telegraf指标的Grafana模板