Normalmente, cada regra ativa possui uma instância de regra, ou cópia, em execução no mecanismo da Tecnologia ACT. No entanto, às vezes, a mesma regra é necessária para grupos diferentes de eventos, relacionados, com freqüência, a diferentes grupos de recursos. A chave de agrupamento é um ou mais atributos de eventos, ou partes de atributos de eventos, que podem ser utilizados para separar os eventos selecionados em diferentes grupos para processamento exclusivo como um grupo. O elemento <groupingKey> define a chave de agrupamento de uma regra. A finalidade do elemento <groupingKey> é direcionar a regra para criar uma instância de regra separada (ou uma cópia de si mesma) para cada grupo de eventos que compartilham características comuns (conforme definido pelos valores de seus atributos que compõem a chave de agrupamento).
Os dois cenários a seguir ilustram a importância da chave de agrupamento.
Se a regra de seqüência for definida sem a chave de agrupamento e um evento DB2down for recebido do computador A, um evento DB2up de qualquer um dos computadores completará a seqüência, mas não realizará o que foi planejado. No entanto, se a chave de agrupamento tiver sido definida como o atributo de nome do host, uma cópia ou instância exclusiva da regra seria criada para cada valor exclusivo do atributo de nome do host nos eventos selecionados. O mecanismo da Tecnologia ACT enviaria cada evento para a instância de regra correta (a instância de regra do valor de nome do host desse evento). Portanto, se um evento DB2down for recebido do computador A, o mecanismo da Tecnologia ACT criará uma instância de regra para o computador A. Se um evento DB2down for recebido do computador B, o mecanismo da Tecnologia ACT criará uma segunda instância de regra para o computador B. Quando um evento DB2up for recebido do computador B, o mecanismo da Tecnologia ACT processará esse evento na segunda instância da regra. A seqüência estará completa e o operador será alertado porque os eventos DB2down e DB2up do computador B estão correlacionados corretamente.
Uma chave de agrupamento poderia ser definida como o ID de usuário. Em seguida, uma nova instância de regra seria criada para cada ID de usuário exclusivo. As tentativas de login de cada usuário seriam acompanhadas em uma instância de regra de limite exclusiva, com cada instância tendo uma conta separada do número de tentativas de login desse usuário. O operador receberia um aviso se algum ID de usuário excedesse 10 logins incorretos em 5 minutos.
Se o mesmo atributo estiver em todos os tipos de eventos especificados para uma regra, o uso do elemento <attributeName> será a maneira mais simples e mais comum de definir uma chave de agrupamento.
<groupingKey> possui o seguinte atributo:
Nome | Descrição | Tipo de dado | Obrigatório? |
---|---|---|---|
missingAttributeHandling | Define a ação que a regra deve executar sob uma
destas condições:
Os valores válidos para o atributo missingAttributeHandling são:
|
xsd:string | Não |
<groupingKey> contém os elementos a seguir.
Elemento | Obrigatório ou opcional? |
---|---|
<attributeAlias> | 1 desses elementos é obrigatório. Codificar mais de 1 desses elementos é opcional. São permitidas várias ocorrências dos três elementos. Esses elementos podem ser codificados em qualquer ordem. |
<attributeName> | |
<computedValue> |