npm 包 node-red-contrib-logstash 使用教程

阅读时长 5 分钟读完

简介

Node-RED 是一个流数据编程框架,可以用于可视化搭建物联网应用、机器学习模型等。而 node-red-contrib-logstash 是一个 Node-RED 的插件,用于将 Node-RED 工作流程中的数据发送到 Logstash 中进行处理。

本文将详细介绍如何使用 npm 包 node-red-contrib-logstash 实现 Node-RED 数据传输到 Logstash,并提供相关示例代码,希望能够帮助读者快速上手这一插件。

安装

首先,我们需要安装 Node-RED。在安装 Node-RED 之后,可以通过 npm 命令来安装 node-red-contrib-logstash:

安装成功后,我们需要重启 Node-RED 生效该插件,可以使用以下命令:

配置

在 Node-RED 中使用 node-red-contrib-logstash

在 Node-RED 工作流程中使用 node-red-contrib-logstash 插件时,我们需要添加一个 Logstash 输出节点。在该节点的配置菜单中,我们需要填写以下信息:

  • Host:Logstash 的地址
  • Port:Logstash 的端口号
  • Protocol:Logstash 的协议类型(http/udp/tcp)
  • Index/Type:数据的索引和类型,可用于在 Elasticsearch 上对数据进行检索排序等操作
  • 附加信息:需要传输给 Logstash 的附加信息,以 JSON 的格式进行传输

在 Logstash 中配置

在 Logstash 中,我们需要添加一个输入插件,该插件将会监听之前在 Node-RED 中配置好的地址和端口号,处理接收到的数据并将之导入至 Elasticsearch。

以下为一个简单的 Logstash 配置文件示例:

-- -------------------- ---- -------
----- -
  --- -
    ---- -- ----
    ----- -- ----------
  -
-

------ -
  ------------- -
    ----- -- -----------------------
    ----- -- ----------
    -------- -- --------------------
  -
-

在该示例中,我们使用了 tcp 插件作为数据输入源,同时使用了 json_lines 编解码方式。在 output 部分,我们将接收到的数据导入至 Elasticsearch 中,并为其提供了一个数据模板。

示例代码

以下为一个基于 node-red-contrib-logstash 的 Node-RED 应用程序示例,用于将实时的温度数据传输至 Logstash:

-- -------------------- ---- -------
--
    ----- -----------------
    ------- ---------
    ---- ------------------
    ------- ---
    -------- -
        -
            ---- ---------
        -
    --
    --------- -----
    ---------- ---
    ------- ------
    ------------ ----
    -------- ---
    -------------- -------
    ---- ----
    ---- ----
    -------- -
        -
            -----------------
        -
    -
-- -
    ----- ------------------
    ------- -----------
    ---- ------------------
    ------- ------- -------------
    ------- ---- ---- - -------------- - -- - --------------------------------------- - ---    ---------------- ------------------ ------
    ---------- --
    -------- --
    ---- ----
    ---- ----
    -------- -
        -
            -----------------
        -
    -
-- -
    ----- ------------------
    ------- -----------
    ---- ------------------
    ----------- --------------
    ------- -------
    ----------- ------
    -------- --------------
    ------- ---
    ------ ---
    -------- ---
    --------- ---
    ------------ ---
    ---- ----
    ---- ----
    -------- --
--

在该示例中,我们添加了一个 inject 节点用于定时向工作流程中传输数据。在 function 节点中,我们生成随机温度数据并将之打包成 JSON 的格式进行传输。最后,我们使用 logstash 节点将数据传输至先前在 Logstash 中配置好的地址和端口号。

总结

本文详细介绍了如何在 Node-RED 中使用 npm 包 node-red-contrib-logstash 将数据传输至 Logstash,并提供了相关示例代码。通过学习本文,读者可以更加深入地了解 Node-RED 和 Logstash 在数据传输处理方面的应用,为后续的物联网应用开发、数据分析提供指导和参考。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600557b581e8991b448d4bdc

纠错
反馈