Net-SNMP

下書きで放置していたSNMPに関するメモ。

インストール

Net-SNMPからソースをダウンロード。

$ tar zxvf net-snmp-5.4.2.1.tar.gz  
$ cd net-snmp-5.4.2.1  
$ ./configure --prefix=/usr/local/net-snmp-5.4.2.1 --disable-embedded-perl --without-perl-modules  
 ************** Configuration Section **************  
-Press return to continue-  
Default version of SNMP to use (3):  
System Contact Information (@):  
System Location (Unknown):  
Location to write logfile (/var/log/snmpd.log):  
Location to write persistent information (/var/net-snmp):  
$ make  
# make install  

必要であれば、エイリアスを設定。

$ cd /usr/local  
# ln -s net-snmp-5.4.2.1 net-snmp  

SNMP設定

# vi /usr/local/net-snmp/snmpd.conf  
... 以下、設定内容。  
com2sec hogetest 192.168.11.0/24 hogetest_com  
com2sec hogetest localhost hogetest_com  
  
group hogetest_grp v1 hogetest  
  
view hogetest_view included .1.3.6.1.4.1.2021  
  
access hogetest_grp "" any noauth exact hogetest_view none none  
  
exec writetest /usr/local/net-snmp/a.sh  
...  

アクセスサンプル用のテキスト

# vi /usr/local/net-snmp/a.sh  
/bin/echo aaa  

起動

# snmpd -Lsd -Lf /var/log/snmpd.log -p /var/run/snmpd -a  

-Lsd : syslogを有効にする
-Lf : snmpdの出力を送るファイル名の指定
-p : ファイル名 プロセスIDを保存するファイル名
-a : 送信元IPアドレス(NMS)をログに記録する

OIDを取得

英文字の形(OID = name)

$ ./snmpwalk -OQS -c hogetest_com -v 1 localhost .1.3.6.1.4.1.2021.8.1.extNames | grep writetest  

数値の形(OID = name)

$ ./snmpwalk -OQSn -c hogetest_com -v 1 localhost .1.3.6.1.4.1.2021.8.1.extNames | grep writetest  

値(exec)を取得

$ ./snmpget -c hogetest_com -v 1 localhost UCD-SNMP-MIB::extOutput.1  
UCD-SNMP-MIB::extOutput.1 = STRING: aaa  
$ ./snmpget -OQv -c hogetest_com -v 1 localhost UCD-SNMP-MIB::extOutput.1  
aaa  

参考

NET-SNMPのインストール
SNMPによるネットワークシステムの監視
SNMPによるネットワークモニタリング