![見出し画像](https://assets.st-note.com/production/uploads/images/133658514/rectangle_large_type_2_fc3ea044467917b21a76b9758e9f4427.png?width=1200)
TWSNMP FCの問い合わせ回答:TRAPをカウントするポーリングのフィルター設定について
今朝は5時から開発開始です。助手の猫さんも起きてきて、ご飯を食べたあと、少し甘えてから、かみさんの布団に戻って寝ています。
昨日のよるメールでTWSNMP FCに関する問い合わせがありました。
TWSNMP FC 開発者 様
ネットワーク管理にTWSNMP FC(ver1.34)を使用させていただいております。1点、ポーリングの設定についてご質問させてください。
ネットワーク内に機器Aがあり、当該機器の障害時にSNMP TRAP(TRAP名:「alarm*****」, *****は障害内容)をTWSNMP FCに送信する設定となっています。このTRAPを受信した際にメール発報等を行いたいと考え、
「TWSNMP FCのポーリング辞典:SNMP TRAPをモニタする」
https://note.com/twsnmp/n/n9fbe03260952
を参考にして以下のとおりポーリングルールを作成しました。
ノード:機器A
種別:SNMP TRAP
モード:count
フィルター:alarm
判定スクリプト:count<1
その結果、機器Aから送信されたTRAPについては正常に動作しましたが、ここで問題がありました。ネットワーク内にある機器Bも同様のTRAPを送信する設定になっており、上記ルールではこちらもカウントしてしまいます。
このような状況で、機器AからのTRAPのみカウントしたい場合はどのように設定すればよいでしょうか。御教示いただければ幸いです。
確かに
の説明通りだと、特定ノードからのTRAPだけをカウントする設定になっていませんでした。
正規表現のフィルターに送信元のIPを含めれば、特定のノードからのTRAPだけカウントできます。
しかし、試してみるとわかりにくい仕様になっていることがわかりました。
正規表現で検索する対象のログは、TRAPの場合
Enterprise
FromAddress 192.168.1.9:47434
GenericTrap 0
SpecificTrap 0
Timestamp 0
Variables sysUpTimeInstance=9.83日(84963600)
snmpTrapOID.0=linkDown
ifIndex.3=3
ifAdminStatus.3=1(up)
ifOperStatus.3=2(down)
のように改行が入っているため、正規表現の書き方に一工夫必要です。
この例の場合、送信元は192.168.1.9です。TRAPの種類はlinkDownです。
改行をまたいでも一致するようにするためには、[\s\S\n]*と書くようです。
ということでフィルターを
From.*192\.168\.1\.9[\s\S\n]*linkDown
のように設定すれば、192.168.1.9からのlinkDownだけカウントする対象にできます。
TRAPのポーリングは、TRAPを表示している画面から作成できるようにしたくなってきました。
![](https://assets.st-note.com/img/1710195217904-IsJPedXSOx.png?width=1200)
この画面にボタンをつけて自動でポーリングを作成できるようにするアイデアです。
「TWSNMP FCのポーリング辞典:SNMP TRAPをモニタする」の記載も改定しました。
明日に続く
開発のための諸経費(機材、Appleの開発者、サーバー運用)に利用します。 ソフトウェアのマニュアルをnoteの記事で提供しています。 サポートによりnoteの運営にも貢献できるのでよろしくお願います。