UCD-DISKIO-MIB::diskIOTable とかを取りたいのに UCD-SNMP-MIB::ucdExperimental と出てしまい取れなくて生きるのがつらいとき
cloudforecast とかを使ってdiskIOを収集するにあたって diskIONWritten を指定して取るケースは多々あると思います。
しかしながら
$ snmpwalk -v 2c -c public installer1 1.3.6.1.4.1.2021.13.15.1.1.4 UCD-SNMP-MIB::ucdExperimental.15.1.1.4.1 = Counter32: 0 〜 中略 〜 UCD-SNMP-MIB::ucdExperimental.15.1.1.4.25 = Counter32: 4062435328 UCD-SNMP-MIB::ucdExperimental.15.1.1.4.26 = Counter32: 51200 UCD-SNMP-MIB::ucdExperimental.15.1.1.4.27 = Counter32: 4062384128 UCD-SNMP-MIB::ucdExperimental.15.1.1.4.28 = Counter32: 4062384128 UCD-SNMP-MIB::ucdExperimental.15.1.1.4.29 = Counter32: 0
とか出てしまって値が取れない事があるときは下記のように net-snmp をインストールすれば出るはず。
$ ./configure --with-perl-modules --with-mib-modules="ucd-snmp/diskio" $ make # make install
これで CloudForecast::Data::Diskio に "schema and result values is no match" とか怒られることもなくなり運用が捗ります。