Modèle de duplication

Une règle de duplication est définie par le modèle de duplication. Elle compte le deuxième événement et les suivants acceptés dans l'intervalle de temps défini, tout en omettant leur traitement par le jeu de règles. Il s'agit d'une règle avec état.

Présentation

Le modèle de duplication est généralement utilisé pour isoler des événements semblables (en double) au cours d'une période. Un événement en double est semblable, en un sens, à un événement précédent, mais il ne s'agit pas forcément d'une copie exacte de cet événement. Les événements sont des doublons dès qu'ils répondent aux critères de sélection d'événement pour la règle. La période est indiquée par une plage temporelle obligatoire, telle que définie par l'élément <timeWindow> dans le langage de règle.

Conditions d'exécution de la réponse à la règle

Avec le modèle de duplication, la réponse à la règle s'exécute dans les conditions suivantes :
  • Lorsque le premier événement est détecté, tel que défini par l'élément <onDetection>.
  • Lorsque chaque événement en double est traité, tel que défini par l'élément <onNextEvent>.
  • Au terme de la plage temporelle, tel que défini par l'élément <onTimeWindowComplete>.

Le premier événement déclenche l'action <onDetection> même si aucun événement en double n'a été reçu. La raison d'un tel comportement s'explique par le fait que vous souhaiterez peut-être réacheminer le premier événement et ignorer le traitement du jeu de règles des événements en double. Dans ce cas, vous pouvez ajouter une action de réponse à la règle qui réachemine le premier événement lorsque l'action <onDetection> est déclenchée pour la règle.

Le traitement par défaut des événements en double (le deuxième événement et les suivants) consiste à compter un événement en double, tout en omettant son traitement par le jeu de règles. Si vous souhaitez effectuer une action supplémentaire sur un événement en double, vous pouvez définir explicitement une action <onNextEvent>. Par exemple, dans certains cas, l'événement en double représente un événement susceptible d'être déjà journalisé dans une base de données ou un autre référentiel. Dès lors, vous souhaiterez peut-être coder une action <onNextEvent> pour supprimer l'événement en double de ces autres emplacements.

Une action <onTimeWindowComplete> peut être utilisée pour créer un enregistrement récapitulatif de tous les événements incluant le nombre de doublons qui ont été traités.

Exemple d'utilisation de ce modèle de règle

Supposons que le message "Refus de service" continue à être émis par le même type de ressource (un moniteur de sécurité). Ce message indique une éventuelle violation de sécurité. Une règle qui effectuerait les actions suivantes constituerait un bon exemple d'utilisation de règle définie par un modèle de duplication :
Une fois que le message "Refus de service" s'est affiché depuis le moniteur de sécurité, tous les doublons de cet événement se produisant au cours d'une période de 30 secondes sont comptés, mais ne sont pas envoyés à une console opérateur. De même, à la fin de la période de 30 secondes, la règle génère un événement indiquant le nombre de messages "Refus de service" qui ont été émis au cours de la période.
Référence associée
Récapitulatif relatif à la règle de duplication