トリガー条件式について

お世話になります。

CentOSのテキストログ監視を行うにあたり、以下のトリガー条件式がエラーとなってしまいます。
もし原因がわかりましたら、ご教授頂けると幸いです。

【トリガーの条件式】
 ({Template OS Linux:log[/var/log/messages,@messages].iregexp(@messages)})#0&({Template OS Linux:log[/var/log/messages,@messages].nodata(300)})=0

【エラーの内容】
トリガー条件式が正しくありません。 条件式の)#0&({Template OS Linux:log[/var/log/messages,@messages].nodata(300)})=0"から始まる部分を確認してください。

【補足】
・Zabbix Serverのバージョン2.4
・上記トリガーは、標準テンプレート「Template OS Linux」に対して設定。
・以下のアイテムと正規表現を設定。
 [アイテム]
  (名前) ログ監視(/var/log/messages)
  (タイプ) Zabbixエージェント(Active)
(キー) logrt[/var/log/messages,@messages]
(データ型)ログ

[正規表現]
(名前)messages
(条件式)error|warn|fail|fatal|ERROR|WARN|FAIL|FATAL

よろしくお願いします。

コメント表示オプション

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

丸括弧()を用いて条件演算の優先度、まとまり具合を指定されているようですが

> ({Template OS Linux:log[/var/log/messages,@messages].iregexp(@messages)})#0&({Template OS Linux:log[/var/log/messages,@messages].nodata(300)})=0

ではなく

> ({Template OS Linux:log[/var/log/messages,@messages].iregexp(@messages)}#0)&({Template OS Linux:log[/var/log/messages,@messages].nodata(300)}=0)

ではないかと思います

中括弧{} がアイテム値を示していて、#0、=0等でトリガー条件の演算をそれぞれ行い、
その結果それぞれを、丸括弧()で括ったうえで、&でAND条件にしている‥というイメージに
なるかと思います

ユーザー TNK の写真

2.4系から条件式の演算子や書き方が変更されています。
例えば、不等号の意味で#は利用できなくなりました。
マニュアルを再度ご確認ください。
https://www.zabbix.com/documentation/2.4/manual/introduction/whatsnew240...

あと、今回は直接関係ありませんが、Zabbixのバージョンを書かれる場合は、
マイナーバージョンまで明記されることをお勧めします。

ユーザー fripper の写真

申し訳ありません。TNKさんご指摘のとおりです
2.4系では演算子の仕様が変わっていたこと、失念しておりました‥

不等号の表現だけでなく、各演算結果の複合評価で用いる論理演算系の表現(&、|など)も変わっていますね‥

ユーザー hk12rpm の写真

TNK様、fripper様

早速、ご返信いただき、ありがとうございます。

おかげさまで解決できました!

本フォーラムに相談をしなげれば、今月中に解決することはできなかったと思います。
本当に助かりました!ありがとうございます。

以下の条件式でエラーが解消できました。
{Template OS Linux:logrt[/var/log/messages,@messages].iregexp(@messages)}<> 0 and ({Template OS Linux:logrt[/var/log/messages,@messages].nodata(300)})=0

今後ともよろしくお願いいたします。