创建和管理告警规则


告警规则是根据设置的告警条件和详细内容,让触发器在作用范围内触发告警的规则。你可以定义告警规则,以在满足某些条件时触发告警。 例如,对某台风机,定义当风速超过30米/秒时即触发告警,并且报告预设的告警级别和告警内容。


告警规则面向指定的模型,根据设置可作用于以下范围:

  • 所有基于该模型实例化的资产。
  • 指定资产树中的基于该模型实例化的资产。


创建告警规则有两种方式:通过旧版功能或新版功能。新版功能是旧版功能的增强版,可为在配置触发告警的条件时提供更多的对比选项。有关新旧版本的更多详细信息,请参见下表。


旧版 新版
无法为告警规则提供规则名称或规则描述。 可输入告警规则名称和描述。
只能选择一个资产测点作为触发条件。 可以选择多个资产测点作为触发器进行对比。
不能选择模型事件为触发器。 可以选择模型事件为触发器。
不能选择自定义告警源为触发器。 可以选择自定义告警源为触发器。
可以选择指定模型下所有设备的设备状态作为触发条件的触发器。 可以选择所有设备的设备状态作为触发条件的触发器。
只能选择一个设备的资产测点作为触发条件。 可以选择多个设备的资产测点作为触发器进行对比。
告警条件不支持系数。 告警条件支持系数(使用表达式)。
只能使用测点阈值来作为告警触发条件。 增加基于滚动窗口或滑动窗口的时序条件作为告警触发条件。
在创建告警规则之前需要创建告警内容。 告警内容将直接作为告警规则中的“告警内容”的编辑项,在规则配置页面填写。
不支持离散告警。 支持离散告警。
默认保存为历史告警记录。 应许在告警解除之后不保存告警记录。
无法在告警产生过程中打标签。 可通过告警规则的配置在告警产生过程中打标签。
告警规则的更改在保存后需要 5 分钟才能生效。 更改立即生效。


下面将介绍如何创建告警规则(新版)。有关如何创建告警规则(旧版), 参见 创建告警规则(旧版)

前提条件



创建告警规则


  1. 在 EnOS 管理控制台,进入 告警引擎 > 告警规则 页面。
  2. 点击 新建规则,设置触发告警的详细规则。

基本信息


基本信息 中填写告警规则的基本信息,例如其编号,描述等。


../_images/alert_rule_basic_section.png


  • 规则名称:告警规则的名称。
  • 规则编号:区分告警规则的唯一编号。同一个 OU 内不能重复,且创建后不可编辑。
  • 规则描述:对告警规则的描述。
  • 是否启用:是否立即启用该条告警规则。
  • 标签:告警规则的标签。可以根据事件特征添加一个或多个标签,便于根据实际情况对告警规则进行管理。标签数量最多为 100 条。标签由 Key 和 Value 两部分组成,在同一个告警规则中,Key 不能重复,Value 可以重复。点击 添加标签 按钮,添加多条标签。

触发器


触发器 部分用于选择告警条件所需的触发器及告警规则的作用范围。你可以选择相同或不同来源的模型指标作为触发器源。点击 增加触发器,添加多个触发器。


