ReadyNAS Ultra4 Plusに触ってみた その6

ReadyNAS Ultra4 PlusでSNMPを使ってみる。

本来、ストレージとしての選定理由の一つにSNMPが使えることを入れていたので、標準でSNMPが使えなかったのは予想外だった。
調べてみるとReadyNAS Proでは対応しているが、コンシューマ向けモデルでは対応してない模様。
使えないと致命的な訳では無いが、使えると便利なのでなんとかならないか調べてみる。

Webユーザインターフェイスの設定画面では項目が無いためどうしようも無いが、rootを取ってSSHでログインしてみるとSNMPが導入済みのように見える。

# /etc/init.d/snmpd start

でsnmpdを起動して、リモートサーバからsnmpwalkで確認してみる。

# snmpwalk -v 1 -c public  192.168.101.201
SNMPv2-MIB::sysDescr.0 = STRING: Linux nas-C1-28-9A 2.6.37.6.RNx86_64.2.1 #1 SMP Mon Aug 15 16:19:41 PDT 2011 x86_64
SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (71936062) 8 days, 7:49:20.62
SNMPv2-MIB::sysContact.0 = STRING: root
SNMPv2-MIB::sysName.0 = STRING: nas-C1-28-9A
SNMPv2-MIB::sysLocation.0 = STRING: Unknown
SNMPv2-MIB::sysORLastChange.0 = Timeticks: (1) 0:00:00.01
(略)

無事にSNMPで監視できそう。

ReadyNASの再起動時に自動的にsnmpdが起動するように設定しておく。

# update-rc.d snmpd defaults
 Adding system startup for /etc/init.d/snmpd ...
   /etc/rc0.d/K20snmpd -> ../init.d/snmpd
   /etc/rc1.d/K20snmpd -> ../init.d/snmpd
   /etc/rc6.d/K20snmpd -> ../init.d/snmpd
   /etc/rc2.d/S20snmpd -> ../init.d/snmpd
   /etc/rc3.d/S20snmpd -> ../init.d/snmpd
   /etc/rc4.d/S20snmpd -> ../init.d/snmpd
   /etc/rc5.d/S20snmpd -> ../init.d/snmpd

ReadyNAS固有の情報でどのようなものが取得できるか確認するため、ReadyNAS Communityに置いてあるREADYNAS-MIB.txtを確認する。

$ snmpwalk -v 2c -c public 192.168.101.201 1.3.6.1.4.1.4526.18
SNMPv2-SMI::enterprises.4526.18.1.0 = STRING: "Seagate ST2000DL003-9VT166 1863 GB"
SNMPv2-SMI::enterprises.4526.18.3.1.1.1 = INTEGER: 1
SNMPv2-SMI::enterprises.4526.18.3.1.1.2 = INTEGER: 2
SNMPv2-SMI::enterprises.4526.18.3.1.1.3 = INTEGER: 3
SNMPv2-SMI::enterprises.4526.18.3.1.1.4 = INTEGER: 4
SNMPv2-SMI::enterprises.4526.18.3.1.2.1 = INTEGER: 1
SNMPv2-SMI::enterprises.4526.18.3.1.2.2 = INTEGER: 2
SNMPv2-SMI::enterprises.4526.18.3.1.2.3 = INTEGER: 3
SNMPv2-SMI::enterprises.4526.18.3.1.2.4 = INTEGER: 4
SNMPv2-SMI::enterprises.4526.18.3.1.3.1 = STRING: "Seagate ST2000DL003-9VT166 1863 GB"
SNMPv2-SMI::enterprises.4526.18.3.1.3.2 = STRING: "Seagate ST2000DL003-9VT166 1863 GB"
SNMPv2-SMI::enterprises.4526.18.3.1.3.3 = STRING: "Seagate ST2000DL003-9VT166 1863 GB"
SNMPv2-SMI::enterprises.4526.18.3.1.3.4 = STRING: "Seagate ST2000DL003-9VT166 1863 GB"
SNMPv2-SMI::enterprises.4526.18.3.1.4.1 = STRING: "ok"
SNMPv2-SMI::enterprises.4526.18.3.1.4.2 = STRING: "ok"
SNMPv2-SMI::enterprises.4526.18.3.1.4.3 = STRING: "ok"
SNMPv2-SMI::enterprises.4526.18.3.1.4.4 = STRING: "ok"
SNMPv2-SMI::enterprises.4526.18.3.1.5.1 = INTEGER: 78
SNMPv2-SMI::enterprises.4526.18.3.1.5.2 = INTEGER: 82
SNMPv2-SMI::enterprises.4526.18.3.1.5.3 = INTEGER: 80
SNMPv2-SMI::enterprises.4526.18.3.1.5.4 = INTEGER: 78
SNMPv2-SMI::enterprises.4526.18.4.1.1.1 = INTEGER: 1
SNMPv2-SMI::enterprises.4526.18.4.1.2.1 = INTEGER: 1691
SNMPv2-SMI::enterprises.4526.18.4.1.3.1 = STRING: "SYS"
SNMPv2-SMI::enterprises.4526.18.5.1.1.1 = INTEGER: 1
SNMPv2-SMI::enterprises.4526.18.5.1.1.2 = INTEGER: 2
SNMPv2-SMI::enterprises.4526.18.5.1.2.1 = INTEGER: 53
SNMPv2-SMI::enterprises.4526.18.5.1.2.2 = INTEGER: 73
SNMPv2-SMI::enterprises.4526.18.5.1.3.1 = STRING: "ok"
SNMPv2-SMI::enterprises.4526.18.5.1.3.2 = STRING: "ok"
SNMPv2-SMI::enterprises.4526.18.7.1.1.1 = INTEGER: 1
SNMPv2-SMI::enterprises.4526.18.7.1.2.1 = STRING: "Volume C"
SNMPv2-SMI::enterprises.4526.18.7.1.3.1 = STRING: "RAID Level X2"
SNMPv2-SMI::enterprises.4526.18.7.1.4.1 = STRING: "ok"
SNMPv2-SMI::enterprises.4526.18.7.1.5.1 = INTEGER: 5676032
SNMPv2-SMI::enterprises.4526.18.7.1.6.1 = INTEGER: 5409792

何度か試してみるとenterprises.4526.18.1.0の項目が化けることがあり、上記の結果でも正常な値が表示されていない。おそらくバグと思われる。

監視サーバからCactiで監視してみる。
設定は他のsnmpdの動作しているサーバと同様なので省略。表示すると以下のようになる。
f:id:papillon326:20120325155612j:plain

温度の項目は通常だと取れないが、Cactiの公式フォーラムから拾ってきたテンプレートを導入して表示している。

温度の項目だけを拡大すると以下のような感じになる。
f:id:papillon326:20120325160233j:plain

SNMPトラップについては省略。