規則最基本的組成部分為事件選擇、分組鍵、有狀態之規則的時間範圍、 規則回應、啟用間隔,以及生命週期動作。規則還包括表示式及變數。表示式是包含自訂邏輯的程式碼,您可以將這些自訂邏輯新增至規則。
事件選擇準則可決定規則會接受哪些事件來進行處理。<eventSelector> 元素會為規則定義事件選擇準則。事件選擇會套用至所有規則 (但是由計時器型樣所定義的那些規則除外)。因為計時器規則不處理事件,所以它不包含事件選擇準則。
通常,每個作用中的規則都有一個規則實例 (或複本) 在「主動式相互關聯技術」引擎中執行。然而,有時不同的事件群組會需要相同的規則,而這些事件群組通常與不同的資源群組有關。分組鍵是針對具有相同性質的每個事件群組,指引規則建立個別規則實例 (或其複本) 的方法。
分組鍵可視為是另一種形式的事件選擇。若使用分組鍵來定義規則,且規則收到的事件具有由分組鍵來定義的性質,則會將該事件傳送到正在處理具有相同性質之事件的規則實例。例如,您可以定義一個規則來收集類型為 Audit Failure 的所有安全事件,並將分組鍵定義為事件的 hostname 屬性。現在可以多次使用規則,讓 hostname 屬性的每個唯一值,都執行個別的規則複本。您也可以監視接收 Audit Failure 事件的所有系統,以判定在 2 分鐘的時段內,每個主機名稱是否都會發生 10 次以上此類事件。
<groupingKey> 元素會定義規則的分組鍵,且該元素只對收集、計算、重複、序列及臨界值型樣所定義的規則有效。
因為有狀態的規則會與在特定時段內發生的多個事件產生關聯, 所以有狀態之規則的基本組成部分是時間範圍 (由 <timeWindow> 元素來定義)。時間範圍會指定一個時段,在此時段內,有狀態的規則會進行比對其型樣的處理程序。
啟用間隔會定義規則處於作用中及非作用中的時間。<activationInterval> 元素會定義規則的啟用間隔。
規則可以在離散的時間點上或者依特定事件啟用或停用。
如果您指定規則在離散的時間點上且 依特定事件啟用或停用,則會根據最先發生的是時間點或事件的接收,來啟用或停用該規則。然而,在此情況下,規則在其整個生命週期中可能會被多個事件啟用或停用。例如,規則可能依事件啟用、停用、在定義的時間點上啟用、再停用,然後依其他事件啟用。
<activationByGroupingKey> 元素是內含在 <activationInterval> 元素中的一個元素。<activationByGroupingKey> 元素包含的元素可以指定事件來啟用及停用 <groupingKey> 元素所定義的規則實例。
生命週期動作會定義在規則生命週期的下列四個主要階段要採取的動作:載入、啟用、停用及卸載。