Last Updated on 2022年10月1日 by かんりにん
会社のGWルーターに使用しているRTX1200のインターフェースのTX/RXカウントを
LinuxサーバーからSNMPを使って累積でログに書き出していたところ、
32ビット長分に達するとリセットされるっぽいので、ソースや対応方法(64ビットでカウントできればいいな、的に)を
いろいろ探ってみることに。
- 出典:お世話になっております!
- RFC2233(November 1997)
http://www.ietf.org/rfc/rfc2233.txt - Cisco SNMP カウンタ:FAQ
http://www.cisco.com/cisco/web/support/JP/100/1006/1006423_faq-snmpcounter-j.html
- RFC2233(November 1997)
要約
以下、CiscoのFAQサイトからの抜粋を。
- RFC 2233 leavingcisco.comでは、拡張された 64 ビットのカウンタが採用されています。
これは 32 ビットのカウンタでは容量が足りずにラップアラウンドするのが早すぎるような
大容量インターフェイスを対象としています。 - 64 ビットのカウンタに対してクエリーを実行するには、SNMPv2C または SNMPv3 を使用する必要があります。
SNMPv1 では 64 ビットのカウンタがサポートされていません。 - ifInOctets = .1.3.6.1.2.1.2.2.1.10 は 32 ビットのカウンタであるのに対し、
その 64 ビット バージョンは ifHCInOctets = .1.3.6.1.2.1.31.1.1.1.6 であることに注意してください。- 32bitカウンタ(InOctetsを抜粋)
ifInOctets = .1.3.6.1.2.1.2.2.1.10
- 64bitカウンタ(InOctetsを抜粋)
ifHCInOctets = .1.3.6.1.2.1.31.1.1.1.6
- 32bitカウンタ(InOctetsを抜粋)
まとめ
SNMP(V1)で取得するMIBが32bitカウンタだったことがRFCで確認できてスッキリ。
→カウンタが4GB分に達するとリセット、ということでOK。
→64bitカウンタ対応のインターフェースで、かつ64bitカウンタを使用すれば
カウントは64bit長となり、32bitカウンタのようにリセット(ラップアラウンド)されない。
ただし64bitカウンタはSNMP V2c以降で実装されている、とのこと(RFCより)。
RTX1200の実装を調べてみたところ、ファームウェアRev.10.01.24以降で
SNMP V2c、V3の両方に対応しているとのこと。
- 出典:お世話になっております!
- SNMP(YAMAHAのドキュメント)
http://www.rtpro.yamaha.co.jp/RT/docs/snmp/index.html - ファームウェアRev.10.01.24リリースノート
http://www.rtpro.yamaha.co.jp/RT/docs/relnote/Rev.10.01/relnote_10_01_24.txt
- SNMP(YAMAHAのドキュメント)
…ということで、現在のRTX1200のファームウェアバージョンを見たところ、SNMP V2c、V3に対応する直前の10.01.22だった…orz
ファームウェアのアップデートから作業しなくてはw