如何将 MQTT 数据存储到 QuestDB 中?
How can I store MQTT data into QuestDB?
我正在构建一个使用 Mosquitto 代理 IoT 传感器数据的解决方案。物联网传感器正在发布到 MQTT 主题,我想将有效负载数据存储在 QuestDB 中以供分析,使用它作为存储有哪些选择。
将数据从 MQTT 主题提取到 QuestDB 中的最简单和最快的方法之一是使用 Telegraf 通过 InfluxDB 线路协议流式传输记录。 Telegraf 的配置如下所示:
# Configuration for Telegraf agent
[agent]
## Default data collection interval for all inputs
interval = "5s"
hostname = "qdb"
[[outputs.socket_writer]]
# Write metrics to a local QuestDB instance over TCP
address = "tcp://127.0.0.1:9009"
[[inputs.mqtt_consumer]]
## The MQTT broker
servers = ["tcp://127.0.0.1:1883"]
## Topics that will be subscribed to.
topics = [
"telegraf/host01/cpu",
"telegraf/+/mem",
"sensors/#",
]
有关 Telegraf 的 MQTT 消费者的更多信息,请参阅 plugin's README which has usage info(与 SSL 等一起使用)
此外,我要指出的是,有一些工具,例如 this example stack,其中将 MQTT 代理、Telegraf 和 QuestDB 定义为网络服务。
我正在构建一个使用 Mosquitto 代理 IoT 传感器数据的解决方案。物联网传感器正在发布到 MQTT 主题,我想将有效负载数据存储在 QuestDB 中以供分析,使用它作为存储有哪些选择。
将数据从 MQTT 主题提取到 QuestDB 中的最简单和最快的方法之一是使用 Telegraf 通过 InfluxDB 线路协议流式传输记录。 Telegraf 的配置如下所示:
# Configuration for Telegraf agent
[agent]
## Default data collection interval for all inputs
interval = "5s"
hostname = "qdb"
[[outputs.socket_writer]]
# Write metrics to a local QuestDB instance over TCP
address = "tcp://127.0.0.1:9009"
[[inputs.mqtt_consumer]]
## The MQTT broker
servers = ["tcp://127.0.0.1:1883"]
## Topics that will be subscribed to.
topics = [
"telegraf/host01/cpu",
"telegraf/+/mem",
"sensors/#",
]
有关 Telegraf 的 MQTT 消费者的更多信息,请参阅 plugin's README which has usage info(与 SSL 等一起使用)
此外,我要指出的是,有一些工具,例如 this example stack,其中将 MQTT 代理、Telegraf 和 QuestDB 定义为网络服务。