首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >从数据到仪表盘——DolphinDB + Grafana 搭建工业物联网实时监控

从数据到仪表盘——DolphinDB + Grafana 搭建工业物联网实时监控

原创
作者头像
DolphinDB
发布2026-08-25 17:42:24
发布2026-08-25 17:42:24
30
举报

前几篇我们分别解决了三个问题:数据存储、批处理、实时流计算。但数据价值除了体现在计算结果本身,更需要被直观地看到,也就是今天要聊的主题——可视化。

先回顾一下我们前面几篇做了什么事:

  • 第一篇:1万传感器,日增3000万条数据——工业物联网数据建模与接入实践指南,我们用 DolphinDB 把数据存了下来(TSDB 引擎 + 日期 VALUE/设备 HASH 复合分区)
  • 第二篇:从3000万条时序数据中挖掘价值——DolphinDB 工业物联网离线批处理实践指南,数据存好后,我们做了离线批计算,把原始记录变成了设备运行报表、开停机统计、异常检测等业务指标
  • 第三篇:从批到流,实时监控预警——DolphinDB 工业物联网实时计算指南,我们搭建了流计算链路,让数据一到达就能触发告警

实时计算的价值不仅在于快速产出结果,更在于将结果以直观、可交互的方式呈现,帮助运维人员实时掌握设备运行状态并快速定位异常。今天作为本系列收官篇,要解决的核心问题是:数据怎么变成可视化的监控面板?

本篇我们采用 Grafana。Grafana 是常用的开源可视化与监控平台,配合 DolphinDB Grafana 数据源插件,可以直接查询流表、实时计算结果表或物化视图中的数据,构建支持自动刷新、趋势分析和告警联动的监控仪表盘。

今天就结合两个我在实验中跑通的案例,带大家从零搭建一个物联网可视化监控面板。

前置准备

我的实验环境如下,供参考:

组件

版本

Grafana

13.2.0

DolphinDB Server

3.00.5

数据源插件

dolphindb-datasource-next

配置步骤简述:

  1. 从 Grafana 官网下载安装开源版本
  2. 将 dolphindb-datasource-next 文件解压到 Grafana 插件目录Windows: <grafana 安装目录>\data\plugins\Linux: /var/lib/grafana/plugins/
  3. 在 custom.ini 中配置 allow_loading_unsigned_plugins = dolphindb-datasource-next
  4. 重启 Grafana,在 Data sources 中添加 DolphinDB 数据源,填写地址和认证信息
DolphinDB配置界面
DolphinDB配置界面

案例一:实现设备指标的采集监控和展示

第一个案例来自 DolphinDB 官方教程《实现设备指标的采集监控和展示》,用 Telegraf 采集系统磁盘和运行时间数据,存入 DolphinDB 后用 Grafana 展示。

流表订阅与数据写入设计

首先创建分布式数据库 dfs://telegraf,包含两张表:disk(磁盘使用情况)和 system(系统运行时间)。

在这个案例中,外部数据源通过 API 或 Telegraf 插件写入分布式表 disksystem。今天我们重点关注数据写入后如何可视化展示:

代码语言:javascript
复制
// 加载分布式表
dfs_disk = loadTable("dfs://telegraf", "disk")
dfs_system = loadTable("dfs://telegraf", "system")

Grafana 通过 DolphinDB 数据源直连查询这两张表,在 Panel 中执行 SQL 即可获取数据。

Grafana 查询配置

在 Grafana Dashboard 中新建 Panel,选择 DolphinDB 数据源,输入查询语句:

代码语言:javascript
复制
dfs_disk = loadTable("dfs://telegraf","disk")
select timestamp,avg(total),avg(used),avg(free),avg(used_percent) from dfs_disk group by timestamp 

这条 SQL 把三台主机的磁盘数据按时间戳聚合,得到整体的磁盘使用趋势。

磁盘总容量、已用容量、可用容量及使用率随时间变化的趋势图
磁盘总容量、已用容量、可用容量及使用率随时间变化的趋势图

鼠标点击想要具体查看的指标,滑动选取时间间隔,即可非常方便的查询磁盘具体情况。

磁盘已用容量随时间变化图
磁盘已用容量随时间变化图
磁盘使用率随时间的变化趋势图
磁盘使用率随时间的变化趋势图

案例二:振动传感器 RMS 实时监控面板

第二个场景是旋转机械振动监测:16 台振动传感器,每台以 1ms 间隔采集加速度数据,系统实时计算 RMS(有效值)并判断是否超限。

这个案例在第三篇(流计算)中已经实现,当时我们创建了流计算链路:

  • vibration_raw 接收原始加速度数据
  • 时序聚合引擎每秒计算 RMS,输出到 vibration_rms

现在要做的是:把可视化表的数据搬到 Grafana 面板上。

查询配置

面板1:单设备 RMS 实时曲线

代码语言:javascript
复制
select * from vibration_rms where deviceID='deviceID_1'

选择 Time series 图表类型,X 轴用 timestamp,Y 轴用 rms。数据会随着流表持续写入而自动刷新。

查看设备1的RMS值随时间的变化
查看设备1的RMS值随时间的变化

面板2:所有设备最新 RMS 状态

代码语言:javascript
复制
select * from vibration_rms 
context by deviceID 
csort timestamp desc 
limit 1

用 Bar gauge 或 Table 面板展示,可以快速看到每台设备当前的 RMS 值。

查看每台设备最新的RMS值
查看每台设备最新的RMS值

搭建完整 Dashboard

把以上 Panel 组合到一个 Dashboard 中:

小结

回顾这个系列的四篇文章,我们把物联网数据处理的全链路走了一遍:

篇目

主题

核心关注点

第一篇

数据建模与接入

1万传感器、日增3000万条数据,怎么存

第二篇

批计算

存下来之后,怎么算出业务指标

第三篇

流计算

数据一到就要发现,怎么实时告警

第四篇(本篇)

可视化

结果怎么呈现,怎么变成监控面板

可视化是数据价值的最终呈现环节。通过 Grafana + DolphinDB 的组合,我们可以快速搭建工业物联网监控面板:流表数据实时刷新、历史数据趋势回放、多设备对比分析——覆盖了从实时监控到历史分析的全场景。

下一步,你可以在自己的环境中动手尝试使用 Grafana 进行数据可视化,探索更多功能!数据有了、面板有了,接下来就看你怎么让这些数据真正服务于生产运维了。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • 前置准备
    • 配置步骤简述:
  • 案例一:实现设备指标的采集监控和展示
    • 流表订阅与数据写入设计
    • Grafana 查询配置
  • 案例二:振动传感器 RMS 实时监控面板
    • 查询配置
    • 搭建完整 Dashboard
  • 小结
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档