如何正确配置 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简介及安装

Telegraf inputs.tail 与 zimbra.log

json 用于显示来自Roon Core的Telegraf指标的Grafana模板

我应该如何让 grafana 知道安装在不同主机上的 telegraf 和 influxdb?

telegraf 安装使用