Last update: December 08, 2020
With this plugin you can do several checks on your EMC/Iomega StorCenter NAS.
The plugin successfully works on a px4-300r. Please let me know wheter or not it works for another model, too.
As I don't have any StorCenter devices around to test further development, this plugin is end of life. Use as is.
If you are looking for commercial support for this monitoring plugin, need customized modifications or in general customized monitoring plugins, contact us at Infiniroot.com.
6848 downloads so far...
Download plugin and save it in your Nagios/Monitoring plugin folder (usually /usr/lib/nagios/plugins, depends on your distribution). Afterwards adjust the permissions (usually chmod 755).
Community contributions welcome on GitHub repo.
The plugin has been successfully tested on the following StorCenter devices:
20111010 Created plugin (types: disk, raid, cpu, mem)
20111011 Added info type
20111013.0 Corrected uptime (but device returns strange value?)
20111013.1 Corrected uptime (using hrSystemUptime.0 now)
20111020 Disk type now doesnt return CRITICAL anymore if disks are missing
20111031 Using vqeU in mem type (if response comes with kB string) - corrects mem check
20140120 Added snmp authentication
Parameter | Description |
-H* | Hostname or IP address of StorCenter NAS |
-U* | Username you have defined in the SNMP settings of StorCenter |
-P* | Password you have defined in the SNMP settings of StorCenter |
-t* | Type of check you want to do (see the definition of types further down) |
-w | Warning threshold (optional and only in combination with certain types) |
-c | Critical threshold (optional and only in combination with certain types) |
--help | Help text for correct usage of this script |
* mandatory parameters
Check Type | Description |
disk | Checks hard disks for their current status |
raid | Checks the RAID status |
cpu | Check current CPU load (thresholds possible) |
mem | Check current memory (RAM) utilization (thresholds possible) |
info | Outputs some general information of the device |
Usage:
./check_storcenter.sh -H host -U user -P pass -t type [-w warning] [-c critical]
Examples:
./check_storcenter.sh -H mynas -U nagios -P secret -t disk
./check_storcenter.sh -H mynas -U nagios -P secret -t cpu -w 20 -c 30
# 'check_storcenter' command definition
define command{
command_name check_storcenter
command_line $USER1$/check_storcenter -H $HOSTADDRESS$ -U $ARG1$ -t $ARG2$ $ARG3$
}
object CheckCommand "check_storcenter" {
import "plugin-check-command"
command = [ PluginContribDir + "/check_storcenter.sh" ]
arguments = {
"-H" = {
value = "$storcenter_host$"
}
"-U" = {
value = "$storcenter_username$"
}
"-P" = {
value = "$storcenter_password$"
}
"-t" = {
value = "$storcenter_checktype$"
}
"-w" = {
value = "$storcenter_warning$"
}
"-c" = {
value = "$storcenter_critical$"
}
}
vars.storcenter_host = "$address$"
}
# Check StorCenter Disk
define service{
use generic-service
host_name nas1
service_description Disk Status
check_command check_storcenter!nagios!disk
}
# Check StorCenter Raid
define service{
use generic-service
host_name nas1
service_description Raid Status
check_command check_storcenter!nagios!raid
}
# Check StorCenter CPU
define service{
use generic-service
host_name nas1
service_description CPU Load
check_command check_storcenter!nagios!cpu
}
In the following example, the username 'nagios' is used and the check type is 'mem'. The thresholds are normal integers and represent the percentage of memory usage. A warning notification will be sent if the memory usage is higher or equal to 50%, a critical notification at 90%.
# Check StorCenter Memory (RAM)
define service{
use generic-service
host_name nas1
service_description Memory Usage
check_command check_storcenter!nagios!mem!-w 50 -c 90
}
# Check StorCenter Information
define service{
use generic-service
host_name nas1
service_description Information
check_command check_storcenter!nagios!info
}
# Check Storcenter Disk Status
object Service "Disk Status" {
import "generic-service"
host_name "nas1"
check_command = "check_storcenter"
vars.storcenter_checktype = "disk"
}
# Check Storcenter CPU Load
object Service "CPU Load" {
import "generic-service"
host_name "nas1"
check_command = "check_storcenter"
vars.storcenter_checktype = "cpu"
}