Normalerweise verfügt jede aktive Regel über eine Regelinstanz (oder Kopie), die in der ACT-Engine ausgeführt wird. Manchmal ist allerdings dieselbe Regel für verschiedene Ereignisgruppen erforderlich, die oft zu verschiedenen Ressourcengruppen gehören. Der Gruppierungsschlüssel besteht aus mindestens einem Ereignisattribut oder Teilen von Ereignisattributen, das bzw. die verwendet werden können, um die ausgewählten Ereignisse für eine einheitliche Verarbeitung als Gruppe in unterschiedliche Gruppen zu teilen. Das Element <groupingKey> definiert den Gruppierungsschlüssel für eine Regel. Das Element <groupingKey> weist die Regel an, für jede Gruppe von Ereignissen, die allgemeine Merkmale gemeinsam nutzen (die durch die Werte ihrer Attribute definiert sind, die den Gruppierungsschlüssel bilden), eine getrennte Regelinstanz (oder eine Kopie) zu erstellen.
Die folgenden beiden Szenarios verdeutlichen die Bedeutung des Gruppierungsschlüssels.
Wenn die Sequenzregel ohne den Gruppierungsschlüssel definiert wird und ein Ereignis "DB2down" von Computer A empfangen wird, würde ein Ereignis "DB2up" von einem beliebigen Computer die Sequenz beenden, was aber nicht beabsichtigt wäre. Wenn die Gruppierungsschlüssel jedoch als Attribut "hostname" definiert wurden, würde für jeden eindeutigen Wert des Attributs "hostname" in den ausgewählten Ereignissen eine eindeutige Kopie oder eine Instanz der Regel erzeugt. Die ACT-Engine würde jedes Ereignis an die richtige Regelinstanz senden (die Regelinstanz für den Wert "hostname" des Ereignisses). Wird also ein Ereignis "DB2down" von Computer A empfangen, würde die ACT-Engine eine Regelinstanz für Computer A erzeugen. Wenn ein Ereignis "DB2down" von Computer B empfangen wird, würde die ACT-Engine eine zweite Regelinstanz für Computer B erzeugen. Wenn ein Ereignis "DB2up" von Computer B empfangen wird, verarbeitet die ACT-Engine dieses Ereignis in der zweiten Regelinstanz. Die Sequenz ist vollständig, und der Operator wird benachrichtigt, weil die Ereignisse "DB2down" und "DB2up" von Computer B richtig korreliert werden.
Ein Gruppierungsschlüssel könnte als Benutzer-ID definiert werden. Anschließend würde für jede eindeutige Benutzer-ID eine neue Regelinstanz erzeugt. Jeder Anmeldeversuch eines Benutzers würde in einer eindeutigen Schwellenwertregelinstanz protokolliert, wobei jede Instanz über einen getrennten Zähler mit der Anzahl Anmeldeversuche dieses Benutzers verfügt. Der Operator würde eine Warnung erhalten, wenn eine beliebige Benutzer-ID zehn ungültige Anmeldeversuche in fünf Minuten überschreitet.
Wenn dasselbe Attribut in allen Ereignistypen vorhanden ist, die für eine Regel angegeben werden, ist es am einfachsten und gebräuchlichsten, einen Gruppierungsschlüssel mit dem Element <attributeName> zu definieren.
<groupingKey> hat das folgende Attribut:
Name | Beschreibung | Datentyp | Erforderlich? |
---|---|---|---|
missingAttributeHandling | Definiert die Aktion, die die Regel unter einer der folgenden Bedingungen ausführen muss:
Gültige Werte für das Attribut "missingAttributeHandling":
|
xsd:string | Nein |
<groupingKey> enthält die folgenden Elemente.
Element | Erforderlich oder optional? |
---|---|
<attributeAlias> | Eines dieser Elemente ist erforderlich. Die Codierung mehrerer Elemente ist optional. Mehrere Vorkommen aller drei Elemente sind zulässig. Diese Elemente können in beliebiger Reihenfolge codiert werden. |
<attributeName> | |
<computedValue> |