I use Nagios to monitor my small network, so I wanted to add my ReadyNAS NV+ to the setup and chose to do so with SNMP. The ReadyNAS supports SNMP, but you must enable it in FrontView. Download READYNAS-MIB.txt and drop it into /usr/share/snmp/mibs/ (or wherever you keep your MIBS). After enabling SNMP on your NAS, and assigning a community name (e.g. public) to the service, test it. In the following example, I walk down the READYNAS MIB (if you omit the OID, you see all the variables the ReadyNAS makes available):

snmpwalk -m ALL -v 2c -c public ip-address   .
READYNAS-MIB::nasMgrSoftwareVersion.0 = STRING: "4.01c1-p1"
READYNAS-MIB::diskNumber.1 = INTEGER: 1
READYNAS-MIB::diskNumber.2 = INTEGER: 2
READYNAS-MIB::diskNumber.3 = INTEGER: 3
READYNAS-MIB::diskNumber.4 = INTEGER: 4
READYNAS-MIB::diskChannel.1 = INTEGER: 1
READYNAS-MIB::diskChannel.2 = INTEGER: 2
READYNAS-MIB::diskChannel.3 = INTEGER: 3
READYNAS-MIB::diskChannel.4 = INTEGER: 4
READYNAS-MIB::diskModel.1 = STRING: " Seagate ST3500630NS 465 GB"
READYNAS-MIB::diskModel.2 = STRING: " Seagate ST3500630NS 465 GB"

There are two values I’m mostly interested in: the state of the volume and the NAS’ temperature, so I created appropriate services in Nagios, and added a check command to those using the check_snmp plugin. For example, to monitor the device’s temperature, I use:

check_snmp -H ip -C public -P 2c -o READYNAS-MIB::temperatureValue.1 \
         -w 20:35 -c 15:40

If you run that on your machine’s command line, it prints out something similar to this:

SNMP OK - 26 | READYNAS-MIB::temperatureValue.1=26

This check will warn you when the reported temperature is below 20 or above 35, and it will set a critical result for Nagios, when it is below 15 or above 40C. I recommend you have a look at the other SNMP OIDs the device has to offer: there are lots of goodies there!

Hardware and Nagios :: 30 Apr 2008 :: e-mail