スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

SNMPTTの設定 補足(訂正)

SNMPTTの設定で一部訂正


SNMP-Trapを管理するところで行ったNSTIを利用してNagiosからTrapの履歴を調べるNagiosでTrap検知するに関する内容で
以下2点の間違いがありましたので、訂正いたします。

1.LinkTrapをsnmott.conf.IF-MIBとして追加したが、これだけだと情報が重複する
2.CiscoのLinkTrapは含まれる情報が少し異なる。




まず1について。
SNMPTRAPのエントリの画像でもわかるとおりLinkDownが2つ存在する(Trapの1行目と2行目)。
NSTIフィルタ画面



これは、
/etc/snmpディレクトリ配下にある
"snmptt.conf"と"snmptt.conf.IF-MIB"それぞれにLinkDownTrapに関する記述があるため、それぞれのフィルタが出力するからです。
※置き換えや、snmptt.confを編集した人は関係ないかもしれません。

例:問題の箇所
snmptt.conf
EVENT linkDown .1.3.6.1.6.3.1.1.5.3 "Status Events" Normal
FORMAT Link down on interface $1. Admin state: $2. Operational state: $3
#EXEC qpage -f TRAP notifygroup1 "Link down on interface $1. Admin state: $2. Operational state: $3"
SDESC
A linkDown trap signifies that the SNMP entity, acting in
an agent role, has detected that the ifOperStatus object for
one of its communication links is about to enter the down
state from some other state (but not from the notPresent
state). This other state is indicated by the included value
of ifOperStatus.
EDESC

snmptt.conf.IF-MIB
EVENT linkDown .1.3.6.1.6.3.1.1.5.3 "Status Events" Critical
FORMAT A linkDown trap signifies that the SNMP entity, acting in $*
EXEC /usr/local/nagios/libexec/submit_check_result $r TRAP 2 "Link Down on interface $1. Admin State: $2. Operational state: $3."
SDESC
A linkDown trap signifies that the SNMP entity, acting in
an agent role, has detected that the ifOperStatus object for
one of its communication links is about to enter the down
state from some other state (but not from the notPresent
state). This other state is indicated by the included value
of ifOperStatus.
Variables:
1: ifIndex
2: ifAdminStatus
3: ifOperStatus
EDESC



また、ひとつはCriticalとなっているが、ひとつはNormalのままで同じLinkDownTrapで状態が多少異なるものが2つ上がってきてしまっている。
これの対策は簡単で、どちらかをコメントアウトするなり消すなりすればOK。
どちらを消すかは環境に合わせて判断してください。







つぎに2について。

簡単に言うと、Cisco機器が飛ばしてくるLinkTrapは標準で採用されているMIBを拡張した形式のものが採用されているらしい。
通常その場合は、ベンダMIBなどの固有MIBにするのが普通らしいですが、LinkTrapに関しては標準のLinkTrapのMIB値(OID)をそのまま利用しているらしく、前回の設定のまま行うと表示が多少おかしくなる。


通常のLinkTrapで送られる内容
1: ifIndex
2: ifAdminStatus
3: ifOperStatus


CiscoのLinkTrapで送られる内容
1: ifIndex
2: ifDescr
3: ifType
4: locIfReason

これからわかるとおり、2番目以降が異なるため、SNMPTTのFORMATで指定する"$x"の箇所がずれてくるため、表示される内容がずれてきたりしちゃいます。


表示例
CiscoのLinkTrapを通常のSNMPTTの設定で受診した場合
Thu Oct 25 15:49:48 2012 .1.3.6.1.6.3.1.1.5.3 Normal "Status Events" 10.82.12.85 - Link down on interface 10005.  Admin state: FastEthernet1/0/5.  Operational state: 6 


本来なら、ifAdminStatusが場所に、ifDescrが入っているため表示がStatusではなくIF名となってしまっています。


なので、CiscoのMIBをダウンロードしてきてsnmpttconvertmibコマンドで生成してあげれば良い。
http://tools.cisco.com/Support/SNMP/do/BrowseMIB.do?local=ja&step=2&mibName=CISCO-GENERAL-TRAPS

必要となるMIBは
CISCO-SMI
OLD-CISCO-INTERFACES-MIB
OLD-CISCO-SYSTEM-MIB
OLD-CISCO-TCP-MIB
OLD-CISCO-TS-MIB
CISCO-GENERAL-TRAPS

あたりになります。


すべてダウンロードしたら、"/usr/share/mibs/cisco"にフォルダを作成し、ファイルを配置します。
今回はその他のMIBにあわせて、実際には"/var/lib/mibs/cisco"にファイルを配置しそのディレクトリにシンボリックリンクを設定しました。
$ ll /usr/share/mibs/
lrwxrwxrwx 1 root root 19 10月 19 18:03 cisco -> /var/lib/mibs/cisco/
lrwxrwxrwx 1 root root 18 6月 7 2010 iana -> /var/lib/mibs/iana/
lrwxrwxrwx 1 root root 18 6月 7 2010 ietf -> /var/lib/mibs/ietf/


$sudo snmpttconvertmib --in=/usr/share/mibs/cisco/CISCO-GENERAL-TRAPS.my --out=/etc/snmp/snmptt.conf.CISCO-GENERAL-TRAPS



生成された"snmptt.conf.CISCO-GENERAL-TRAPS"ファイルを追加で読み込むように/etc/snmp/snmptt.iniを編集するか、前述のファイルの内容を利用し"/etc/snmptt/snmptt.conf"などに追記(変更)する等で編集してください。

こちらのサイトですごく詳しく解説してあります。
http://ricemalt.blog98.fc2.com/blog-entry-21.html


追記

LinkTrapの情報をCisco表記に変えた場合には、今度はCisco以外からのTrap受診時に表示がずれます。
今回は対象をCiscoのみと割り切っているのでいいのですが、それ以外の場合の方法としてはsnmptt.confの中で"MATCH:"や"NODES:"オプション?を利用すればできるのでは?と思ってます。
(試してませんが、必要になった時にやってみます。)
参考:http://snmptt.sourceforge.net/docs/snmptt.shtml#SNMPTT.CONF-PREEXEC

スポンサーサイト

コメントの投稿

非公開コメント

プロフィール

Author:Opecha-DaDa
ニッチな技術メモ的なブログになりつつありますが、だからこそあなたのお役に立てる内容があれば幸いです。

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。