EMQX+InfluxDB+Grafana 构建物联网可视化平台

EMQX+InfluxDB+Grafana 构建物联网可视化平台

本文以常见物联网使用场景为例,介绍了如何利用 EMQ X MQTT 服务器 + InfluxDB + Grafana 构建物联网数据可视化平台,将物联网设备上传的时序数据便捷地展现出来。

在物联网项目中接入平台的设备数据和数据存储方案有以下特点:

  • 数据采集的维度、频率、以及设备数量都比较多,采集的数据量比较大,对消息服务器的接入吞吐量、后端数据库的存储空间消耗有很大压力。
  • 数据按照采集周期进行上报、传输、存储一般都按照时间序列。
    因此在物联网项目中使用时序数据库是比较好的选择。时序数据库 可以带来显著的性能提升,包括更高的容纳率、更快的大规模查询,以及更好的数据压缩率等。数据入库后,往往需要数据可视化平台将数据按照规则统计、展现出来,实现数据的监控、指标统计等业务需求,以便充分发挥数据的价值。

方案介绍

目前市面上已有多款物联网消息中间件、时序数据库和数据可视化产品,结合数据的采集上报、联网接入、消息存储与可视化功能来看,EMQ X(高性能物联网 MQTT 消息中间件) + InfluxDB(时序数据库)+ Grafana(美观、强大的可视化监控指标展示工具)组合无疑是最佳的物联网数据可视化集成方案。

方案整体架构如下图所示:

  • EMQX:EMQX 是基于高并发的 Erlang/OTP 语言平台开发,支持百万级连接和分布式集群架构,发布订阅模式的开源 MQTT 消息服务器。EMQ X 内置了大量开箱即用的功能,其企业版 EMQ X Enterprise 支持通过规则引擎或消息持久化插件将设备消息高性能地存储到 InfluxDB,开源用户需自行处理消息存储环节。
  • InfluxDB:InfluxDB 是一个由 InfluxData 开源的时序型数据库。它由 Go 写成,着力于高性能地查询与存储时序型数据。InfluxDB 被广泛应用于存储系统的监控数据,IoT 行业的实时数据等场景。
  • Grafana: Grafana 是一个跨平台、开源的度量分析和可视化工具,可以通过灵活的配置查询采集到的数据并进行可视化展示。它可以快速灵活的创建客户端图表,官方库中具有丰富的仪表盘插件,比如热图、折线图、图表等多种展示方式。支持 Graphite,InfluxDB,OpenTSDB,Prometheus,Elasticsearch,CloudWatch 和 KairosDB 等数据源。可以创建自定义告警规则并通知到其他消息处理服务或组件中

实现步骤:

本文所用各个组件均有 Docker 镜像,均使用 Docker 搭建

  • 安装EMQX
    由于数据持久化是企业功能,需访问 EMQX官网申请企业版docker镜像

    官网申请emqx License文件 7天免费

    进入Flow设计器创建连接器,动作






    设置influxDB输入动作


    推送test主题,查看influxdb

查看influxdb数据

添加grafana数据源

这里引入的是Flux

查询airSensors表

以上Demo仅供参考

相关推荐
小哈里5 天前
【监控】使用Prometheus+Grafana搭建服务器运维监控面板(含带BearerToken的Exporter配置)
运维·服务器·grafana·prometheus·监控面板
leo·Thomas6 天前
Grafana接入Zabbix数据源
zabbix·grafana
做咩啊~8 天前
prometheus+node_exporter+grafana监控K8S信息
kubernetes·grafana·prometheus
DreamBoat_Onism8 天前
Prometheus + Grafana 监控
后端·grafana·prometheus
风中凌乱9 天前
Grafana服务安装并启动
grafana·prometheus
微风◝9 天前
8.Dashboard的导入导出
grafana
陈译11 天前
Grafana使用日志5--如何重置Grafana密码
数据库·grafana
Swift社区11 天前
高效日志管理与可视化:Loki与Grafana结合优化高频日志处理
后端·grafana
微风◝11 天前
7.grafana的内存和CPU同时在一个表中的调整
grafana
微风◝12 天前
6. grafana的graph简介
grafana