Planificar la correlación de sucesos supone comprender, o aprender, qué es
la correlación de sucesos y cómo puede aplicarse en su aplicación concreta.
Asegúrese de entender los siguientes conceptos:
Cada aplicación puede procesar un conjunto distinto de sucesos, según se describe en
los siguientes ejemplos:
- Ejemplo de una empresa de seguros
- En una empresa de seguros, los sucesos que hacen el seguimiento del flujo de trabajo a través del
proceso se reclamaciones pueden ser generados y correlacionados para determinar si los procesos de la
empresa se están completando a tiempo.
- Ejemplo de ventas
- En un tipo distinto de empresa, los resultados de ventas se pueden resumir periódicamente,
realizar informes, y compararlos con un objetivo para indicar el grado de consecución de los objetivos
de ventas para un periodo de tiempo determinado.
- Ejemplo del entorno de TI
- En un entorno de TI, un sistema de misión crítica puede generar un suceso cada minuto
para indicar que un servidor de bases de datos se está ejecutando con normalidad. Se pueden escribir
reglas de correlación para supervisar la recepción de estos sucesos de indicación de actividad y realizar
ciertas acciones de respuesta de regla si alguno de estos sucesos esperados no se recibe.
También debería conocer el formato de los sucesos que procesa su
aplicación. Active Correlation Technology proporciona clases y métodos Java para
acceder a los datos dentro de los sucesos que están siendo procesados por el motor
de Active Correlation Technology. Sin embargo, es importante tener un conocimiento básico
de los objetos de suceso subyacentes si desea utilizar estas clases y métodos para acceder
o cambiar los sucesos que están siendo procesados.
Para planificar la correlación de sucesos, realice los siguientes pasos:
- Determine los sucesos de su aplicación que desea correlacionar.
- Determine los patrones de regla para correlacionar los sucesos.
Un
patrón de regla representa una situación de correlación de sucesos específica y puede utilizarse
para correlacionar sucesos que contribuyan de algún modo a esa situación. Piense cuál es la
relación entre los sucesos que procesa su aplicación y los patrones de reglas definidos por el
lenguaje de reglas de Active Correlation Technology. Esto puede ayudarle
a decidir qué patrones de reglas necesitará.
Utilice siempre el patrón más adecuado para la situación de correlación de sucesos. Por ejemplo, si desea que una regla detecte una determinada secuencia de sucesos, no escriba código para incluir el comportamiento del patrón de secuencia en las acciones de respuesta de regla para una regla de filtrado. Alternativamente, utilice el patrón de secuencia para crear una regla de secuencia.
- Identifique las construcciones de cada patrón de regla que desea utilizar.
La siguiente información resume las construcciones principales del lenguaje
de reglas, aunque los detalles de cada uno son exclusivos para cada patrón de regla. Esta
información está organizada casi del mismo modo en que se presenta a través de
la GUI del constructor de reglas.
- Características
- La definición de las características de la regla, incluyendo el nombre de la regla, la descripción
y el patrón. Para obtener más detalles, consulte los siguientes temas:
- Variables
- La definición de las variables de regla, incluyendo el nombre, el tipo, la descripción y
la expresión de inicialización para cada variable. Para obtener más detalles, consulte Elemento variable.
- Selección de sucesos
- La definición de los criterios de determinan qué sucesos son aceptados para ser procesados
por la regla. Para obtener más detalles, consulte Elemento eventSelector.
- Clave de agrupación
- La definición de la clave de agrupación, que es la forma de indicar a la regla que cree una instancia de
regla (o una copia de sí misma) distinta para cada grupo de sucesos que compartan unas características
comunes. Para obtener más detalles, consulte Elemento groupingKey.
- Datos específicos del patrón
- La especificación del periodo de tiempo durante el cual una regla con estado se estará
procesando para coincidir con su patrón y la definición de aspectos exclusivos de ciertos
patrones de reglas con estado. Para obtener más detalles, consulte Elemento timeWindow.
Para la regla de cálculo, esto supone la definición del cálculo a aplicar a los sucesos
recogidos. Para obtener más detalles, consulte Elemento computeFunction.
Para
la regla de umbral, esto supone la definición del tipo de umbral y otra información
específica del tipo de umbral. Para obtener más detalles, consulte los siguientes temas:
- Respuestas de regla
- La definición de las acciones a realizar cuando la regla completa su proceso.
Para obtener más detalles, consulte los siguientes temas:
- Intervalo de activación
- La definición de cuándo se activa o se desactiva una regla. Para obtener más detalles, consulte Elemento activationInterval.
- Ciclo de vida
- La definición de las acciones a realizar, si las hay, en las cuatro fases principales
del ciclo de vida de una regla: carga, activación, desactivación y descarga.
Normalmente, no es necesario definir estas acciones. Para obtener más detalles, consulte Elemento lifeCycleActions.
- Identifique métodos Java y fragmentos de código asociados creados para ser llamados dentro de las expresiones. En lugar de escribir extensas porciones de código Java
dentro de las expresiones de regla, los creadores de las reglas, deberían utilizar métodos Java para llamar a los módulos externos. Estos módulos externos puede proporcionarlos la aplicación que incluye Active Correlation Technology o pueden ser creados por el creador de las reglas, si es necesario.
Los fragmentos de código asociados con cada uno de los métodos Java también deberían identificarse.
Para más información, consulte Prácticas recomendadas para codificar expresiones.