トリガー表現式の()の優先度について

Zabbix:5.0.2
OS:CentOS8.1
=================

ログ監視トリガーの式で、And条件で一部内容を静観しようとしていますが、
括弧内()で表現される部分は優先的に処理されないのでしょうか。

下記のような表記法をとっても、A×2のパターンや、B×1のパターンでアラートを検知しなくなっているので、
念のため知見がある方がおられましたら教えてください。

{Template:eventlog[System,,"Error",,,,skip].iregexp()}<>0 and
({Template:eventlog[System,,"Error",,,,skip].logsource(A)}=0 and {Template:eventlog[System,,"Error",,,,skip].logeventid(1)}=0) and
({Template:eventlog[System,,"Error",,,,skip].logsource(B)}=0 and {Template:eventlog[System,,"Error",,,,skip].logeventid(2)}=0)

コメント表示オプション

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

全てand なら順番やカッコは関係ないかと思います。

ユーザー Yasumi の写真

やはりそうでしたか。ありがとうございます。

ユーザー yk_taiko の写真

記載されている ログソース+イベントID の 2パターンが除外条件ということでしょうか。

そうであれば、カッコの外側は and じゃなくて or で繋げたら想定の動作をしそうな気がしますが、どうでしょう。

ユーザー Yasumi の写真

orだと、A1が出力された場合はB2で検知し、B2が出力された場合はA1のほうで検知するのではないでしょうか?

ユーザー yk_taiko の写真

確かにそうですね、失礼しました。

であれば、以下のように反転させる感じで動くかと思います

【1】
(({Template:eventlog[System,,"Error",,,,skip].logsource(A)}=1 and {Template:eventlog[System,,"Error",,,,skip].logeventid(1)}=1) or
({Template:eventlog[System,,"Error",,,,skip].logsource(B)}=1 and {Template:eventlog[System,,"Error",,,,skip].logeventid(2)}=1))=0

【2】
not (({Template:eventlog[System,,"Error",,,,skip].logsource(A)}=1 and {Template:eventlog[System,,"Error",,,,skip].logeventid(1)}=1) or
({Template:eventlog[System,,"Error",,,,skip].logsource(B)}=1 and {Template:eventlog[System,,"Error",,,,skip].logeventid(2)}=1))

ユーザー Yasumi の写真

>yk_taikoさん

素晴らしいです。。。

こんなトリガーの表現方法ができることを初めて知りました。ありがとうございます。