Zabbixを使ってSNMP情報を取得するとき、OIDを指定することになる。
標準MIBを例にすれば、
インタフェースで受信したパケットの総バイト数
を取得しようとする場合、OIDは、.1.3.6.1.2.1.2.2.1.10 となるが、代わりに IF-MIB::ifInOctets と指定することが出来る。
なぜこんなことが出来るかというと、
/usr/share/snmp/mibs/IF-MIB.txt
の中に
IF-MIB DEFINITIONS ::= BEGIN
(省略)
ifInOctets OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The total number of octets received on the interface,
including framing characters.
Discontinuities in the value of this counter can occur at
re-initialization of the management system, and at other
times as indicated by the value of
ifCounterDiscontinuityTime."
::= { ifEntry 10 }
の記述があるからである。下記コマンドにて検証することが出来る。
$ snmptranslate -On IF-MIB::ifInOctets
.1.3.6.1.2.1.2.2.1.1
監視対象とするネットワーク機器の拡張MIB情報を監視対象とする場合、MIBファイルを入手し、Zabbixサーバ上の /usr/share/snmp/mibs/ にMIBファイルをコピーしておけば、OIDを調べなくても上記のように設定することが出来る。
下記にYAMAHA RTX1210の例を示す。
RTXシリーズのMIBは、http://www.rtpro.yamaha.co.jp/RT/docs/mib/ よりダウンロードできる。yamaha-private-mib.tar.gz 等を入手し、解凍の上、
/usr/share/snmp/mibs/ へコピーする。
$ snmptranslate -On YAMAHA-RT-HARDWARE::yrhInboxTemperature
.1.3.6.1.4.1.1182.2.1.15
と変換されるようであれば、Zabbix上でSNMP OID指定する際には、
.1.3.6.1.4.1.1182.2.1.15 の代わりに YAMAHA-RT-HARDWARE::yrhInboxTemperature が利用できるということになる。
参考サイト)
追加Mibを読み取らせる方法(Ver3.0)
第5回 図解で知るSNMP――MIB情報のすべて
【NET-SNMP】ベンダーMIBファイル追加設定
ネットワーク機器のSNMP MIB/OIDまとめ