../_images/latest_alert_rule_trigger_section.png


  • 触发器源:触发器源的获取途径有两种:IoT Hub其他

    • IoT HubIoT Hub 的数据来自 EnOS 中的模型指标,可选择模型的 资产测点资产事件、或 设备状态 作为 触发器源

      注解

      当选择 Iot Hub > 设备状态 作为 触发器源 时,最多只能为该告警规则配置 1 个触发器。否则最多可配置 3 个触发器。

      • 资产测点:选择资产模型及其对应的测点。如果需要,点击 添加指标 以添加另一个测点。一个资产模型下,最多可选择 5 个测点。关于如何定义资产模型,请参考 物模型与资产建模

      • 资产事件:选择资产模型及其对应的事件参数作为告警的触发条件,如果不满足条件,则解除告警。如果需要,点击 添加指标 以添加另一个事件。一个资产模型下,最多可选择 5 个事件。

      • 设备状态:选择资产模型及其对应的设备状态。选择此选项后,当全部设备或所选模型下的设备状态更改为离线时,告警将被触发。

        注解

        只有设备资产具有设备状态。


    • 其他其他 的数据为除 EnOS 之外,从 告警引擎 > 告警源 导入的数据。可选择告警源中的指标作为触发器源,然后选择其数据类型。有关告警源的更多信息,参见 告警源。如果需要,点击 添加指标 以添加另一个指标。最多可选择 5 个指标。


  • 作用范围:当 触发器源IoT Hub 时,根据以上所选的模型选择告警规则适用的范围。

    • All Device:该规则适用于所有基于所选模型的资产实例。

    • 资产树:点击 选择资产树 以选择一个或多个资产树。默认情况下,所选资产树下的所有资产实例也将一并选择。即该规则同时适用于所有选定的资产实例。


      若需指定资产树下的某些节点,可点击 编辑 图标 btn_edit。如果资产树存在子节点,可通过点击其箭头展开父节点以访问子节点列表。当资产树更新时,规则将自动被继承至相关节点。例如,当规则作用的节点下新增了子节点,则子节点自动继承父节点上定义的告警规则。


      可选择的最大节点数为 1000。如果选择 1 个父节点,而它的子节点超过 1000 个,则其节点计数为 1;但如果不选择父节点,而是选择了该父节点下的 2000 个子节点,总节点计数将为 2000,超过允许的最大限制。


    • 指定资产:点击 选择资产 以选择所选模型下的资产。在弹出窗口中,可以根据资产类型(设备/逻辑),产品,device key,Asset ID 和设备名称来搜索资产,从搜索结果中选择所需要的资产后,点击 确定


      可选择的最大指定资产数为 100。


  • 属性:当 触发器源IoT Hub 时,该功能模块生效。根据以上所选模型,进一步设定 属性 条件,以筛选当前 作用范围 内满足该条件的资产实例,缩小告警规则的适用范围。

    • 点击 添加条件 选择属性、运算符,并输入相应数值。

      • 属性:选择当前模型设备下的属性。
    • 点击 添加条件组,添加主条件下的子条件或子条件组。

      • 选择属性条件之间的关系。
        • :设备需满足所有属性条件才会被选中。
        • :设备只需满足所有条件之一就可被选中。


    更多条件或条件组可以根据需要添加。

    注解

    可添加的条件/条件组数是有限制的。有关使用限制,参见 使用限制


  • 作用范围:当 触发器源其他 时,根据以上所选的告警源选择告警规则适用的资产范围。选择 全部设备 或输入一个或多个资产 ID,用逗号隔开。


注解

只有第一个触发器支持在 作用范围 内选择 全部资产指定资产。后续的触发器,则只可以输入一个资产 ID。

触发器时效


如果 触发器 有多个指标,则需要指定一个时效,若超过了该时效,则条件将失效,不会触发告警。可以输入一个介于 60 秒和 24 小时(86400 秒)之间的整数 时效,也可以使用默认的 一直有效


../_images/alert_rule_trigger_validity_section.png

告警条件


根据所选触发器配置 告警条件


../_images/alert_rule_condition_section.png


  • 告警条件:当 触发器源IoT Hub > 资产测点/资产事件其他 > 告警源 > 指标 时,选择并设置条件触发告警。

    • 阈值:选择此选项可为已选的 触发器 设置阈值。

      • 点击 添加条件组,选择触发条件之间的关系。

        • :在满足所有条件时才触发告警。
        • :只需满足所有条件之一就可触发告警。
      • 点击 添加条件 并选择触发器、参数(仅适用于 资产事件)、运算符和类型( Value属性触发器)。

        • Value:输入条件阈值。
        • 属性:仅适用于 IoT Hub 触发器。所选模型中与所选测点具有相同数据类型的属性将在相应的下拉列表中列出,从而选择告警条件所需的一个。
        • 触发器:仅在 触发器 中设置了两个以上的指标,或设置了多个触发器时,此功能才会生效。如果两个触发器具有相同的数据类型,则未在告警条件中选择的触发器将在相应的下拉列表中列出。例如,如果在 触发器 选择了数据类型为 int 的两个触发器甲和乙,触发器甲是告警条件,触发器乙将显示在下拉列表中。

        注解

        为避免多测点告警过多导致的数据积压问题,新建多测点告警功能在 2.4.1 中暂不可用。


    • 无数值变新: 有数据刷新,但是数值在一定时间内都没有任何变化时触发告警。仅适用于单个指标为触发器时。

    • 使用表达式:使用触发器、属性、时序函数和运算符构造一个表达式作为告警条件。关于时序函数的更多信息,参见 时序函数


      ../_images/use_expression2.gif


      • 测点属性 构造表达式。

        • 可构造形如 cpu_used > cpu_core*0.8 的表达式,其中,cpu_used 为测点,cpu_core 为属性。


        ../_images/use_expression3.gif


        • 表达式中的 测点属性 的数据类型相同。
        • 当含有多个触发器,且触发器 1 为主触发器时:
          • 支持将 触发器 1 测点与触发器 1 属性作对比构造表达式;
          • 支持将 触发器 1 测点与触发器 2 属性作对比构造表达式;
          • 支持将 触发器 2 测点与触发器 2 属性做对比构造表达式。
          • 不支持将 触发器 2 测点与触发器 1 属性做对比构造表达式,因为当触发器 1 为主触发器时,其属性无法在未设置测点时被获取。

      注解

      如果表达式包含时序函数,则表达式中只能支持 1 个测点。


  • 告警条件:当 触发器源IoT > 设备状态 时,目前仅支持 离线 告警条件。

  • 时序:启用此功能来根据特定的时间触发告警。目前支持 滚动窗口滑动窗口。选择窗口时长,若在 条件 选择了 阈值,选择一个时序函数、操作符和输入一个值。更多信息,参见 时序告警

    注解

    该功能仅适用于含有单个指标的触发器。若在 触发器 选择了多个指标,该功能将被禁用。


    为避免时序告警过多导致的数据积压情况,新建时序告警功能在 2.4.1 中暂不可用。


  • 延后告警:设置时间(秒)以延迟触发告警,告警规则规定的触发条件持续达到设置的时间后,告警才会触发。满足条件时,“0” 值将立即触发告警。

