すべての正規表現に一致しない場合の条件式について
<<前置き>>
SNMPTrapの監視をするにあたり、各Trapごとに正規表現を記述し通知するような仕組みを考えております。
【例①】-------------------------------------------------------------------------------------------------------------------------------------------------
■アイテム
名前:SNMPTrap
キー:snmptrap[""]
■トリガー
名前:Loop検知
条件式:({Zabbix server:snmptrap[""].regexp(@TrapFilter-Loop)}=1) and ( {Zabbix server:snmptrap[""].nodata(5)}=0)
■正規表現
名前:TrapFilter-Loop
条件式:.1.3.6.1.4.1.8888.1111 文字列が含まれる
-------------------------------------------------------------------------------------------------------------------------------------------------------------
【例②】-------------------------------------------------------------------------------------------------------------------------------------------------
■アイテム
名前:SNMPTrap
キー:snmptrap[""]
■トリガー
名前:HW異常検知
条件式:({Zabbix server:snmptrap[""].regexp(@TrapFilter-failure)}=1) and ( {Zabbix server:snmptrap[""].nodata(5)}=0)
■正規表現
名前:TrapFilter-failure
条件式:.1.3.6.1.4.1.8888.2222 文字列が含まれる
-------------------------------------------------------------------------------------------------------------------------------------------------------------
<<質問内容>>
本構成の場合、トリガー・正規表現に登録している値を持つTrapは通知できるのですが、
未登録のTrapを受信した場合は、通知を上げることができません。
※厳密には/etc/snmp/snmptt.comfに受信するすべてのTrap に特定の文字列をつけ、トリガーを設定すれば通知はできるのですが、未登録のTrapを受信したときだけ通知を上げたいのです・・
そこでトリガー条件式にて、以下のように”すべての正規表現に一致しない場合”というような記載をすることは可能かご教授いただけますでしょうか。
■トリガー条件式例
({Zabbix server:snmptrap[""].regexp(すべての正規表現)}=0) and ({Zabbix server:snmptrap[""].regexp("General trap")}=1) and ( {Zabbix server:snmptrap[""].nodata(5)}=0)
何卒宜しくお願いいたします。
TNK - 投稿数: 4753
使用されているZabbixのバージョンがわからないのですが、環境や
設定状況によっては、snmptrap.fallbackが使えるかもしれません。
https://www.zabbix.com/documentation/5.0/manual/config/items/itemtypes/s...
agag - 投稿数: 3
ご回答ありがとうございます。またバージョンについてですが、5.0LTSとなります。
たしかに、少しアイテムの構成を見直す必要が有りますがsnmptrap.fallbackを用いて実装できそうです。一度試してみます。
ありがとうございます。