Grabación de selectores de sucesos

Un selector de sucesos define un conjunto de sucesos.

Un selector de sucesos es una expresión regular que define un conjunto de sucesos basado en los datos de propiedades (atributos o subelementos). Por ejemplo, un selector de sucesos puede especificar todos los sucesos de un sistema principal determinado cuya gravedad sea mayor que 30 (aviso). Los selectores de sucesos se utilizan para definir los grupos de sucesos, especifique los criterios de filtro y consulte el servidor de sucesos.

Dado que la especificación Common Base Event está basada en XML, los selectores de sucesos se graban utilizando un subconjunto de la sintaxis de XPath. La sintaxis específica que puede utilizar para un selector de sucesos depende de cómo se va a utilizar el selector de sucesos, tal como aparece resumido en la tabla siguiente.

Finalidad del selector de sucesos Sintaxis
Definición del grupo de sucesos Limitada al subconjunto de XPath soportado por el plug-in de almacén de datos por omisión.
Consulta y Depuración de procesos mediante la interfaz de acceso a suceso Limitada al subconjunto de XPath soportado por el plug-in de almacén de datos por omisión.
Configuración de filtros de emisor Cualquier XPath válida
Suscripción mediante la interfaz de ayuda de notificación Cualquier XPath válida
Nota: El plug-in de almacén de datos utiliza un subconjunto de la sintaxis de XPath. No obstante, si está utilizando un plug-in de almacén de datos distinto, es posible que de soporte a un subconjunto distinto de XPath. Los selectores de sucesos a los que escriba para obtener definiciones de grupo de sucesos y la interfaz de acceso a suceso deben utilizar la sintaxis a la que da soporte el plug-in de almacén de datos.

Escritura de selectores de sucesos XPath

XPath es un lenguaje estándar que se utiliza para identificar las partes de un documento XML. Para obtener más información, consulte la especificación XPath en http://www.w3.org/TR/xpath.

Un selector de sucesos XPath sencillo que especifica un valor de atributo tiene el formato siguiente:
CommonBaseEvent[@attribute = value]
value puede ser un valor numérico o una serie entrecomillada.
También puede especificar un atributo de un subelemento.
CommonBaseEvent[/subelement/@attribute = value]

Cuando se utilizan operadores XPath, recuerde las normas generales siguientes:

Los siguientes ejemplos son selectores de sucesos XPath válidos.

Selectores de sucesos XPath Definición de selector
CommonBaseEvent[@extensionName = 'ApplicationStarted'] Todos los sucesos con el atributo extensionName ApplicationStarted
CommonBaseEvent[sourceComponentId/ @location = "server1"] Todos los sucesos que contengan un elemento sourceComponentId con el atributo location server1
CommonBaseEvent[@severity] Todos los sucesos con un atributo severity, independientemente del valor
CommonBaseEvent[@creationTime < '2003-12-10T12:00:00-05:00' and @severity > 30] Todos los sucesos creados antes del mediodía (hora EST) del 10 de diciembre de 2003 y con una gravedad superior a 30 (aviso):
CommonBaseEvent[contains(@msg, 'disk full')] Todos los sucesos con la frase disk full que ocurran dentro del atributo msg
CommonBaseEvent[(@severity = 30 or @severity = 50) and @priority = 100] Todos los sucesos cuyo atributo severity sea igual a 30 o 50, y cuyo atributo priority sea igual a 100.

Escritura de los selectores de sucesos para el plug-in de almacén de datos por omisión

Si el selector de suceso puede utilizarse para definir un grupo de sucesos o consultar el almacén de datos persistente, está sujeto a las restricciones del plug-in de almacén de datos por omisión. Estas restricciones son las siguientes:
  • Una propiedad de suceso puede sólo puede especificarse en el lado izquierdo de un operador o una función XPath. El valor del lado derecho de un operador debe ser un valor literal. El ejemplo siguiente no es un selector de suceso válido:
    CommonBaseEvent[30 < @priority and 
                    contains('este mensaje', @msg)]
    En cambio, se puede volver a escribir como aparece a continuación:
    CommonBaseEvent[@priority > 30 and 
                    contains(@msg, 'este mensaje')]
  • Únicamente se da soporte a las siguientes funciones XPath:
    • contains
    • starts-with
    • false
    • true
    • not
  • No se da soporte al operador de unión (|).
  • Un selector de suceso debe tener el siguiente formato:
    CommonBaseEvent[expresión_predicado]
    Sólo puede asociarse una única expresión de predicado con el elemento CommonBaseEvent. No se da soporte a los predicados apilados (por ejemplo, CommonBaseEvent[@extensionName = "server_down"][@severity = 10]).
  • Un predicado sólo puede asociarse con el último paso de una vía de acceso de ubicación. El ejemplo siguiente no es un selector de suceso válido:
    CommonBaseEvent[contextDataElement[@contextValue = "miValorContexto"]
                    /@contextId = "miIdContexto"]
    En cambio, se puede volver a escribir como aparece a continuación:
    CommonBaseEvent[contextDataElement[@contextValue = "miValorContexto"
                    and @contextId = "miIdContexto"]]
  • Si un selector de sucesos hace referencia a las propiedades de los elementos de datos ampliados que estén a diferentes niveles de la jerarquía de contenedor XML, estos elementos deben agruparse juntos según el nivel. El ejemplo siguiente no es un selector de suceso válido, porque las referencias a los atributos type y value (ambos de nivel superior) de extendedDataElements están separados:
    CommonBaseEvent[extendedDataElements[@type = 'int' and
                                         children/@type = 'intArray' and
                                         children/@name = 'miNombre' and
                                         @value = 10]]
    En cambio, se puede volver a escribir del siguiente modo, agrupando juntos los atributos de nivel superior y de segundo nivel:
    CommonBaseEvent[extendedDataElements[@type = 'int' and
                                         @value = 10 and
                                         children/@type = 'intArray' and
                                         children/@type = 'miNombre']]
  • No se da soporte a los índices (por ejemplo, CommonBaseEvent[extendedDataElements[1]]).
  • No se da soporte a los caracteres comodín (por ejemplo, CommonBaseEvent[extendedDataElements/*/children/values = "text"]).
  • Al hacer referencia a la propiedad values de un elemento de datos ampliados, debe especificar no sólo el valor, sino también el tipo de la propiedad:
    CommonBaseEvent[extendedDataElements[values = "miVal"
      and @type = "string"]]
    Puede especificar el tipo para varias comparaciones dentro de una expresión compuesta, agrupándolas mediante paréntesis:
    CommonBaseEvent[extendedDataElements[(values = "miVal" or
                                          values = "tuVal") and
                                          @type = "string"]]
    En este ejemplo, la expresión type se aplica a ambas partes de la expresión compuesta entre paréntesis. No puede sobrescribir esta expresión mediante la especificación de una expresión type distinta entre paréntesis.
    También puede agrupar varios tipos relacionados mediante el uso de las funciones starts-with o contains. Por ejemplo, la siguiente expresión coincidirá con una propiedad con el tipo string o stringArray:
    CommonBaseEvent[extendedDataElements[values = "miVal" and
                                         starts-with(@type, 'string')]]

Condiciones de uso |


(c) Copyright IBM Corporation 2005, 2006.
Este centro de información está basado en tecnología Eclipse (http://www.eclipse.org)