跳至主要內容

告警规则

约 2443 字大约 8 分钟

告警规则

ThingsCloud 提供了内置的告警规则,可以将设备属性变化或设备离线作为告警触发条件。

您可以为任何接入 ThingsCloud 的设备创建灵活的告警规则,并实现告警通知

提示

除此之外,依托于开放的 ThingsCloud API,如您具备一定的开放能力,也可以在应用端实现任意告警逻辑和通知。

创建告警规则

您可以在 设备详情页 > 告警 > 告警规则 中,为当前设备创建告警规则。例如:

您也可以在 设备类型详情页 > 告警 中,为当前设备类型创建告警规则。

以上两种方式的区别是设备源的不同,设备源决定了告警规则的作用范围,也就是对哪些设备有效。

设备源类型

告警规则支持以下两种设备源类型。需要注意的是,告警规则一旦创建后,设备源类型不支持修改,但可以修改设备源。

设备

告警规则的作用范围仅针对指定的一个或多个设备。

使用设备作为数据源类型时,数据源只可以选择多个设备。

设备类型

告警规则的作用范围包括设备类型下的所有设备。

例如:设备源选择燃气浓度传感器设备类型,那么该类型下的所有燃气浓度传感器设备,都可使用该告警规则,而无需为每个设备重复创建告警规则。

使用设备类型作为数据源类型时,数据源只可以选择一个设备类型。

触发类型

  • 设备属性变化:当设备属性值发生变化时,可触发告警检查。设备属性值变化包括属性上报、属性下发、云端属性更新。
  • 设备不活跃:当设备属性未更新超过设置时间后,平台会来触发告警检查,用于实现设备离线告警。

触发条件

触发条件是告警规则中的重要部分,这里支持设置多个属性触发条件。如下图:

设置多个条件

当设置多个属性触发条件时,请注意逻辑关系,您可以设置 ANDOR

  • AND 表示多个条件要同时成立才会触发,例如:当湿度大于 50% 并且温度大于 20℃ 时触发告警。如下图:
  • OR 表示多个条件只要有一个成立即可触发,例如:当湿度大于 50% 或温度大于 20℃ 时触发告警。如下图:

请注意,当多个条件中 ANDOR 同时存在时,AND 的优先级要大于 OR

设置动态阈值

在上边的例子中,我们在属性触发条件的阈值中设置了固定数值,而在实际应用中,我们也经常会用到动态阈值,来实现不同设备自动使用不同的告警阈值。

例如有 1000 个温湿度传感器使用同一个告警规则,而每个传感器需要根据安装位置的不同,设置不同的温度下限值。这时候便可以使用动态阈值,而不需要为每个传感器设备创建一个独立的告警规则。

通过使用动态阈值功能,还可以实现让用户通过 App 来管理自己设备的告警阈值

设置动态阈值非常简单,首先您需要知道,动态阈值实际上是保存在设备属性中,所以修改阈值就相当于修改设备属性。

下边以一个简单的示例来说明,如何在告警规则中设置动态阈值,并让用户可以随时修改阈值。

首先,我们在设备类型中添加几个新的用来保存阈值的属性,属性类型设置为云端私有,是因为这个属性不需要下发到设备。如下图:

接下来,在告警规则的阈值输入框中,不输入数值,而是输入 { 符号,这时会自动下拉所有数值型的属性定义,我们这里选择刚添加的 {humidity_min}

同理,为温度的阈值也选择一个属性,如下图:

也可以使用范围条件来设置两个动态阈值,如下图:

这样一来,我们便可以轻松的修改设备属性,来改变当前设备的阈值。如下图:

还可以在 App 面板中放置数值控制组件,如下图:

用户便可以在 App 中随意修改温度下限阈值。如下图:

提示

动态阈值功能仅在付费版中支持。

重复次数和持续时间

在满足触发条件的同时,还支持设置重复次数和持续时间。

  • 重复次数:设置重复次数后,告警条件首次触发时不会进入告警状态,也不会发送告警通知。当告警条件连续重复触发该次数后,进入告警状态并发送告警通知。
  • 持续时间:设置持续时间后,系统会在告警条件被连续触发达到该持续时间后,进入告警状态。

提示

需要注意的是,当 重复次数持续时间 同时设置时,两者必须同时满足,设备才会进入 告警 状态。

举个例子:告警规则设置如下:

  • 触发条件是温度大于 29℃
  • 重复次数是 3 次
  • 持续时间是 10 分钟

时序图如下:

有效时段

当我们希望告警规则只在部分时段有效时,可以开启有效时段选项,如下图:

全天每 30 分钟作为一个时段单位,您可以点选或快速拖选,例如选择 08:00 - 19:00,如下图:

或者选择 00:00 - 08:00 和 19:00 - 24:00 两个有效时段,如下图:

当然,您还可以选择任意想要的时段,像这样:

如果您希望在无效时段期间,允许告警恢复,可以开启 无效时段允许告警恢复 这个选项,如下图:

告警级别

告警级别用来区分告警的重要级别,用在告警历史和告警通知的显示文字中。例如,在邮件通知方式中,告警级别会显示在邮件标题中。

可选的告警级别包括:

  • 普通告警
  • 重要告警
  • 紧急告警

通知文字

通知文字会显示在告警通知的内容中,不同的通知方式会体现在不同位置。例如:

  • 邮件通知:显示在邮件正文中。
  • 微信公众号通知:显示在模板消息字段中。

选择通知组

为告警规则关联通知组,用于发送告警通知。支持关联多个通知组。

关于通知组的详细介绍,请浏览 告警通知组

通知用户

可开启是否为设备所属用户发送告警通知,支持多种用户通知方式,包括:

  • 微信公众号通知
  • 短信通知

关于用户通知的详细介绍,请浏览 用户告警通知

告警规则的可用状态

  • 全局可用状态:每个告警规则可设置全局可用状态,用来启用或禁用该规则,对告警规则关联的所有设备源生效。
  • 单个设备可用状态:在全局可用状态开启的情况上,您可以对关联的设备独立设置启用或禁用该告警规则。例如,当对某个设备进行维护时,可临时关闭该设备的告警规则,但不影响告警规则关联的其它设备。

当告警规则被禁用时,不会触发检查,告警规则的告警状态也保持不变。

告警规则的告警状态

告警规则拥有以下几种的告警状态:

  • 正常(Ok):表示最近一次设备属性上报未触发告警规则。
  • 告警(Alerting):表示最近一次设备属性上报已触发告警规则,且达到设置的重复次数和持续时间。如果未设置重复次数和持续时间,则首次触发会进入告警状态。
  • 待定(Pending):表示最近一次设备属性上报已触发告警规则,但未达到设置的重复次数和持续时间。
  • 未知(Unknown):表示告警规则暂时无明确的告警状态,例如:规则创建后一直没有相关设备属性上报,或者告警规则被禁用、不在有效时段等情况。

移除告警规则

告警规则支持移除操作,在告警规则编辑对话框的底部,可以看到移除按钮。

告警规则被移除后,无法恢复。