ThingsBoard提供了创建和管理与实体相关的警报的功能:设备、资产、客户等。 例如:可以将ThingsBoard配置为在温度传感器读数高于特定阈值时自动创建警报,然而这是一个非常简单的情况,真实场景可能要复杂很多。
概念
以下警报的主要概念:
发起者
警报发起者是警报的实体例如:如果ThingsBoard收到来自它的温度读数并因读数超过阈值而引发“HighTemperature” 警报则设备A是警报的发起者。
类型
警报类型有助于确定警报的根本原因例如:”HighTemperature”和”LowHumidity”是两个不同的警报。
级别
警报支持级别如下:Critical, Major, Minor, Warning或Indeterminate(按优先级降序排序)。
生命周期
ThingsBoard创建警报时可能处于活动或已清除状态并保留开始和结束时间,警报默认将开始时间和结束时间设置成相同如果警报触发条件重复将更新结束时间,当警报清除条件匹配时自动清除警报,报警清除条件是可选项用户可以手动清除警报。
警报的状态除了有活动和清除外还会跟踪是否已经人为确认过警报通过仪表板或实体详细信息选项卡进行警报确认。
有4个”状态“字段:
- 活动未确认(ACTIVE_UNACK) - 警报未清除且尚未确认;
- 活动已确认(ACTIVE_ACK) - 警报未清除但已确认;
- 清除未确认(CLEARED_UNACK) - 警报已清除但尚未确认;
- 清除已确认(CLEARED_ACK) - 警报已清除并确认;
标识
ThingsBoard根据发起者、类型和开始时间的组合做为警报的判断依据,因此在相同时间点只能有一个相同的发起者、类型和开始时间的活动警报。
假设已配置警报规则以便在温度大于20时创建”HighTemperature”警报;此外还配置了警报规则以便在温度小于或等于20时清除”HighTemperature”警报。
假设事件序列如下:
- 12:00 - 温度等于18
- 12:30 - 温度等于22
- 13:00 - 温度等于25
- 13:30 - 温度等于18
因此应该创建一个”HighTemperature”警报开始时间=12:30结束时间=13:00。
案例
假设一个租户有1000个客户,每个客户有1000个设备。
你可以通过ThingsBoard的警报传播功能简化数据处理直接设计一个仪表板显示租户和客户的警报数据,当警报创建后指定为父实体可见和指定父实体和发起者之间应存在的关系以便警报传播。
现在当了解理论时后继续实践教程。
常见问题
创建警报
最简单的方法是使用警报规则。
替代方式是在Rule Engine中配置自定义逻辑通过
Create Alarm和Clear Alarm规则节点完成。
你可以此处相关实例
查找警报
查找特定设备或资产的警报:
- 查找特定设备或资产的警报
- 选择实体;
- 导航到“警报”选项卡;
- 选择警报状态和时间间隔。
可视化警报
请参阅此文档将警报部件添加到仪表板。
你还可以浏览部件的数据源设置和高级设置。
设置数据源:
- 使用ack/unack/active/clear的任意组合指定状态过滤器;
- 使用severity的任意组合指定severity筛选器;
- 指定警报类型列表;
- 启用或禁用警报的传播(默认情况下禁用)。
发送通知
要在创建或清除警报时发送通知,请查看此文档。
REST API查询警报
ThingsBoard提供REST API来管理和查询警报,有关更多详细信息请参阅演示环境Alarm REST API和常规REST API文档。