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仅供参考

相关推荐
qq_312920112 天前
Proxmox VE 监控:把集群指标秒级推送到 InfluxDB 2.x,Grafana 大屏一步到位
运维·grafana
A-刘晨阳3 天前
Prometheus + Grafana + Alertmanager 实现邮件监控告警及配置告警信息
运维·云计算·grafana·prometheus·监控·邮件
电话交换机IPPBX-3CX4 天前
如何使用 Grafana 可视化你的 3CX 呼叫中心电话系统
grafana·ip pbx·电话交换机·企业电话系统
Otto_10275 天前
在 OpenStack Rocky 中部署 Prometheus + Grafana
openstack·grafana·prometheus
小北方城市网5 天前
Spring Boot Actuator+Prometheus+Grafana 生产级监控体系搭建
java·spring boot·python·rabbitmq·java-rabbitmq·grafana·prometheus
牛奶咖啡136 天前
Prometheus+Grafana构建云原生分布式监控系统(九)_pushgateway的使用
云原生·grafana·prometheus·pushgateway·pushgateway使用场景·推数据到pushgateway·pushgateway的使用
牛奶咖啡137 天前
Prometheus+Grafana构建云原生分布式监控系统(八)_监控docker容器
云原生·grafana·prometheus·cadvisor·docker容器的安装与部署·docker容器的监控·node-exporter容器
翱翔的苍鹰8 天前
完整的“RNN + jieba 中文情感分析”项目之一:添加 Prometheus + Grafana 监控,配置 CI/CD 自动部署和支持多语言模型切换
rnn·grafana·prometheus
牛奶咖啡138 天前
Prometheus+Grafana构建云原生分布式监控系统(七)
云原生·grafana·prometheus·hadoop集群的安装·hadoop集群的监控·prometheus自动发现·hadoop数据可视化
kft13149 天前
Grafana + OracleDB Exporter深度监控大屏(docker-compose版)
docker·容器·grafana