Elemento groupingKey

Normalmente, cada regla activa tiene una instancia de regla, o una copia, ejecutándose en el motor de Active Correlation Technology. Sin embargo, a veces la misma regla es necesaria para distintos grupos de sucesos, que a menudo están relacionados con distintos grupos de recursos. La clave de agrupación consiste en uno o más atributos de suceso, o partes de atributos de suceso, que pueden utilizarse para separar los sucesos seleccionados en distintos grupos y así procesarlos conjuntamente como grupo. El elemento <groupingKey> define la clave de agrupación para una regla. El propósito del elemento <groupingKey> es indicar a una regla que cree una instancia de regla (o una copia de sí misma) distinta para cada grupo de sucesos que comparta características comunes (definidas por los valores de sus atributos que conforman la clave de agrupación).

Detalles

Los dos siguientes casos prácticos ilustran la importancia de la clave de agrupación.

Caso 1:
Tienen lugar dos sucesos, un suceso DB2down y un suceso DB2up. El programa DB2 se está ejecutando en tres sistemas: A, B, y C. Se ha definido una regla de secuencia para correlacionar un suceso DB2down con un suceso DB2up y para alertar al operador cuando el programa DB2 se detenga y no se reinicie.

Si la regla de secuencia se definiera sin clave de agrupación, y se recibiera un suceso DB2down desde el sistema A, completaría la secuencia un suceso DB2up desde cualquiera de los sistemas, pero esto no conseguiría el objetivo que se pretendía. Sin embargo, si se definiera el atributo hostname como clave de agrupación, se crearía una copia o instancia exclusiva de la regla para cada valor exclusivo del atributo hostname en los sucesos seleccionados. El motor de Active Correlation Technology enviaría cada suceso a la instancia de regla correcta (la instancia de regla correspondiente al valor de hostname de ese suceso). En este caso, pues, si se recibiera un suceso DB2down desde el sistema A, el motor de Active Correlation Technology crearía una instancia de regla para el sistema A. Si se recibiera un suceso DB2down desde el sistema B, el motor de Active Correlation Technology crearía una segunda instancia de regla para el sistema B. Y cuando se recibiera un suceso DB2up desde el sistema B, el motor de Active Correlation Technology procesaría ese suceso en la segunda instancia de la regla. La secuencia se completaría y se alertaría al operador porque los sucesos DB2down y DB2up desde el sistema B se habrían correlacionado correctamente.

Caso 2:
Tiene lugar un suceso para un mensaje Incorrect login attempted en todos los sistemas en un entorno particular. El suceso contiene un ID de usuario. Se ha definido una regla de umbral para emitir un aviso al operador si este suceso tiene lugar más de 10 veces en 5 minutos.

Se podría definir el ID de usuario como clave de agrupación. En ese caso, se crearía una instancia de regla para cada ID de usuario exclusivo. Cada intento de inicio de sesión de cada usuario se contabilizaría en una instancia de regla de umbral exclusiva, y cada instancia llevaría un recuento separado del número de intentos de inicio de sesión de su usuario. El operador recibiría un aviso si algún ID de usuario excediera de 10 intentos de inicio de sesión incorrectos en 5 minutos.

Otras variaciones de esta idea podrían ser:
  • Se podría definir el nombre del sistema principal en vez del ID de usuario como clave de agrupación. Esta opción detectaría un elevado número de intentos de inicio de sesión desde un mismo sistema.
  • Se podría definir como clave de agrupación una combinación del nombre de sistema principal y el ID de usuario. Esta opción detectaría un intento de ataque potencial por un ID de usuario específico contra un sistema en concreto.

Si el mismo atributo está presente en todos los tipos de suceso especificados para una regla, la forma más sencilla y común de definir una clave de agrupación es utilizando el elemento <attributeName>.

Atributos

<groupingKey> tiene el siguiente atributo:

Tabla 1. Atributos del elemento <groupingKey>
Nombre Descripción Tipo de datos ¿Obligatorio?
missingAttributeHandling Define la acción que la regla debe realizar bajo alguna de estas condiciones:
  • Cuando un suceso seleccionado tiene un atributo que forma parte de la clave de agrupación pero falta el valor para ese atributo
  • Cuando la expresión dentro del elemento <computedValue> devuelve un valor nulo. La regla trata este valor nulo como un valor de atributo que falta.
Los valores válidos para el atributo missingAttributeHandling son:
  • ignoreEvent (el valor predeterminado), que significa que la regla ignora el suceso y no realiza ninguna acción sobre él.
  • ignoreAttribute, significa que la regla acepta el suceso pero ignora el atributo al que le falta el valor. En ese caso, el motor de Active Correlation Technology incluye un valor substitutivo para ese atributo.
xsd:string No

Contenido en

<groupingKey> está contenido en los siguientes elementos:

Contiene

<groupingKey> contiene los siguientes elementos.

Tabla 2. Elementos contenidos en el elemento <groupingKey>
Elemento ¿Obligatorio u opcional?
<attributeAlias> 1 de estos elementos es obligatorio. Es opcional codificar más de 1 de estos elementos. Se permiten múltiples ocurrencias de todos estos tres elementos. Estos elementos se pueden codificar en cualquier orden.
<attributeName>
<computedValue>