TWSNMP FCのポーリング辞典:SNMP TRAPをモニタする
TWSNMP FCにはSNMPのTRAPを受信してログに記録する機能があります。TRAPのログをモニタして異常を検知するポーリングについて説明します。
SNMP TRAPについて
いつものようにSNMP TRAPについては、
とかを見てください。
TRAPを受信する設定
SNMPのTRAPをTWSNMP FCで受信するにはマップ設定の、
SNMP TRAPのスイッチをオンにします。TWSNMPとしては、これで受信できるようになりますが、TWSNMP FCの稼働するパソコンの環境によっては受信できない場合があります。そういう場合は、
の記事を見てください。
TRAPの受信は、「ログ」ー「SNMP TRAP」で確認できます。
ポーリングの設定
SNMP TRAPをモニタするポーリングは、
のように設定します。
ポーリング結果
状態変化時にポーリングの結果をログに出力すると
のように、TRAPの受信数を記録できます。
ポーリングテンプレート
この記事で紹介したポーリングのテンプレートは、trapで検索すれば
のように表示されます。ただし、v1.21.0までの時点でcount < 1のスクリプトが設定されないので注意してください。
定義は、
{
"Name": "TRAP受信",
"Type": "trap",
"Mode": "count",
"Filter": "フィルター条件",
"Script": "count < 1",
"Level": "low",
"Descr": "フィルター条件に一致するSNMP TARPの件数をモニタ",
"AutoMode": "disable"
},
です。
フィルターに送信元を含める書き方
フィルターは正規表現で書きます。特定のノードからのTRAPだけカウントしたい場合は、
From.*192.168.1.9[\s\S\n]*linkDown
のような書き方をすれば、192.168.1.9からlinkDownのTRAPを受信した時だけカウントします。
検索する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)
のような改行を含む文字列になっています。このため正規表現で無視する部分を.+や.*と書いても正しくヒットしません。[\s\S\n]*と書くとうまくいきます。
開発のための諸経費(機材、Appleの開発者、サーバー運用)に利用します。 ソフトウェアのマニュアルをnoteの記事で提供しています。 サポートによりnoteの運営にも貢献できるのでよろしくお願います。