
当前版本:ThingsBoard4.2、kafka4.0
ThingsBoard 规则链配置:遥测数据触发告警
本文将详细介绍如何在 ThingsBoard 中配置规则链,实现基于遥测数据的告警触发功能。适用于需要对设备上传的温湿度、电压、电流等遥测指标进行实时监控,当数据超出预设阈值时自动触发告警的场景。

一、配置前准备
-
环境确认:确保 ThingsBoard 服务正常运行,管理员账号可正常登录(默认地址:http://\<服务器IP\>:8080,默认账号:tenant@thingsboard.org,密码:tenant)。
-
设备准备 :已在 ThingsBoard 中添加目标设备,且设备能正常上传遥测数据(如:temperature-温度、humidity-湿度、voltage-电压等)。可通过"设备->遥测数据"页面验证数据上传情况。
假设我们有个设备,遥测数据如上图所示,即mqtt上报的数据格式如下:
{
"333333": {
"type": "ddddd",
"temperature": "20",
"deviceid": "0xc4822b42f5273f147e16f0b34581",
"Memory": "3.80 GB>3.17 GB",
"Emmc": "25.57 GB>25.19 GB",
"timebuild": "Sat Dec 20 16:23:54 CST 2025",
"timestamp": 1766460819437,
"ip": "广东省飞机市 电信-ip:10.19.8.171-480100"
}
}
因此对应键名则是333333,数值是一个json字符串。我们需要提取中的temperature,当温度大于70度,则创建告警信息。最终效果如下图所示:

二、核心配置步骤
本次配置将创建一条"遥测数据接收->阈值判断->生成告警->推送通知"的完整规则链,具体步骤如下:
步骤 1:创建自定义规则链
-
登录 ThingsBoard 后台,点击左侧导航栏【规则链】,进入规则链管理页面。
-
点击Root Rule Chain,拷贝待用。

-
点击页面右上角【+】,选择【创建规则链】,填写规则链信息:
-
名称:自定义名称(如:"AC8015")。
-
描述:可选,填写规则链用途(如:"监控设备温湿度、电压数据,超出阈值触发告警")。
-
-
点击【添加】,完成自定义规则链创建,进入规则链编辑界面(画布模式)。
-
右击【粘贴】,这样你就有了一份和默认/根节点同样的规则。

步骤 2:添加"告警判断"节点
该节点用于判断设备上传的遥测数据是否满足要求。
-
在规则链编辑界面,点击左侧【节点库】,找到"筛选器",选择【script】,拖拽至画布中。
-
双击节点,配置节点信息:
-
节点名称:自定义(如:"A77")。
-
选择JavaScript
-
点击test filter function,实现逻辑判断代码

-
-
修改消息中的温度值,点击【测试】,查看右边输出的结果;如果有报错,自行解决语法问题。
-
点击【保存】,完成入口节点配置。
步骤 3:添加"告警生成"节点(核心节点)
该节点用于定义告警规则(如:温度>70℃触发告警),当遥测数据满足规则时,自动生成告警信息。
-
在节点库中搜索"create alarm",拖拽至画布中。
-
节点名称:自定义(如:"A78")。
-
逻辑判断同样我们采用javascript。
function Details(msg, metadata, msgType) 函数中实现逻辑。

-
点击【测试】,查看右边输出的结果。
-
点击【保存】,完成告警判断节点配置。
步骤 4:"连接"节点
把前面创建节点,按图示连接。

三、验证与调试
配置完成后,需要把当前规则,应用保存。
- 设备配置:
确保我们上面创建的规则,正确的配置给对应的设备!!!
-


-
模拟发送:
-
使用MQTTX,模拟发送遥测数据:

-
查看告警通知

-
四、常见问题与优化建议
1. 常见问题
-
为什么不采用单一的遥测数据 :我们常见的遥测数据:
{"temperature": 22.4, "humidity": 78},这样是可以的。不采用常规的方式上报遥测,主要是把设备当成一个集合,而并非单一的某个设备。这样键名,例如33333,它就是某一个设备的唯一标识。这样就能在一个设备集合中收集很多设备的数据。
-
告警未推送通知 :在规则中启动调试,一步一排查问题。

-
误告警频繁:添加"触发延迟"(如:5秒内持续满足条件才触发);优化阈值设置,避免因瞬时波动导致误告警。
2. 优化建议
-
多设备分组管理:对不同类型的设备创建设备组,在遥测数据节点中按设备组过滤,实现针对性监控。
-
告警升级机制:添加"告警升级节点",若告警长时间未处理(如:10分钟),自动提升告警级别并推送至更高层级的运维人员。
-
数据持久化:添加"保存到数据库节点",将遥测数据和告警记录持久化存储,便于后续统计分析。
-
规则链复用:将通用的告警逻辑(如:温湿度监控)配置为模板规则链,后续新增设备可直接复用,提高配置效率。
五、总结
通过以上步骤,即可完成 ThingsBoard 中基于遥测数据的告警规则链配置,实现"数据采集-阈值判断-告警生成-通知推送"的全流程自动化。核心在于准确配置遥测数据过滤条件和告警触发规则,同时根据业务需求选择合适的通知渠道。实际应用中,可根据设备类型、监控指标的差异,灵活调整规则节点配置,优化告警策略。