mqtt+emq+influxdb+grafana系统搭建傻瓜教程(一)

本文提供了一个完整的物联网监控系统搭建教程,包括使用mqtt.fx模拟设备,通过EMQX采集数据,InfluxDB存储数据,以及Grafana进行可视化监控和预警。详细步骤覆盖了从安装到配置的全过程,适合开发者按步骤操作。
摘要由CSDN通过智能技术生成

系统架构:mqtt.fx+emqx4.4.3+telegraf1.21+infludb2.2+grafana8.4.1

系统环境:(ubuntu18.04)

本文绝对傻瓜式教程,照着步骤操作,点点鼠标即可完成,

如果还有问题,欢迎给博主留言!!!!!!

关于物联网监控系统,当前最流行的方法就是:emq+influxdb+grafna,其中EMQX负责采集终端设备数据, influxdb数据库负责存储数据,grafana负责读取数据,并以仪表盘形式进行监控报警。网上也有很多学习的文章,可大部分都是残缺不全,没有一个系统性的介绍,看完后也是一知半解。此文可以说是网络上最全面的教程,非常详细讲解了整个系统的搭建步骤,每一步除了用文字介绍外,还用截图方式进行直观说明,真正的傻瓜式教程,开发者只需要逐步照做,即可完成整个系统的搭建(当然了,如果连ubuntu 都没听说过的同学,那就不用往下看了)。

=====================================================================

整个系统分4个模块:

  1. 数据采集:mqtt.fx 模拟终端设备产生数据,通过emqx服务器进行数据采集。
  2. 数据存储:telegraf作为插件,订阅emqx数据并存储到influxdb2数据库。
  3. 数据监控:grafana 读取influxdb2 数据,进行图形监控。
  4. 数据预警:配置grafana预警策略,实现报警功能。

=====================================================================

详细操作步骤如下:

  • 数据采集:
  1. 搭建emqx服务器:
  1. 下载emqx:

Sudo wget https://www.emqx.com/zh/downloads/enterprise/4.4.3/emqx-ee-4.4.3-otp24.1.5-3-ubuntu18.04-amd64.deb

  1. 安装:

sudo apt install ./emqx-ee-4.4.3-otp24.1.5-3-ubuntu18.04-amd64.deb

  1. 运行

sudo emqx start

以上截图表示emqx服务器安装成功。

  1. MQTT.fx 客户端数据模拟:
  1. 使用MQTT-fx-1.7.1  首先点击齿轮按钮,进行参数设置

下图中IP地址,填写EMQX服务器主机ip,其它按图中默认设置即可

若有账户要求,则填入登陆账户及密码即可


然后ApplyOK就配置完成。 

  1. 连接EMQX,模拟数据发送和订阅

选择myprofile,点击右边按钮【connect】连接EMQX server

连接成功后,如下图:

        1. 出现绿色小球,表示连接成功
        2. 选择标签【publish】
        3. 输入你自己的topic,此处是 sensors/a
        4. 输入要想此topic 发送的内容,此处是 sensor data test
        5. 点击【publish】,发送主题数据到emqx server

  1. 查看EMQX broker 数据

访问ip:18083 ,访问emqx客户端页面如下,输入初始用户/密码 admin/public, 点击【登录】进入emqx 控制台:

         在控制台页面,操作如下:

  1. 选择【工具-websocket】
  2. 点击按钮【连接】
  3. 在topic 输入【sensors/a】
  4. 点击【订阅】

订阅成功后,在MQTT-fx 页面,重新点击【publish】发送消息

回到EMQX 控制台页面, MQTT-fx 发送的数据,已经被接收到

以上说明EMQX 已经能够正常接收到来自MQTT 设备的数据。

  1. 配置规则引擎:EMQX server 收到设备数据后, 需要做相应规则引擎,以便将数据存储到时序数据库influxdb。
  1. 创建资源:EMQ 左边栏点击【规则引擎-资源-创建】如下:

资源类型选择【influxDB UDP 服务】,自动生成资源ID:【resource:329849】其它默认,确定

  1. 创建规则:在EMQ 左边栏点击【规则引擎-规则-创建】如下:

编辑规则,如下图

  1. 输入SQL 语法
  2. 自动生成规则ID,此处为【rule:902869】, 后面会用到。
  3. 添加动作,也就是当收到数据后,如何处理数据

添加动作:配置如下

  1. 选择influxdb 数据库
  2. 选择前面创建的资源ID
  3. 任意输入measurement,作为influxdb 获取数据的类别
  4. 填写键值,要与前面SQL select 里面保持一致,此处my_msg

其余保持默认,确定即可

         至此,完成EMQX 数据的采集,以数据持久化规则引擎的配置。

  • 数据存储:
  1. 安装influxdb

sudo wget https://dl.influxdata.com/influxdb/releases/influxdb2-2.0.7-amd64.deb

sudo dpkg -i influxdb2-2.0.7-amd64.deb

sudo service influxdb start

以上表示安装成功。

web访问ip:8086 ,influxdb客户端页面如下:

点击【Get Started】进入influxdb控制台:

任意设置 username,password, organization name, bucket name,点击【continue】

  1. 创建telegraf 配置文件:
  1. 配置输出,点击【data-telegraf-influxdb output plugin】

  1. 选择bucket,此处为【mybucket】
  2. 点击下载文件,并将文件改名为 telegraf.conf

  1. 配置mqtt 输入:

点击【data-sources】,在搜索栏输入mqtt后,下面会出现【MQTT】图标

点击【MQTT】图标,生成mqtt 配置数据,点击下方按钮【copy to clipboard】,将配置数据粘贴到 telegraf.conf 文件中。

  1. 安装并运行telegraf:

sudo wget https://dl.influxdata.com/telegraf/releases/telegraf_1.21.4-1_amd64.deb

sudo dpkg -i telegraf_1.21.4-1_amd64.deb

telegraf -version

出现telegraf 版本号,说明安装成功。

配置telegraf.conf:

打开前面生成的telegraf.conf 修改如下,将其替换 /etc/telegraf/telegraf.conf 文件

                  设置 token 的环境变量

运行telegraf.conf

sudo service telegraf start

telegraf --config etc/telegraf/telegraf.conf

下图说明telegraf 已正常工作

  1. 验证数据是否正确存储
    1. MQTT 模拟发送数据:

实例中,发送100,150,200 等

    1. influxdb中查看是否收到数据

顺序选择【explore-mybucket-mqtt_consumer-value】,然后点击6【submit】,如下图说明数据已收到,并以曲线形式进行显示:

至此,数据已经成功存储在influxdb 数据库了。

以上已完成【数据采集】和【数据存储】的配置说明,另外2个部分关于 Grafana【数据监控】和【数据预警】,继续阅读完整内容,请点击下面链接

===================================================================

Grafana【数据监控】和【数据预警】链接地址:                                                                                              https://blog.csdn.net/zchill/article/details/124727674

===================================================================

本文仅供个人阅读学习,若有转载需求,请联系博主获取授权,严禁私自转载

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zchill

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值