告警恢复条件


  • 启用离散告警:若启用该功能,满足告警条件触发的告警将被立即恢复,且生成一条告警记录。告警的结束时间与告警触发事件相同。如果启用该功能,不能设置 延后告警告警屏蔽
  • 告警恢复:若启用该功能,告警将在触发条件对立面以外的自定义条件下被恢复。

告警详情


告警详情 部分可以设置更多信息,例如告警内容、级别、类型等。


../_images/alert_rule_details_section.png


  • 告警内容:为告警规则选择预设的告警内容,可包含触发告警的可能原因和解决方法,长度最大不超过 500。输入支持国际化,并且可以是文本或通过表达式使用指标的标识符返回其值。参见以下表达式示例。

    • ${pointId} 用于 int,string,float 等数据类型。

    • 如果存在多触发器,使用 trigger{n} 指定指标属于哪个触发器,例如 ${trigger2:pointId} 指定使用触发器 2 的指标。

    • ${pointId/parameterId} 用于带参数的 struct 数据类型。

  • 告警级别:根据业务需要,为告警规则选择预设的告警级别,如严重,警告,信息等。

  • 告警类型:从列表中选择一个告警类型或子类型。

  • 告警屏蔽:仅当 作用范围 为指定资产树或未启用 时序 时可用。开启告警屏蔽后,规则作用的资产树节点以下的子节点告警将被屏蔽,不再上报给 EnOS 应用门户。该选项可帮忙有效减少无效的告警。有关屏蔽行为的详细信息,参见 屏蔽告警

  • 保存告警记录:保存告警记录是默认启用的,该告警将在解除后保存为告警历史记录。如果需要,可在 告警 > 告警记录 搜索和查看历史记录。如果不想保存为历史记录,可关闭此开关,则解除后将无法找到告警被触发的任何记录。

附带信息


附带信息 部分让你根据 触发器设置 部分中选择的模型的属性值创建键值标签。通过输入标签的 Key 并从下拉列表中选择一个属性来创建标签,标签的 Value 将是该属性的当前值。


../_images/alert_rule_additional_info_section.png


单击 确认 以创建告警规则,创建成功的告警规则将在约 5 分钟后生效。


另外,还可以通过调用 Open API 接口为当前 OU 创建告警规则,创建成功的告警规则将同样出现在告警规则列表。更多信息,参见 有关 EnOS API


编辑告警规则


告警引擎 > 告警规则 页面创建的告警规则,可以通过每条告警规则对应的 编辑 图标 btn_edit,对除 规则编号 之外的内容进行编辑。


通过 Open API 接口创建的告警规则,在 告警引擎 > 告警规则 页面只能查看,不能编辑。


删除告警规则


告警引擎 > 告警规则 页面创建的告警规则,可以通过每条告警规则对应的 删除 图标 btn_delete 进行删除。若需要批量删除,可以勾选需要删除的规则后,点击上方的 批量操作 > 删除


通过 Open API 接口创建的告警规则,在 告警引擎 > 告警规则 页面不能删除。

结果


新建或编辑成功的告警规则将于 5 分钟左右生效。可以在 告警引擎 > 告警记录 页面的列表中查看触发的告警记录。