通常,每個作用中的規則都有一個規則實例 (或複本) 在「主動式相互關聯技術」引擎中執行。然而,有時不同的事件群組會需要相同的規則,而這些事件群組通常與不同的資源群組有關。分組鍵是一或多個事件屬性,或事件屬性的一部分,可以用來將已選取的事件分隔成不同群組,以作為群組進行唯一處理。<groupingKey> 元素會定義規則的分組鍵。<groupingKey> 元素的目的是針對分享共用性質 (如包含分組鍵之屬性的值所定義) 的每個事件群組,指引規則來建立個別規則實例 (或其複本)。
下列兩個實務範例說明分組鍵的重要性。
如果不使用分組鍵來定義序列規則,且從電腦 A 接收到 DB2down 事件,則來自任何電腦的 DB2up 事件都會完成該序列,但這不能達成預期的目的。然而,如果將分組鍵定義為 hostname 屬性,則會為已選取事件中 hostname 屬性的每個唯一值建立規則的唯一複本或實例。「主動式相互關聯技術」引擎會將每個事件傳送至正確的規則實例 (該事件之主機名稱值的規則實例)。因此,如果從電腦 A 接收到 DB2down 事件,則「主動式相互關聯技術」引擎會為電腦 A 建立規則實例。如果從電腦 B 接收到 DB2down 事件,則「主動式相互關聯技術」引擎會為電腦 B 建立第二個規則實例。當從電腦 B 接收到 DB2up 事件時,「主動式相互關聯技術」引擎會處理第二個規則實例中的該事件。序列完成,且因為來自電腦 B 的 DB2down 及 DB2up 事件已正確地相互關聯,所以會警示操作員。
可將分組鍵定義為使用者 ID。然後,會為每個唯一使用者 ID 建立新的規則實例。在唯一臨界值規則實例中會追蹤每個使用者的登入嘗試,每個實例都具有該使用者登入嘗試數目的不同計數。如果任何使用者 ID 在 5 分鐘內不正確的登入 10 次以上,則操作員會接收到警告。
如果針對規則所指定的所有事件類型中包含相同的屬性,則使用 <attributeName> 元素是定義分組鍵之最簡單且常用的方法。
<groupingKey> 具有下列屬性:
名稱 | 說明 | 資料類型 | 必要的嗎? |
---|---|---|---|
missingAttributeHandling | 定義規則在下列任一條件下必須執行的動作:
missingAttributeHandling 屬性的有效值為:
|
xsd:string | 否 |
<groupingKey> 包含下列元素。
元素 | 必要的或選用的? |
---|---|
<attributeAlias> | 下列其中一個元素是必要的。編碼下列多個元素是選用的。容許這三個元素出現多次。可以按任何次序編碼這些元素。 |
<attributeName> | |
<computedValue> |