Ubuntu 14.04, Ubuntu 16.04上のsnmpwalk,snmptranslateでエラーが出力される

症状

Ubuntu 14.04上からYAMAHA RTX810の情報をSNMPを通して取得するために、
zabbixでRTX-810をSNMPv2で監視する方法 – Ogalogを参考に

apt-get install snmp snmp-mibs-downloader
wget http://www.rtpro.yamaha.co.jp/RT/docs/mib/yamaha-private-mib.tar.gz
tar xvzf yamaha-private-mib.tar.gz -C /usr/share/snmp/mibs
sed -ibak "s/mibs :/mibs all/" /etc/snmp/snmp.conf

としたのち、値が取れるか確認するために、以下のコマンドを実行したところ1

snmpwalk -v 2c -c public XXX.XXX.XXX.XXX  YAMAHA-RT-INTERFACES::yrIfPpInUcastPkts.4

以下のようなエラーが標準エラーに出力された。

Bad operator (INTEGER): At line 73 in /usr/share/mibs/ietf/SNMPv2-PDU
Unlinked OID in IPATM-IPMC-MIB: marsMIB ::= { mib-2 57 }
Undefined identifier: mib-2 near line 18 of /usr/share/mibs/ietf/IPATM-IPMC-MIB
Expected "::=" (RFC5644): At line 493 in /usr/share/mibs/iana/IANA-IPPM-METRICS-REGISTRY-MIB
Expected "{" (EOF): At line 651 in /usr/share/mibs/iana/IANA-IPPM-METRICS-REGISTRY-MIB
Bad object identifier: At line 651 in /usr/share/mibs/iana/IANA-IPPM-METRICS-REGISTRY-MIB
Bad parse of OBJECT-IDENTITY: At line 651 in /usr/share/mibs/iana/IANA-IPPM-METRICS-REGISTRY-MIB
.1.3.6.1.4.1.1182.2.3.9.1.11.4 = Counter32: 482448610

また、

snmptranslate .1.3.6.1.4.1.1182.2.3.9.1.11.4

としたところ、

Bad operator (INTEGER): At line 73 in /usr/share/mibs/ietf/SNMPv2-PDU
Unlinked OID in IPATM-IPMC-MIB: marsMIB ::= { mib-2 57 }
Undefined identifier: mib-2 near line 18 of /usr/share/mibs/ietf/IPATM-IPMC-MIB
Expected "::=" (RFC5644): At line 493 in /usr/share/mibs/iana/IANA-IPPM-METRICS-REGISTRY-MIB
Expected "{" (EOF): At line 651 in /usr/share/mibs/iana/IANA-IPPM-METRICS-REGISTRY-MIB
Bad object identifier: At line 651 in /usr/share/mibs/iana/IANA-IPPM-METRICS-REGISTRY-MIB
Bad parse of OBJECT-IDENTITY: At line 651 in /usr/share/mibs/iana/IANA-IPPM-METRICS-REGISTRY-MIB
YAMAHA-RT-INTERFACES::yrIfPpInUcastPkts.4

と同じエラーが出力された。

対応

How to fix net-snmp / snmpwalk errors [Linux consulting & more in Mantova]より、

エラーになっているMIBファイルを入れ替える(SNMPv2-PDUとIPATM-IPMC-MIBはリンク先の著者が元のファイルから変更したものを使用していることに注意)

sudo wget http://www.iana.org/assignments/ianaippmmetricsregistry-mib/ianaippmmetricsregistry-mib -O /usr/share/mibs/iana/IANA-IPPM-METRICS-REGISTRY-MIB
sudo wget http://pastebin.com/raw.php?i=p3QyuXzZ -O /usr/share/mibs/ietf/SNMPv2-PDU
sudo wget http://pastebin.com/raw.php?i=gG7j8nyk -O /usr/share/mibs/ietf/IPATM-IPMC-MIB

その他

  • Vagrant上で動作確認(使用box: ubuntu/trusty64, ubuntu/xenial64
  • YAMAHAのprivate MIBを導入しなくても、 /etc/snmp/snmp.confのmibsオプションをallに設定するだけで同じ現象が発生する。

  1. SNMP v2cを使用。XXX.XXX.XXX.XXXはRTX810のIPアドレス。RTX810側はsnmpの利用許可設定済み(snmpv2c host)。OIDはRTX810のコマンド「show status pp 1」の「受信パケット」に対応する値 
広告