告警是监控与实体(设备、资产、客户等)相关事件的重要工具。告警机制可帮助快速响应异常、条件违规或关键状态变化,预防潜在问题并确保系统稳定运行。
例如,可在ThingsBoard中配置温度超过设定阈值时自动创建告警。实际场景可能更复杂,涉及组合条件、时间间隔、数据聚合或与上下文相关的逻辑。
告警机制的基础是告警规则中定义的条件和逻辑,用于决定何时创建、更新或清除告警。规则配置完成后,系统会按设置自动生成告警,用户可通过界面查看、筛选和管理告警。有关规则的创建和配置详见告警规则部分。
本文介绍告警的日常使用、界面工具和相关操作。
ThingsBoard的通知中心负责向相关用户发送告警事件和系统活动通知。默认情况下,您会接收来自设备的告警,以及客户实体创建的告警(仅对租户管理员)。
通知中心支持灵活配置通知规则,定义通知对象、触发条件和传送渠道。可选的传送渠道包括:
- ThingsBoard网页界面
- 电子邮件
- 短信
- Slack
- Microsoft Teams
- ThingsBoard移动应用通知
更多配置信息请参阅此处。
查看与管理告警
告警页面
在左侧导航菜单中选择告警页面可查看和管理告警。页面以统一列表显示与实体相关的告警,包括:
- 创建时间
- 告警来源(发起人)
- 告警类型
- 严重程度
- 指派用户
- 状态(活跃/已清除、已确认/未确认)
点击目标告警详情列中的省略号(…)可查看更多信息。
默认显示所有活跃告警,可按筛选条件和时间范围来查看其他结果。
告警部件
ThingsBoard提供用于在仪表板上展示和管理告警的专用部件:
告警表格部件
- 在可配置的时间范围内为选定实体显示告警
- 支持按类型、严重程度、确认状态和传播方式筛选
- 可直接在部件中执行告警操作(确认、清除、指派)
告警计数部件
- 显示符合筛选条件的告警数量
- 支持按严重程度、状态和类型筛选
- 常用于高层级监控仪表板
有关如何向仪表板添加部件的信息,请参阅仪表板配置文档。
特定实体的告警
可在实体的详情页面(例如设备)直接查看和管理该实体的告警。
- 打开设备页面(或对应实体类型)
- 选择目标实体
- 在实体详情中切换到告警选项卡
在此页面可查看和管理仅属于该实体的所有告警。
以下介绍可对告警执行的操作。
告警操作
确认与清除告警
每条告警有两个状态维度:
- 已确认 / 未确认
- 活跃 / 已清除
可在以下位置执行确认或清除:
- 告警页面
- 告警表格部件
- 实体详情页的告警选项卡
确认
点击确认按钮将告警标记为已查看。确认不会影响告警逻辑,只是便于运维流程管理。
清除
点击清除按钮可关闭告警。清除可由用户手动执行,或在规则中定义了清除条件时自动执行。
告警评论
查看或添加评论的步骤:
- 点击详情列中的省略号(…)打开告警详情窗口
- 滚动至活动区域
评论分为两类:
- 用户评论:手动添加,作者可以编辑或删除
- 系统评论:由系统自动生成(如严重程度变化、告警指派等),只读且显示为灰色
评论有助于记录操作历史和系统事件。
核心概念
以下介绍告警的主要概念:
发起人(Originator)
发起人是触发告警事件的实体。例如,当设备上报的遥测数据超过设定阈值时,该设备就是告警的发起人。
类型(Type)
告警类型是描述事件性质的语义标识(例如”高温”或”低湿度”)。
告警类型决定了同一实体内告警的唯一性。
严重程度(Severity)
表示事件的严重程度。ThingsBoard支持五个等级(从高到低):
- 临界(Critical)
- 重要(Major)
- 次要(Minor)
- 警告(Warning)
- 未确定(Indeterminate)
告警创建时会分配严重程度等级,之后可由规则逻辑进行更新。
状态(Status)
告警有两个主要维度:
- 活跃 / 已清除
- 已确认 / 未确认
组合后形成四种状态:
- 活跃 & 未确认
- 活跃 & 已确认
- 已清除 & 未确认
- 已清除 & 已确认
告警可由用户手动清除,或在满足预设清除条件时自动清除。清除条件是可配置的。
告警唯一性
ThingsBoard通过发起人(originator)、类型(type)和开始时间(start time)的组合来唯一识别告警。 因此,同一时刻仅能存在一条具有相同发起人、类型和开始时间的活跃告警。
示例:
假设配置规则:温度高于20℃时创建\u201c高温\u201d告警,温度小于等于20℃时清除该告警。
事件顺序:
12:00 — 温度=18℃ → 无告警
12:30 — 温度=22℃ → 告警创建(startTime=12:30)
13:00 — 温度=25℃ → 更新已有告警
13:30 — 温度=18℃ → 告警清除(endTime=13:30)
结果是生成一条startTime为12:30、endTime为13:30的\u201c高温\u201d告警。
告警时间说明
告警开始时间与创建时间
告警包含两个关键时间戳:
- 开始时间(Start time):告警条件首次满足的时刻,基于上报的遥测数据时间
- 创建时间(Creation time):ThingsBoard接收并处理遥测数据后创建告警的时刻
通常情况下两者相同。但当设备发送延迟或回溯遥测数据(例如离线或批量上报)时,两者可能不同。 此时,开始时间为超过阈值的遥测数据时间戳,创建时间为ThingsBoard处理该消息的时刻,因此两者可能不一致。
延迟遥测数据示例
空气质量监控系统的阈值为100单位。
12:00 — 传感器上报95 → 未触发告警条件
12:05 — 传感器上报105 → 告警条件满足
12:08 — ThingsBoard接收并处理数据,创建告警
此时:
- 开始时间=12:05(实际超过阈值的时刻)
- 创建时间=12:08(平台处理遥测数据的时刻)
这种区分有助于分析系统响应时间和事件顺序。
告警结束时间
告警创建时,结束时间初始等于开始时间。若条件持续满足(例如后续遥测数据再次超阈值),结束时间会相应更新,直至告警被清除。
告警触发条件类型
告警规则可选择告警创建时刻的判定方式:
- 立即——当条件满足时立即创建告警
- 持续——条件持续满足指定时长(例如温度超阈值5分钟)时才创建告警
- 重复——条件满足指定次数(例如第5次超阈值)时才创建告警
指派人员
告警可指派给负责处理的用户。指派可在以下位置进行:
- 告警页面
- 告警表格部件
- 实体的告警选项卡
被指派的用户将根据其通知设置接收相应的告警通知。
告警传播
告警传播允许告警不仅在其发起人上可见,还可根据实体关系和规则配置在相关实体间展示。
传播工作原理
告警创建时,ThingsBoard会:
- 识别发起人
- 分析实体关系
- 应用规则中定义的传播筛选条件
- 在所有相关实体上展示告警
每条传播的告警并非独立副本,而是同一告警在不同实体上的展示,始终与发起人完全同步。
示例场景
实体层次:租户→客户A→办公室A(资产)→设备A1
如果启用传播且设备A1触发告警:
- 告警在设备A1上出现
- 传播到办公室A
- 对客户A可见
- 可继续传播到租户
这样可在多级架构下实现集中监控和可见性。
使用REST API管理告警
ThingsBoard提供用于管理和查询告警的REST API。详见REST API文档。
下一步
-
连接设备 - 根据连接技术或方案学习如何连接设备。
-
数据可视化 - 配置ThingsBoard复杂仪表盘的说明。
-
数据处理与操作 - 学习使用ThingsBoard规则引擎。
-
IoT数据分析 - 学习使用规则引擎执行基本分析任务。
-
高级功能 - 了解ThingsBoard高级功能。