groupingKey 元素

通常情况下,每个活动的规则都具有一个正在活动关联技术引擎中运行的规则 实例或副本。然而,同一规则有时为不同的事件组所需,而不同的事件组一般与不同的资源组相关联。组密钥是一个或多个事件属性,或者是事件属性的组成部分,可用于将选定的事件分到不同的组中,以便按组进行不同处理。<groupingKey> 元素定义规则的组密钥。<groupingKey> 元素的用途是指定规则针对共享公共特性(如构成组密钥的属性的值所定义)的每组事件 创建不同的规则实例(或其副本)。

详细信息

以下两个场景将说明组密钥的重要性。

场景 1:
发生 2 个事件,DB2down 事件 和 DB2up 事件。DB2® 程序在名为 A、B 和 C 的 3 台计算机上运行。序列规则被定义为将 DB2down 事件与 DB2up 事件相关,并在 DB2 程序停止且不重新启动时提醒操作员。

如果将该序列规则定义为不带有组密钥,且从计算机 A 接收到 DB2down 事件, 则来自上述任一计算机的 DB2up 事件都将完成该序列,但这将不会实现预期目标。然而, 如果已将组密钥定义为主机名属性,则将为选定事件中主机名属性的每个唯一的值创建规 则的唯一副本或实例。活动关联技术引擎将把每个事件发送至正确的规则实例(该事件的 主机名值的规则实例)。 因此,如果从计算机 A 接收到 DB2down 事件,则活动关联技术引擎将为计算机 A 创建 一个规则实例。如果从计算机 B 接收到 DB2down 事件,则活动关联技术引擎将为计算 机 B 创建第二个规则实例。当从计算机 B 接收到 DB2up 事件时,活动关联技术引擎将 在这第二个规则实例中处理该事件。由于来自计算机 B 的 DB2down 和 DB2up 事件已正确关联,因此该序列完成,并且操作员接收到提醒。

场景 2:
在特定环境中,所有计算机 上发生 Incorrect login attempted 消息的事件。该事件包含用户标识。阈值 规则已定义为如果该事件在 5 分钟内发生次数超过 10 次,则将对操作员发出警告。

组密钥可定义为用户标识。然后,将为每个唯一的用户标识创建新的规则实例。 将通过唯一的阈值规则实例来跟踪每个用户的登录尝试,每个实例对于该用户的登录尝试次数都具有单独的计数。如果任何用户标识 5 分钟内不正确登录的次数大于 10,操作员将接收到警告。

这一概念的其他变化形式包括:
  • 组密钥可定义为主机名,而非用户标识。该选项可检测单台计算机上较多次数的不正 确登录尝试。
  • 组密钥可定义为主机名和用户标识的组合。该选项可检测特定用户标识对特定计算机的 潜在入侵尝试。

如果为规则指定的所有事件类型中存在同一属性,则使用 <attributeName> 元素 来定义组密钥是最简单且最常见的方式。

属性

<groupingKey> 具有以下属性:

表 1. <groupingKey> 元素的属性
名称 描述 数据类型 必需?
missingAttributeHandling 定义规则在以下某个情况下必须执行的操作:
  • 当选定事件具有参与组密钥中的属性但该属性的值缺失时
  • 当 <computedValue> 元素中的表达式返回空值时。规则将把该空值视为缺失属性值。
missingAttributeHandling 属性的有效值为:
  • ignoreEvent(缺省值),表明规则将忽略该事件并对其不执行操作。
  • ignoreAttribute,表明规则将接受该事件,但忽略带有缺失值的属性。 活动关联技术引擎随后将包含该属性的替换值。
xsd:string

包含于

包含

<groupingKey> 包含以下元素。

表 2. <groupingKey> 元素中包含的元素
元素 必需或可选?
<attributeAlias> 以下某个元素是必需的。编写以下元素中的多个元素是可选的。 允许所有这 3 个元素多次出现。可按任何顺序编写这些元素。
<attributeName>
<computedValue>