
前几篇我们分别解决了三个问题:数据存储、批处理、实时流计算。但数据价值除了体现在计算结果本身,更需要被直观地看到,也就是今天要聊的主题——可视化。
先回顾一下我们前面几篇做了什么事:
实时计算的价值不仅在于快速产出结果,更在于将结果以直观、可交互的方式呈现,帮助运维人员实时掌握设备运行状态并快速定位异常。今天作为本系列收官篇,要解决的核心问题是:数据怎么变成可视化的监控面板?
本篇我们采用 Grafana。Grafana 是常用的开源可视化与监控平台,配合 DolphinDB Grafana 数据源插件,可以直接查询流表、实时计算结果表或物化视图中的数据,构建支持自动刷新、趋势分析和告警联动的监控仪表盘。
今天就结合两个我在实验中跑通的案例,带大家从零搭建一个物联网可视化监控面板。
我的实验环境如下,供参考:
组件 | 版本 |
|---|---|
Grafana | 13.2.0 |
DolphinDB Server | 3.00.5 |
数据源插件 | dolphindb-datasource-next |

第一个案例来自 DolphinDB 官方教程《实现设备指标的采集监控和展示》,用 Telegraf 采集系统磁盘和运行时间数据,存入 DolphinDB 后用 Grafana 展示。
首先创建分布式数据库 dfs://telegraf,包含两张表:disk(磁盘使用情况)和 system(系统运行时间)。
在这个案例中,外部数据源通过 API 或 Telegraf 插件写入分布式表 disk 和 system。今天我们重点关注数据写入后如何可视化展示:
// 加载分布式表
dfs_disk = loadTable("dfs://telegraf", "disk")
dfs_system = loadTable("dfs://telegraf", "system")Grafana 通过 DolphinDB 数据源直连查询这两张表,在 Panel 中执行 SQL 即可获取数据。
在 Grafana Dashboard 中新建 Panel,选择 DolphinDB 数据源,输入查询语句:
dfs_disk = loadTable("dfs://telegraf","disk")
select timestamp,avg(total),avg(used),avg(free),avg(used_percent) from dfs_disk group by timestamp 这条 SQL 把三台主机的磁盘数据按时间戳聚合,得到整体的磁盘使用趋势。

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


第二个场景是旋转机械振动监测:16 台振动传感器,每台以 1ms 间隔采集加速度数据,系统实时计算 RMS(有效值)并判断是否超限。
这个案例在第三篇(流计算)中已经实现,当时我们创建了流计算链路:
vibration_raw 接收原始加速度数据vibration_rms现在要做的是:把可视化表的数据搬到 Grafana 面板上。
面板1:单设备 RMS 实时曲线
select * from vibration_rms where deviceID='deviceID_1'选择 Time series 图表类型,X 轴用 timestamp,Y 轴用 rms。数据会随着流表持续写入而自动刷新。

面板2:所有设备最新 RMS 状态
select * from vibration_rms
context by deviceID
csort timestamp desc
limit 1用 Bar gauge 或 Table 面板展示,可以快速看到每台设备当前的 RMS 值。

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

回顾这个系列的四篇文章,我们把物联网数据处理的全链路走了一遍:
篇目 | 主题 | 核心关注点 |
|---|---|---|
第一篇 | 数据建模与接入 | 1万传感器、日增3000万条数据,怎么存 |
第二篇 | 批计算 | 存下来之后,怎么算出业务指标 |
第三篇 | 流计算 | 数据一到就要发现,怎么实时告警 |
第四篇(本篇) | 可视化 | 结果怎么呈现,怎么变成监控面板 |
可视化是数据价值的最终呈现环节。通过 Grafana + DolphinDB 的组合,我们可以快速搭建工业物联网监控面板:流表数据实时刷新、历史数据趋势回放、多设备对比分析——覆盖了从实时监控到历史分析的全场景。
下一步,你可以在自己的环境中动手尝试使用 Grafana 进行数据可视化,探索更多功能!数据有了、面板有了,接下来就看你怎么让这些数据真正服务于生产运维了。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。