ThingsBoard 规则链配置create alarm:遥测数据触发告警

当前版本:ThingsBoard4.2、kafka4.0

ThingsBoard 规则链配置:遥测数据触发告警

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

一、配置前准备

  1. 环境确认:确保 ThingsBoard 服务正常运行,管理员账号可正常登录(默认地址:http://\<服务器IP\>:8080,默认账号:tenant@thingsboard.org,密码:tenant)。

  2. 设备准备 :已在 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:创建自定义规则链

  1. 登录 ThingsBoard 后台,点击左侧导航栏【规则链】,进入规则链管理页面。

  2. 点击Root Rule Chain,拷贝待用。

  3. 点击页面右上角【+】,选择【创建规则链】,填写规则链信息:

    1. 名称:自定义名称(如:"AC8015")。

    2. 描述:可选,填写规则链用途(如:"监控设备温湿度、电压数据,超出阈值触发告警")。

  4. 点击【添加】,完成自定义规则链创建,进入规则链编辑界面(画布模式)。

  5. 右击【粘贴】,这样你就有了一份和默认/根节点同样的规则。

步骤 2:添加"告警判断"节点

该节点用于判断设备上传的遥测数据是否满足要求。

  1. 在规则链编辑界面,点击左侧【节点库】,找到"筛选器",选择【script】,拖拽至画布中。

  2. 双击节点,配置节点信息:

    1. 节点名称:自定义(如:"A77")。

    2. 选择JavaScript

    3. 点击test filter function,实现逻辑判断代码

  3. 修改消息中的温度值,点击【测试】,查看右边输出的结果;如果有报错,自行解决语法问题。

  4. 点击【保存】,完成入口节点配置。

步骤 3:添加"告警生成"节点(核心节点)

该节点用于定义告警规则(如:温度>70℃触发告警),当遥测数据满足规则时,自动生成告警信息。

  1. 在节点库中搜索"create alarm",拖拽至画布中。

  2. 节点名称:自定义(如:"A78")。

  3. 逻辑判断同样我们采用javascript。

    function Details(msg, metadata, msgType) 函数中实现逻辑。

  4. 点击【测试】,查看右边输出的结果。

  5. 点击【保存】,完成告警判断节点配置。

步骤 4:"连接"节点

把前面创建节点,按图示连接。

三、验证与调试

配置完成后,需要把当前规则,应用保存。

  1. 设备配置:

确保我们上面创建的规则,正确的配置给对应的设备!!!


  1. 模拟发送

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

    2. 查看告警通知

四、常见问题与优化建议

1. 常见问题

  • 为什么不采用单一的遥测数据 :我们常见的遥测数据:

    {"temperature": 22.4, "humidity": 78},这样是可以的。不采用常规的方式上报遥测,主要是把设备当成一个集合,而并非单一的某个设备。这样键名,例如33333,它就是某一个设备的唯一标识。这样就能在一个设备集合中收集很多设备的数据。

  • 告警未推送通知 :在规则中启动调试,一步一排查问题。

  • 误告警频繁:添加"触发延迟"(如:5秒内持续满足条件才触发);优化阈值设置,避免因瞬时波动导致误告警。

2. 优化建议

  • 多设备分组管理:对不同类型的设备创建设备组,在遥测数据节点中按设备组过滤,实现针对性监控。

  • 告警升级机制:添加"告警升级节点",若告警长时间未处理(如:10分钟),自动提升告警级别并推送至更高层级的运维人员。

  • 数据持久化:添加"保存到数据库节点",将遥测数据和告警记录持久化存储,便于后续统计分析。

  • 规则链复用:将通用的告警逻辑(如:温湿度监控)配置为模板规则链,后续新增设备可直接复用,提高配置效率。

五、总结

通过以上步骤,即可完成 ThingsBoard 中基于遥测数据的告警规则链配置,实现"数据采集-阈值判断-告警生成-通知推送"的全流程自动化。核心在于准确配置遥测数据过滤条件和告警触发规则,同时根据业务需求选择合适的通知渠道。实际应用中,可根据设备类型、监控指标的差异,灵活调整规则节点配置,优化告警策略。

相关推荐
星恒讯工业路由器5 小时前
5G FWA技术演进与趋势
网络·5g·信息与通信·4g·5g fwa·3gpp规范·fwa趋势
星夜夏空997 小时前
网络编程(1)
服务器·网络
上海云盾-小余8 小时前
中小站点防护避坑:低价高防服务存在的各类安全短板剖析
网络·爬虫·安全·ddos
数据知道10 小时前
邮件安全实战:SPF/DKIM/DMARC 配置与钓鱼绕过
网络·安全·web安全·网络安全·邮件安全
王莎莎-MinerU10 小时前
MCP 解决的是工具接入,科研 Agent 还缺的是科学证据接口标准化
开发语言·网络·人工智能·深度学习·pdf·c#·php
Chloeis Syntax11 小时前
JAVAEE初阶 --- 构造HTTP请求
网络·网络协议·http·postman
砚凝霜11 小时前
软考网络工程师|第 1 章 计算机网络基础 完整备考笔记
网络·笔记·计算机网络
rcms1527026921811 小时前
NIKON 4S019-394 接口模块
网络
某不知名網友12 小时前
Linux Socket 编程完整讲解
网络
ICT系统集成阿祥12 小时前
不用复杂命令,快速定位二层 / 三层网络故障
网络·网络排查·二层故障·三层故障