ZabbixにおいてSNMPトラップに関してZabbixサーバで受信した際に、条件式の設定で障害として発生させることができる。
「障害の発生だけでなく、復旧の情報に関するトラップが飛んできたときになんとか復旧させれるような設定ができないか」
と悩んだ末に、下記の式をあみだしました。
障害: {snmptrap[正規表現].regexp(正規表現)}=1 and {snmptrap[正規表現].nodata(1s)}=0
復旧: {snmptrap[正規表現].count(1s,正規表現)}>0
例えば
障害:電源が壊れました
復旧:電源が復旧しました
というような情報を含むトラップがあったとしたら
障害: {snmptrap[電源が壊れました].regexp(電源が壊れました)}=1 and {snmptrap[電源が壊れました].nodata(1s)}=0
復旧: {snmptrap[電源が復旧しました].count(1s,電源が復旧しました)}>0
このように設定します。
使われる機会は少ない気がしますが、備忘録として残しておきます。