Alertas: Lenguaje de procesamiento de eventos (EPL)

Document created by RSA Information Design and Development on Apr 23, 2018
Version 1Show Document
  • View in full screen mode
 

En este tema se describe Event Processing Language (EPL), un lenguaje declarativo para tratar con datos de eventos basados en tiempo de alta frecuencia. ESA utiliza Event Processing Language (EPL), un lenguaje declarativo para tratar con datos de eventos basados en tiempo de alta frecuencia. Se utiliza para filtrado expreso, agregación y se une a ventanas posiblemente deslizantes de varios flujos de eventos. EPL también incluye una semántica de patrones para expresar la causalidad temporal compleja entre eventos. Puede ejecutar las siguientes funciones, entre otras:

  • Filtrar evento
  • Alerta sobre supresiones
  • Calcular porcentajes o raciones
  • Promediar, contar, minimizar y maximizar durante un periodo de tiempo determinado
  • Correlacionar eventos que llegan en varios flujos
  • Correlacionar eventos que llegan dañados
  • Activar o desactivar ventanas
  • Soporte para Seguido por y No seguido por
  • Soporte de filtro Regex

Las bases de datos requieren una solicitud explícita para devolver datos importantes y que no son aptas para migrar datos dado que cambian. El desarrollador debe implementar la lógica temporal y de agregación por sí mismo. En cambio, el motor EPL proporciona una mayor abstracción e inteligencia y puede considerarse como una base de datos puesta al revés: En lugar de almacenar los datos y ejecutar consultas contra los datos almacenados, EPL permite a las aplicaciones almacenar consultas y ejecutar continuamente los datos a través de ellas. La respuesta del motor EPL es en tiempo real cuando ocurren condiciones que coinciden con las consultas definidas por el usuario.

Las reglas avanzadas de ESA requieren el uso correcto de caracteres en mayúsculas y minúsculas, pero en la vista Investigation, todos los caracteres se convierten a minúsculas. Sin embargo, es posible que los metadatos no estén en minúsculas, a pesar de lo que muestra la vista Investigation. Para verificar el uso correcto de mayúsculas y minúsculas, RSA recomienda utilizar la función toLowerCase(). Por ejemplo,

@RSAAlert(oneInSeconds=0)

SELECT * FROM Event(

/* Statement: Download PDF File */

(filetype.toLowerCase() IN ( 'pdf' ) AND medium IN ( 1 ))

OR

/* Statement: Download EXE File */

(filetype.toLowerCase() IN ( 'windows_executable' , 'x86 pe' , 'windows executable' ) AND medium IN ( 1 ))

).win:time(5 Minutes)

MATCH_RECOGNIZE (

PARTITION BY ip_src

MEASURES E1 as e1_data , E2 as e2_data

PATTERN (E1+ E2)

DEFINE

E1 as (E1.filetype.toLowerCase() IN ( 'pdf' ) AND E1.medium IN ( 1 )),

E2 as (E2.filetype.toLowerCase() IN ( 'windows_executable' , 'x86 pe' , 'windows executable' ) AND E2.medium IN ( 1 ))

Para los propósitos de la ayuda en línea, se utilizan declaraciones básicas para mostrar la configuración de ESA; sin embargo, para obtener más información acerca de cómo escribir declaraciones de EPL, el sitio http://www.espertech.com ofrece cursos y ejemplos. 

Nota: ESA es compatible con Esper versión 5.3.0.

You are here
Table of Contents > Agregar reglas a la Biblioteca de reglas > Agregar una regla de EPL avanzado > Lenguaje de procesamiento de eventos (EPL)

Attachments

    Outcomes