ログトリガーの複数条件で含める含めないがうまくいかない。

こんばんは。

ZABBIX 1.8.10

にてログトリガーで含める、含めないを用いて複数条件のトリガー作成がなかなか
うまく行きませんのでご教授お願いします。

やりたいこととしまして、snmptrapをトラッパーではなくログ監視から拾いたいと思っています。
理由はトラッパーよりログの方がsnmptrapの情報量が多い為です。
(トラッパーだとsnmptrapの詳細がわからなかったので)

/var/log/messagesを監視してトリガーを作成したのですが、snmptrapの文字列があった場合は
トラップを受信したものと見なしてトリガーを発動させました。この状態ではうまく行ったのですが、
snmptrapdの再起動でも発動してしまう為、snmptrapdの再起動は含まないように以下のようにしましたが期待した動きをしません。

・トリガー作成条件
iregexp(snmptrapd) 含める
iregexp(NET-SNMP) 含めない
iregexp(Stop) 含めない

・↑で作成された条件式
(({Zabbix server:log[/var/log/messages].iregexp(snmptrapd)})#0) & (({Zabbix server:log[/var/log/messages].iregexp(NET-SNMP)})=0) & (({Zabbix server:log[/var/log/messages].iregexp(Stop)})=0)

この状態でsnmptrapdを再起動するとトリガー画面に「正常」と出てしまいます。
(障害を経由せずにしょっぱなにでます。)
また、snmptrapを受け付けても同じく「正常」と出てしまいます。

設定方法をどのようにすれば期待した動作になるのでしょうか?
よろしくお願いします。

コメント表示オプション

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

同じトリガーを設定してログに"snmptrapd"の文字列を書き込んでみましたが、正しく障害として検知されているようです。
どのようなログが出力されたときに想定した動作にならないのでしょうか?

ユーザー globe の写真

kodaiさま、こんばんは。

snmptrapdを/etc/init.d/snmptrapd restart
した際にトリガーが発動してしまいます。

このログでメッセージでトリガーが発動します。ただし障害としてではなく、
しょっぱなに「正常」というステータスでトリガー画面に出てきます。メール通知アクションを
設定していますがこれも実行されます。

messages log[/var/log/messages]:Apr 2 23:51:25 XX01 snmptrapd[31735]: 2012-04-02 23:51:25 NET-SNMP version 5.5 Stopped

その直前にある以下のログでは期待とおりの動き?をして発動しません。スルーしてくれます。

Apr 2 23:48:27 msp01 snmptrapd[31517]: Stopping snmptrapd

「NET-SNMP」と「Stop」があるので発動せずスルーしてくれるのを期待しているのですが。。

ユーザー globe の写真

追記:kodaiさま

こんばんは、以下のようにしたところ、期待した動きをしてくれました。

iregexp(snmptrapd) 含める
iregexp(NET-SNMP) 含めない
iregexp(Stopping snmptrapd) 含めない
iregexp(NET-SNMP) AND iregexp(Stopping snmptrapd) 含めない

NET-SNMPとStopの文字両方があった場合は含めないという一行追加でsnmptrapdの再起動では
発動せずにsnmptrapの文字列のみあった場合は発動するようになりました。
ありがとうございます。

ただ、一点気になることがありまして、上記設定後にアイテム画面からログ取得のアイテムから
ログトリガーの編集が出来なくなりました。しようとすると

Unexpected symbol ")" in trigger function.
Check expression part starting from " ))|(iregexp(Stopping snmptrapd)})=0) "

というようなエラー画面になります。(トリガー画面からの編集は出来ます)

一旦全削除して再度同じログ監視アイテム登録、トリガー登録しても同様の症状がでます。

何か設定が良くないのでしょうか?

ユーザー kodai の写真

トリガーの設定に不要な()が含まれているのかもしれません。どのようなトリガーを条件式設定されているのかを教えて頂ければと思います