複数の条件を満たすトリガーについて

いつもお世話になっております。

Oracleデータベースの監視を実装しています。
エラーコードの一つで、以下の要件に合うような
トリガーを作成しておりますが、上手くいきません。
お手数ではございますが、ご教示いただけないでしょうか。

【環境】
監視サーバ :Zabbix2.0.9
監視クライアント :Solaris10
監視対象データベース : Oracle 10gR2,または11gR2
その他:AllowRoot=1 zabbixエージェントはrootで起動

【監視要件】
ORA-600とORA-00600の検知
 
アイテム:zabbixエージェント(アクティブ) 
キー : log[/export/home/alert.log,ORA-600|ORA-00600,,,] 
監視間隔:5分

【除外・その他条件】(トリガー条件式)   
 
ORA-600、ORA-00600のエラーメッセージには、後ろに「[XXX]」といった引数があり、
その引数によって初動対応を変えています。
したがって、引数を条件に含めたトリガーを作成することにいたしました。
なお、「継続してイベントを生成」はチェックなしとしています。

条件① 下記の引数は、無条件で検知する
 [3111]
 [4400] 
 [12700]

条件② 下記の引数は無条件で除外
 [729]
 [1115]
 [6033]

条件③ 下記の引数については、単発での出力は無視、2回以上連続で出力された場合に検知
 [733]
 [5249]
 [5250]
 [12209]
 [15201]
 [17182]

条件④ 上記以外の引数、単発は無視、2回以上連続で出力された場合に検知

【テスト実績】
(1)単純に条件①のみを設定

トリガー条件式
{HOST:log[/DC/log/ORA600_test.txt,ORA-600|ORA-00600,,,].regexp(3111|4440|12700)}=1
{HOST:log[/DC/log/ORA600_test.txt,ORA-600|ORA-00600,,,].nodata(60)}=0

alert.log
ORA-600 [12700]
ORA-600 [4440]
ORA-600 [3111]

<結果>
ヒストリ上は3行すべて取得。
検知はするものの、すべて2件づつ、計6件のイベントが発生。
→ それぞれ、1件のイベントとしたい。

(2)条件①+② 検知と除外を設定

トリガー条件式
({HOST:log[/DC/log/ORA600_test.txt,ORA-600|ORA-00600,,,].regexp(3111|4440|12700)}=1 |
{HOST:log[/DC/log/ORA600_test.txt,ORA-600|ORA-00600,,,].regexp(729|1115|6033|12333|17069)}=0) &
{HOST:log[/DC/log/ORA600_test.txt,ORA-600|ORA-00600,,,].nodata(60)}=0

alert.log
ORA-600 [729]
ORA-600 [4440]
ORA-600 [1115]
ORA-600 [6033]
ORA-600 [12333]

<結果>
ヒストリ上は5行すべて取得できていますが、一部、意図しない動きをしています。
検知しないORA-600 [729] ・・除外OK
2件検知 ORA-600 [4440] ・・OK(OKだが、複数件検知) 
1件検知 ORA-600 [1115] ・・NG(除外されるはず)
検知しないORA-600 [6033] ・・除外OK
検知しないORA-600 [12333] ・除外OK

現状、ここまでで、先に進めておりません。

よろしくお願いいたします。

以上

コメント表示オプション

お好みのコメント表示方法を選び「設定の保存」をクリックすると変更が反映されます。
ユーザー KAZ の写真

omebbix_kenjiさん

フォーラムに書き込み時ですが、HTMLエスケープ必要な文字あります。
エスケープしないと表示がおかしくなります。(質問の内容が正しく伝わらなくなってしまいます。)

&はエスケープが必要な文字です。
上記質問で&を使っている部分は修正しておきました。

ユーザー omebbix_kenji の写真

KAZ様

どうもありがとうございます。以後、気を付けます。
お手数おかけいたしました。

以上