イベントフィルターの文法
イベントフィルターは,イベントIDや発行元ユーザー名などをキーにして,JP1イベントをフィルタリングします。イベントフィルターを設定する個所を次に示します。
-
転送設定ファイル(forward)
-
属性付加設定ファイル(recv_add_extattr,send_add_extattr)
-
ローカルアクション実行定義ファイル(jbslcact.conf)
-
jevexportコマンド
-
JP1イベント取得関数(JevGetOpen)
- 〈このページの構成〉
イベントフィルターの書式
イベントフィルターは一つ以上の「条件文群」の集まりです。条件文群は一つ以上の「条件文」の集まりです。条件文は1行で表され,条件文を並べることで条件文群が構成されます。条件文群同士の間には「OR」とだけ記述した行を挿入します。なお,1行の最大長は1,024バイトです。一つのイベントフィルター全体の最大長は,64キロバイトです。
条件文群は条件文群を構成する条件文がすべて成立すると成立します。イベントフィルターは,イベントフィルターを構成する条件文群のどれか一つが成立すると成立します。
イベントフィルターの書式の概念を次の図に示します。
JP1/Base 08-50以降では,イベントフィルターに除外条件を記述できます。
抽出条件が成立するJP1イベントのうち,特定のJP1イベントを除外したい場合に記述します。
抽出条件と除外条件の間には「EXCLUDE」とだけ記述した行を挿入します。「EXCLUDE」は,一つのフィルターに一つだけ記述でき,「EXCLUDE」より前に記述された条件文群は抽出条件,「EXCLUDE」より後ろに記述された条件文群は除外条件となります。除外条件に記述する条件文の書式は,抽出条件と同じです。
除外条件は省略できるため,以前のバージョンで作成したフィルターをJP1/Base 08-50以降でもそのまま使用できます。
条件文群が未定義の場合は無条件に条件が成立します。ただし,EXCLUDE以下の除外条件が未定義の場合にはEXCLUDEは無視されます。
転送設定ファイルについては,抽出条件の未定義は許可しておらず,抽出条件が未定義の場合はエラーとなります。
除外条件や転送設定ファイルの抽出条件にORだけを定義した場合やORの前後の条件文群のいずれかを未定義した場合には書式誤りとはならず,無条件に条件が成立しますので注意してください。
条件文の書式
条件文の書式は次の形式で記述します。
属性名△比較キーワード△オペランド1△オペランド2△…
△は区切りで,一つ以上の連続した半角のスペースまたはタブを示します。オペランドを複数指定した場合は,どれか一つに当てはまるときに条件文が成立します。オペランドとして,半角スペース,タブ,CR,LFおよび%は通常の方法では使用できませんが,次に示すように2桁の16進数で表現できます。
-
半角スペース:%20
-
タブ:%09
-
CR:%0d
-
LF:%0a
-
%:%25
また,半角スペース,タブ,CR,LFおよび%以外の文字も16進数で表現できます。
- 注意事項
-
-
条件文に機種依存文字が含まれる場合,正しく比較できません。
-
Windowsで比較キーワードにREGEXを使用していて,正規表現を拡張していない場合,LFには"%0a"ではなく,"¥n"を指定してください。
-
属性名
属性名 |
内容 |
型および形式 |
---|---|---|
B.SEQNO |
イベントDB内通し番号 |
数値(0〜2,147,483,647) |
B.ID |
イベントID |
イベントID※1 |
B.PROCESSID |
発行元プロセスID |
数値(0〜2,147,483,647) |
B.TIME |
登録時刻 |
数値 (0〜4,294,967,295 =UTC1970年1月1日00:00:00からの秒数) |
B.ARRIVEDTIME |
到着時刻 |
数値 (0〜4,294,967,295 =UTC1970年1月1日00:00:00からの秒数) |
B.REASON |
イベントDBへの登録要因 |
数値(1〜4) |
B.USERID |
発行元ユーザーID |
数値(-1〜2,147,483,647) |
B.GROUPID |
発行元グループID |
数値(-1〜2,147,483,647) |
B.USERNAME |
発行元ユーザー名 |
文字列※3 |
B.GROUPNAME |
発行元グループ名 |
文字列※3 |
B.SOURCESERVER |
発行元イベントサーバ名 |
文字列※3 |
B.DESTSERVER |
送信先イベントサーバ名 |
文字列※3 |
B.SOURCESEQNO |
発行元別通し番号 |
数値(0〜2,147,483,647) |
B.CODESET |
コードセット |
文字列※3 |
B.MESSAGE |
メッセージ |
文字列※3 |
E.拡張属性名※2 |
拡張属性 |
文字列※3 |
比較キーワード
比較キーワード |
オペランドの数 |
条件 |
---|---|---|
IN |
1以上 |
属性値がオペランドのどれかと一致する。
|
NOTIN |
1以上 |
比較キーワードINの否定。 例:B.USERNAME NOTIN hitachi 例:B.SEQNO NOTIN 1004959 例:B.ID NOTIN 00003A71 |
BEGIN |
1以上 |
属性値が文字列型であり,オペランドに指定した文字列のどれかで始まると成立。属性値が数値型またはイベントIDの場合は常に不成立。 例:B.MESSAGE BEGIN KAVA |
RANGE |
2 |
以上のどれでもない場合は不成立。 |
TRANGE |
2 |
次の条件を満たすと成立する。
例:B.TIME TRANGE 20140716010000 20140716013000 以上の場合でないときは不成立。 |
DEFINED |
0 |
属性名が拡張属性名を表し,指定の拡張属性が定義されていると成立。定義されていないと不成立。属性名が基本属性を表す場合は常に成立。 例:E.PRODUCT_NAME DEFINED |
NOTDEFINED |
0 |
比較キーワードDEFINEDの否定。 例:E.PRODUCT_NAME NOTDEFINED |
SUBSTR |
1以上 |
属性値が文字列型であり,オペランドに指定した文字列のどれかが含まれていると成立。属性値が数値型,またはイベントIDの場合は常に不成立。 例:B.MESSAGE SUBSTR エラー |
NOTSUBSTR |
1以上 |
比較キーワードSUBSTRの否定。 例:B.MESSAGE SUBSTR 警告 |
REGEX |
1以上 |
正規表現記述用比較キーワード。 属性値が文字列型であり,オペランドに指定した正規表現のどれかと一致すると成立。 例:B.MESSAGE REGEX KAV.[0-9][0-9][0-9][0-9]-E 正規表現については「付録F 正規表現の文法」を参照のこと。 |
WITHIN※ |
2 |
|
イベントフィルターの記述例
- 比較キーワード「IN」の記述例
-
- イベントIDが基本部111,拡張部0のJP1イベントを選択します。
B.ID IN 111:0 または B.ID IN 111 または B.ID IN 00000111:00000000
- 発行元ユーザーIDが103のJP1イベントを選択します。
B.USERID IN 103 または B.USERID RANGE 103 103
- 発行元イベントサーバ名がreysolのJP1イベントを選択します。
B.SOURCESERVER IN reysol
- 比較キーワード「BEGIN」の記述例
-
- メッセージがKAJPまたはKAVAで始まるJP1イベントを選択します。
B.MESSAGE BEGIN KAJP KAVA
- メッセージがHello, worldで始まるJP1イベントを選択します。なお,「,」と「w」の間の%20はスペースを示します。
B.MESSAGE BEGIN Hello,%20world
- 拡張属性に関する記述例
-
- 拡張属性の属性名がTASK_NAMEで,その値が「在庫管理」のJP1イベントを選択します。
E.TASK_NAME IN 在庫管理
- 属性名がTASK_NAMEの拡張属性が設定(値は問わない)されているJP1イベントを選択します。
E.TASK_NAME DEFINED
- 複数の条件文(AND条件)の記述例
-
- イベントIDが222:0以外で,かつ発行元ユーザー名がhanakoのJP1イベントを選択します。
B.ID NOTIN 222 B.USERNAME IN hanako
- 複数の条件文群(OR条件)の記述例
-
- 次に示すJP1イベントを選択します。
-
-
拡張属性SEVERITYがWarningまたはErrorかつ拡張属性PRODUCT_NAMEが定義されているJP1イベント
-
発生元イベントサーバがwww.hitachi.co.jpでかつ拡張属性PRODUCT_NAMEが /HITACHI/JP1/AJSであるJP1イベント
E.SEVERITY IN Warning Error E.PRODUCT_NAME DEFINED OR B.SOURCESERVER IN www.hitachi.co.jp E.PRODUCT_NAME IN /HITACHI/JP1/AJS
-
- 除外条件(EXCLUDE)の記述例
-
- イベントIDが101,102または重大度がエラーのJP1イベントを選択します。ただし,登録元イベントサーバ名がhost3のJP1イベントは除外します。
B.ID IN 101 102 OR E.SEVERITY IN Error EXCLUDE B.SOURCESERVER IN host3
- 比較キーワード「TRANGE」の記述例
-
- 2002年6月16日※以降に発生したJP1イベントを選択します。
B.TIME TRANGE 20020616000000 99999999999999
- 比較キーワード「WITHIN」の記述例
-
- 現在時刻(2003年7月16日01:30:00)※の30分前から現在までに発生したJP1イベントを選択します。
B.TIME WITHIN M 30 (B.TIME TRANGE 20030716010000 20030716013000と同意)
- 現在時刻(2003年7月16日01:21:21)※の24時間前から現在までに発生したJP1イベントを選択します。
B.TIME WITHIN H 24 (B.TIME TRANGE 20030715012121 20030716012121と同意)
- 今日(2003年7月16日)※を含めた二日間に発生したJP1イベントを選択します。
B.TIME WITHIN D 2 (B.TIME TRANGE 20030715000000 20030716235959と同意)
注※ イベントサーバ環境での時刻を基にしています。