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

相关推荐
香吧香2 天前
InfluxDB 连续查询中的 RESAMPLE 用法详解
influxdb
行者-全栈开发4 天前
TIG 监控体系搭建:Telegraf + InfluxDB + Grafana 全链路实战
grafana·influxdb·服务器监控·tig·docker部署·监控系统·telegraf
Elastic 中国社区官方博客5 天前
将你的 Grafana Kubernetes 仪表板迁移到 Elastic Observability:相同的 PromQL,30 倍更快的查询
大数据·人工智能·elasticsearch·搜索引擎·容器·kubernetes·grafana
做个文艺程序员7 天前
Linux第24篇:Java应用监控体系搭建:Prometheus+Grafana可视化运维
java·grafana·prometheus
取谖慕12.9 天前
Prometheus+Alertmanager+node_exporter+grafana高可用
linux·运维·grafana·prometheus
爱莉希雅&&&9 天前
Prometheus高可用(alertmanager+node_exporter+grafana)
运维·服务器·grafana·prometheus
行者-全栈开发10 天前
【码动四季】Spring Boot 可观测性体系:Micrometer + OpenTelemetry + Grafana 全链路搭建
grafana·opentelemetry·micrometer·全链路追踪·分布式追踪·atomcode·spring boot可观测性
todoitbo11 天前
让数据看板随时可见:Grafana + cpolar 远程访问实战
ui·网络安全·grafana·数据看板·远程访问
维C°13 天前
Grafana实例-Gauge仪表盘面板
grafana
微三云 - 廖会灵 (私域系统开发)13 天前
电商系统监控告警体系从0到1:Prometheus+Grafana+AlertManager的全链路可观测性实践
oracle·grafana·prometheus