ログ監視で「DOWN」発生後、3分以内に「UP」が出なかった場合のみエラー

お世話になります。

ログ監視にて、/var/log/hoge.log に「xxx down」 というメッセージが出力され、かつ3分以内に「xxx up」というメッセージが出力されなかった場合のみ
エラーとして検知したいです。アイテムを2つにしたり、トリガー条件をいろいろと試しましたが、どうもうまくいきません。

[アイテム1個]
log[/var/log/hoge.log,(down|up)].regexp(down) &
log[/var/log/hoge.log.(down|up)],regexp(up)&log[/var/log/hoge.log(down|up)].nodata(180]]

[アイテム2個]
log/[/var/log/hoge.log,down].regexp(.*) &
log/[/var/log/hoge.log,up].nodata(180)

上記どちらも、意図する結果になりません。どうすればよろしいでしょうか?
どうかお知恵を拝借いただけませんでしょうか。よろしくお願いいたします。

コメント表示オプション

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

({ホスト名:log[/var/log/hoge.log,(down|up)].regexp(down,180)}=1)&({ホスト名:log[/var/log/hoge.log.(down|up)].regexp(up,180)}=0)

という感じでどうでしょうか?
regexp(down,180)}=1 で「180秒以内のログにdownが「ある」」を、regexp(up,180)}=0 で「180秒以内のログにupが「ない」」をチェックして、それらを&で繋ぐことで実現できるかな、と思います。

ユーザー HERCULY の写真

関連した質問ですが、同様の案件があり古いトピックですが質問させていただきます。
トリガで2つの条件を満たす際に(一つ目のトリガ条件)「&」(二つ目のトリガ条件)
という形で「&」で結べばよいと思っておりましたが、
使用環境----------
Zabbix Version: 3.2.4
OS Version: CentOS: 7.2.1511
----------------------

【アイテム】
log[ログファイル,(down|up),UTF8]

【トリガ】
({ホスト名:log[ログファイル,(down|up),UTF8].regexp(down,180)}=1)&({ホスト名:log[ログファイル,(down|up),UTF8].regexp(up,180)}=0)

でトリガを作成したところ

「トリガー条件式が正しくありません。 条件式の")&({ホスト名:ログファイル,(down|up),UTF8].regexp(up,180)}=0)"から始まる部分を確認してください。」というエラーが帰ってきます

別々のトリガを登録する分には問題なく登録ができるのですが「&」をつけることで上記のエラーが出るようです
何か設定に問題があるのでしょうか?
ご存知の方がいらっしゃいましたらご教示願います

ユーザー TNK の写真

Zabbix 2.4以降、条件式をAND条件でつなぐのであれば、「&」では
なく「and」と記述するようにしてください。

ユーザー HERCULY の写真

TNKさま

ありがとうございました。
「and」で括ることでうまく二つのトリガがつながりました。
また、期待の結果も得られることができました。

「&」から「and」に変わったのですね。
「改訂版Zabbix統合監視実践入門」でもトリガ演算子が
「&」だったものですからてっきりそうだと思っており
ました。

早々のご回答とお返事ありがとうございました

ユーザー karna の写真

andだけではなく、or も変更されています。|→or

私も、なにもわからない状態で、Ver2.4を「改訂版Zabbix統合監視実践入門」片手に設定しながら、エラーではまっていました。

他にも変更されていますので、オフィシャルのマニュアルも参照された方がよいかと思われます。

ユーザー HERCULY の写真

karnaさま

わざわざ、ありがとうございました
うすうす「&」が「and」になっていたので「|」も「or」かな
と思っていたのですが、予想通りでしたね