見出し画像

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をモニタするポーリングは、

のように設定します。

種別
SNMP TRAPを指定します。
モード
countを指定してます。
パラメーター
空欄でよいです。
フィルター
SNMPのTRAPを識別するフィルター条件を正規表現で指定します。
簡単なのは、coldStartとなどのTRAPの名前を書けば、だいたいOKです。
判定スクリプト
count < 1と指定すれば、1件でもあれば異常と判断します。

ポーリング結果

状態変化時にポーリングの結果をログに出力すると

のように、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の運営にも貢献できるのでよろしくお願います。