イベント・セレクターは、一連のイベントを定義します。
イベント・セレクターは、一連のイベントをそのプロパティー・データ (属性またはサブエレメント) を基に定義する、正規表現です。 例えば、重大度が 30 (警告) より大きな特定のホストのすべてのイベントを指定するイベント・セレクターなどがあります。 イベント・セレクターは、イベント・グループの定義、フィルター基準の指定、およびイベント・サーバーの照会に使用されます。
コモン・ベース・イベントの仕様は XML に基づいているため、イベント・セレクターは XPath 構文のサブセットを使用して作成されます。 イベント・セレクターに使用することができる特定の構文は、以下の表にまとめられているように、そのイベント・セレクターの使用方法によって異なります。
イベント・セレクターの目的 | 構文 |
---|---|
イベント・グループの定義 | デフォルトのデータ・ストア・プラグインによってサポートされている XPath サブセットのみ |
イベント・アクセス・インターフェースを介したイベント照会およびパージ | デフォルトのデータ・ストア・プラグインによってサポートされている XPath サブセットのみ |
エミッター・フィルターの構成 | 有効な任意の XPath |
通知ヘルパー・インターフェースを介したサブスクリプション | 有効な任意の XPath |
XPath は、XML 文書の一部を識別するために使用される標準言語です。詳しくは、http://www.w3.org/TR/xpath にある XPath の仕様を参照してください。
CommonBaseEvent[@attribute = value]value には、数値、あるいは一重または二重引用符で囲んだストリングが入ります。
CommonBaseEvent[/subelement/@attribute = value]
XPath 演算子を使用する場合は、以下の一般的な規則に注意してください。
以下は、有効な XPath イベント・セレクターの例です。
XPath イベント・セレクター | セレクター定義 |
---|---|
CommonBaseEvent[@extensionName = 'ApplicationStarted'] | extensionName 属性 ApplicationStarted を持つすべてのイベント |
CommonBaseEvent[sourceComponentId/ @location = "server1"] | location 属性 server1 を持つ sourceComponentId エレメントを含むすべてのイベント |
CommonBaseEvent[@severity] | 値に関係なく severity 属性を持つすべてのイベント |
CommonBaseEvent[@creationTime < '2003-12-10T12:00:00-05:00' and @severity > 30] | 2003 年 12 月 10 日の米東部標準時正午より前に作成され、30 (警告) より大きい重大度を持つすべてのイベント |
CommonBaseEvent[contains(@msg, 'disk full')] | msg 属性内にフレーズ disk full があるすべてのイベント |
CommonBaseEvent[(@severity = 30 or @severity = 50) and @priority = 100] | severity 属性が 30 または 50 に等しく、priority が 100 に等しいすべてのイベント |
CommonBaseEvent[30 < @priority and contains('this message', @msg)]これは、代わりに以下のように書き換えることができます。
CommonBaseEvent[@priority > 30 and contains(@msg, 'this message')]
CommonBaseEvent[predicate_expression]CommonBaseEvent エレメントと関連付けられるのは、述部が単一の式のみです。 スタックされた述部はサポートされていません (例えば、CommonBaseEvent[@extensionName = "server_down"][@severity = 10])。
CommonBaseEvent[contextDataElement[@contextValue = "myContextValue"] /@contextId = "myContextId"]これは、代わりに以下のように書き換えることができます。
CommonBaseEvent[contextDataElement[@contextValue = "myContextValue" and @contextId = "myContextId"]]
CommonBaseEvent[extendedDataElements[@type = 'int' and children/@type = 'intArray' and children/@name = 'myName' and @value = 10]]これは、代わりにトップレベルと第 2 レベルの属性をグループ化して、以下のように書き換えることができます。
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"]]この例の場合、type 式は、括弧内の複合式の両方の部分に適用されます。 括弧内で別の type 式を指定しても、これをオーバーライドすることはできません。
CommonBaseEvent[extendedDataElements[values = "myVal" and starts-with(@type, 'string')]]