Net-SNMPのPerlモジュールでTrap送信
現在VineLinuxにNet-SNMP ver5.2.2を
インストールした環境で
Trapを送信するPerlスクリプトを作成しております。
やりたいことは、マネージャに対し
SNMPv2cのTrapをポストすることです。
# 現段階ではSNMPv2であればどのようなTrap
# でも構いません。
net-snmp-5.2.2/perl/SNMP/README
の内容にならって、下記のようなスクリプトを
作成しました(一部を抜粋)。
------- スクリプト Start -------
《 省 略 》
# TrapSessionオブジェクトを生成
$sess = new SNMP::TrapSession(DestHost=>$host, Community=>$comm);
# Trap送信
$sess->trap(oid => 'snmpRisingAlarm',
uptime => 1234,
[[ifIndex, 1, 1],
[sysLocation, 0, "here"]]);
《 省 略 》
------- スクリプト End -------
READMEによると上記フォーマットは
v2のものとなるはずですが、
本処理によって送信されるTrapのバージョンは
v1となってしまいます。
また、oid部分を変更しても
送信するTrap内容の変化はなく、さらに
$sess->trap();
とパラメータ無しに変更しても
同じ内容のTrapが送信されているようです...。
全てにおいて勉強不足状態での質問で
大変恐縮ではありますが、
御存じの方がいらっしゃいましたら、
ご教授お願い致します。
お礼
回答ありがとうございました。 SNMP不勉強だったので、今から調査をしているところなのですが、やっぱり V2でセキュアにしようと思った場合、SSHでトンネリングしてっという手も可 なんですね。 SSHでトンネリングするには・・・とかはこれから調べてみようと思います。 V3がどこまで普及しているかは未確認なのですが、古い資産をそのまま 使いながら、かつセキュアにとなると、wrapするような仕組みの検討が必要 と思っています。