Elément groupingKey

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>).

Détails

Les deux scénarios suivants illustrent l'importance de la clé de groupement.

Scénario 1 :
Deux événements se produisent, un événement DB2down et un événement DB2up. Le programme DB2 est exécuté sur trois ordinateurs, A, B et C. Une règle de séquence est définie pour corréler un événement DB2down à un événement DB2up et alerter l'opérateur lorsque le programme DB2 s'arrête et ne redémarre pas.

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.

Scénario 2 :
Un événement pour un message Incorrect login attempted (Tentative de connexion incorrecte) se produit pour tous les ordinateurs dans un environnement particulier. Cet événement contient un ID utilisateur. Une règle de seuil est définie de sorte qu'un avertissement soit envoyé à l'opérateur si cet événement se produit plus de 10 fois en 5 minutes.

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.

Il existe d'autres variantes :
  • La clé de groupement peut être définie comme nom d'hôte, plutôt que comme ID utilisateur. Cette option permettrait de détecter un grand nombre de tentatives de connexion incorrectes sur un seul ordinateur.
  • La clé de groupement peut être définie comme une combinaison de nom d'hôte et d'ID utilisateur. Cette option permettrait de détecter une éventuelle tentative de piraterie par un ID utilisateur donné sur un ordinateur donné.

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.

Attributs

<groupingKey> possède les attributs suivants :

Tableau 1. Attributs de l'élément <groupingKey>
Nom Description Type de données Obligatoire ?
missingAttributeHandling Définit l'action que la règle doit appliquer dans l'une des conditions suivantes :
  • Lorsqu'un événement sélectionné possède un attribut qui est contenu dans la clé de groupement, mais dont la valeur est manquante
  • Lorsque l'expression contenue dans l'élément <computedValue> renvoie une valeur NULL. La règle traite cette valeur comme une valeur d'attribut manquante.
Les valeurs correctes pour l'attribut missingAttributeHandling sont :
  • ignoreEvent (valeur par défaut) : la règle ignore l'événement et n'applique aucune action.
  • ignoreAttribute : la règle accepte l'événement, mais ignore l'attribut dont la valeur est manquante. Le moteur Active Correlation Technology inclut alors une valeur de remplacement pour cet attribut.
xsd:string Non

Contenu dans

<groupingKey> est contenu dans les éléments suivants :

Contient

<groupingKey> contient les éléments suivants.

Tableau 2. Eléments contenus dans <groupingKey>
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>