【问题标题】:Writing verneMQ data to TimescaleDB将 verneMQ 数据写入 TimescaleDB
【发布时间】:2020-06-21 02:06:06
【问题描述】:

有没有办法将所有收到的消息存储到 VerneMQ 中的 TimescaleDB 中?

有没有我可以使用的现有插件或服务?

【问题讨论】:

    标签: timescaledb mqtt-vernemq


    【解决方案1】:

    如果您正在寻找特定于制造的解决方案,您可以查看United Manufacturing Hub 中的“mqtt-to-postgresql”。

    微服务从 VerneMQ 获取数据并将它们(负载平衡和面向性能)写入 TimescaleDB。

    如果您要寻找更通用的东西,您可以自己构建它并从上述项目中复制一些代码。

    【讨论】:

      【解决方案2】:

      首先,我想概括一下这个问题。对于所描述的用例,它与“将 MQTT 数据写入 PostgreSQL”相同。

      您需要使用任何 MQTT 兼容客户端订阅 VerneMQ 主题,然后将此数据写入 PostgreSQL 数据库(为此目的,TimescaleDB 完全依赖 PostgreSQL)。

      选项 1:编写自己的服务来读取 MQTT 主题(使用 Eclipse Paho 等 MQTT 客户端库),然后将数据写入 PostgreSQL。

      选项 2:使用 Telegraf (https://docs.timescale.com/timescaledb/latest/tutorials/telegraf-output-plugin/#before-we-start)。 Telegraf 的唯一问题 - 支持 PostgreSQL 的版本只能作为 fork 提供,并且已经过时 (1.13)。

      选项 3:使用 Node-RED。他们有内置插件来读取 MQTT 数据和一个插件来写入 PostgreSQL(这个工作:https://flows.nodered.org/node/node-red-contrib-re-postgres

      【讨论】:

        【解决方案3】:

        我对 VerneMQ 不熟悉,但一个快速的谷歌建议它应该与 PostgreSQL (https://vernemq.com/blog/2015/08/05/vernemq-says-hi-to-postgresql.html) 集成。

        TimescaleDB 是作为 PostgreSQL 的扩展而构建的,并通过标准 PostgreSQL 连接器说话。因此,首先尝试任何现有的 PostgreSQL 连接器/集成。

        【讨论】:

          【解决方案4】:

          为此,您需要一个自定义插件。 VerneMQ 背后的公司或其他合作伙伴可以帮助您咨询编写自定义插件。或者,您可以使用 VerneMQ webhook 将数据发送到将写入 TimescaleDB 的 webhook,尽管这不是更有效/可扩展的方法。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2020-02-06
            • 2023-01-20
            • 1970-01-01
            • 2017-12-03
            • 2010-12-04
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多