Généralement, chaque règle active possède une instance de règle, ou copie, exécutée dans le moteur Active Correlation Technology. Cependant, une même règle est parfois nécessaire pour différents groupes d'événement souvent liés à différents groupes de ressources. La clé de groupement comporte un ou plusieurs attributs d'événement, ou parties d'attribut d'événement, qui peuvent être utilisés pour ordonner les événements sélectionnés en différents groupes, afin de permettre un traitement collectif unique pour chaque ensemble. L'élément <groupingKey> définit la clé de groupement d'une règle. Il a pour but de conduire une règle à créer une instance de règle (ou une copie) pour chaque groupe d'événements possédant des caractéristiques communes (définies par les valeurs des attributs d'événement contenus dans l'élément <groupingKey>).
Les deux scénarios suivants illustrent l'importance de la clé de groupement.
Si la règle de séquence est définie sans clé de groupement et qu'elle reçoit un événement DB2down provenant de l'ordinateur A, un événement DB2up provenant d'un ordinateur quelconque viendrait compléter la séquence, mais ne produirait pas l'effet voulu. Au contraire, si la clé de groupement était définie en tant qu'attribut de nom d'hôte, une copie ou une instance unique de la règle serait créée pour chaque valeur unique de cet attribut dans les événements sélectionnés. Le moteur Active Correlation Technology enverrait chaque événement vers l'instance de règle appropriée (celle qui correspondrait à la valeur de l'attribut de nom d'hôte de l'événement). Dès lors, si la règle recevait un événement DB2down provenant de l'ordinateur A, le moteur Active Correlation Technology créerait une instance de règle pour l'ordinateur A. Si elle recevait un événement DB2down provenant de l'ordinateur B, le moteur Active Correlation Technology créerait une seconde instance de règle pour l'ordinateur B. Un événement DB2up reçu depuis l'ordinateur B serait alors traité par le moteur dans la seconde instance de règle. La séquence serait complète et l'opérateur alerté, car les événements DB2down et DB2up reçus depuis l'ordinateur B seraient correctement corrélés.
Une clé de groupement peut être définie en tant qu'ID utilisateur. Une nouvelle instance de règle serait alors créée pour chaque ID utilisateur unique. Les tentatives de connexion de chaque utilisateur seraient suivies dans des instances de règle de seuil uniques, chaque instance procédant à un comptage à part pour l'utilisateur qui lui est associé. L'opérateur recevrait un avertissement si le nombre de connexions incorrectes d'un ID utilisateur était supérieur à 10 au cours d'un intervalle de 5 minutes.
Si le même attribut figure dans tous les types d'événement spécifiés pour une règle, l'utilisation de l'élément <attributeName> est le moyen le plus simple et le plus courant de définir une clé de groupement.
<groupingKey> possède les attributs suivants :
Nom | Description | Type de données | Obligatoire ? |
---|---|---|---|
missingAttributeHandling | Définit l'action que la règle doit appliquer dans l'une des conditions suivantes :
Les valeurs correctes pour l'attribut missingAttributeHandling sont :
|
xsd:string | Non |
<groupingKey> contient les éléments suivants.
Elément | Obligatoire ou facultatif ? |
---|---|
<attributeAlias> | Un de ces éléments est obligatoire. Le codage de plus d'un de ces éléments est facultatif. Plusieurs occurrences sont autorisées pour les trois éléments. Ces éléments peuvent être codés dans n'importe quel ordre. |
<attributeName> | |
<computedValue> |