Un selettore eventi definisce una serie di eventi.
Un selettore eventi è un'espressione regolare che definisce una serie di eventi basati sui relativi dati delle proprietà (attributi o elementi secondari). Ad esempio, un selettore eventi può specificare tutti gli eventi provenienti da un host specifico la cui gravità è superiore a 30 (avvertenza). I selettori eventi sono utilizzati per definire gruppi di eventi, specificare criteri di filtro ed interrogare il server degli eventi.
Dal momento che la specifica Common Base Event è basata su XML, i selettori eventi vengono scritti utilizzando una sottoserie della sintassi XPath. La sintassi specifica che è possibile utilizzare per un selettore eventi dipende dalla modalità di utilizzo del selettore eventi, come riepilogato nella seguente tabella.
Scopo del selettore eventi | Sintassi |
---|---|
Definizione gruppo eventi | Limitata al sottoinsieme XPath supportato dal plug-in archivio dati predefinito |
Query ed eliminazione degli eventi attraverso l'interfaccia event access | Limitata al sottoinsieme XPath supportato dal plug-in archivio dati predefinito |
Configurazione filtro del programma di output | Un qualsiasi XPath valido |
Sottoscrizione attraverso l'interfaccia NotificationHelper | Un qualsiasi XPath valido |
XPath è un linguaggio standard utilizzato per identificare parti di un documento XML; per maggiori informazioni, vedere la specifica XPath all'indirizzo http://www.w3.org/TR/xpath.
CommonBaseEvent[@attributo = valore]Il valore può essere un valore numerico o una stringa racchiusa tra singoli apici o tra virgolette.
CommonBaseEvent[/elemento secondario/@attributo = valore]
Quando si usano gli operatori XPath, tenere presenti le seguenti regole generali:
Gli esempi riportati di seguito rappresentano dei selettori eventi XPath validi.
Selettori eventi XPath | Definizione del selettore |
---|---|
CommonBaseEvent[@extensionName = 'ApplicationStarted'] | Tutti gli eventi con l'attributo extensionName ApplicationStarted |
CommonBaseEvent[sourceComponentId/ @location = "server1"] | Tutti gli eventi che contengono un elemento sourceComponentId con l'attributo location server1 |
CommonBaseEvent[@severity] | Tutti gli eventi con un attributo severity, indipendentemente dal suo valore |
CommonBaseEvent[@creationTime < '2003-12-10T12:00:00-05:00' and @severity > 30] | Tutti gli eventi creati prima di mezzogiorno EST del 10 dicembre 2003 e con gravità maggiore di 30 (avvertenza): |
CommonBaseEvent[contains(@msg, 'disco pieno')] | Tutti gli eventi con la frase disco pieno all'interno dell'attributo msg |
CommonBaseEvent[(@severity = 30 or @severity = 50) and @priority = 100] | Tutti gli eventi il cui attributo severity è uguale a 30 o 50, e la cui priority è uguale a 100. |
CommonBaseEvent[30 < @priority and contains('questo messaggio', @msg)]Potrebbe essere invece riscritto nel seguente modo:
CommonBaseEvent[@priority > 30 and contains(@msg, 'questo messaggio')]
CommonBaseEvent[espressione_predicato]È possibile associare solo un'unica espressione predicato all'elemento CommonBaseEvent. I predicati stack non sono supportati (ad esempio CommonBaseEvent[@extensionName = "server_down"][@severity = 10]).
CommonBaseEvent[contextDataElement[@contextValue = "myContextValue"] /@contextId = "myContextId"]Potrebbe essere invece riscritto nel seguente modo:
CommonBaseEvent[contextDataElement[@contextValue = "myContextValue" and @contextId = "myContextId"]]
CommonBaseEvent[extendedDataElements[@type = 'int' and children/@type = 'intArray' and children/@name = 'myName' and @value = 10]]È invece possibile riscriverlo come riportato di seguito, raggruppando insieme gli attributi di livello superiore e di secondo livello:
CommonBaseEvent[extendedDataElements[@type = 'int' and @value = 10 and children/@type = 'intArray' and children/@type = 'myName']]
CommonBaseEvent[extendedDataElements[values = "myVal" and @type = "string"]]
CommonBaseEvent[extendedDataElements[(values = "myVal" or values = "yourVal") and @type = "string"]]In quest'esempio, l'espressione type è valida per entrambe le parti dell'espressione composta nelle parentesi. Non è possibile ignorare questa limitazione specificando un'espressione type differente nelle parentesi.
CommonBaseEvent[extendedDataElements[values = "myVal" and starts-with(@type, 'string')]]