Last update: November 10, 2021
This plugin was created to monitor a Promise Vtrak storage device. It monitors the physical drives and the chassis itself (power supplies, fans, etc). Several attached enclosures are supported. The plugin is more or less a merge between check_promise_chassis.pl by Barry O'Donovan and check_ibm_ts_tape.pl by myself, although it is completely rewritten from scratch and many additional checks have been added.
As I don't have any Promise Vtrak 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.
3509 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 was successfully tested on the following models:
If you have successfully tested the plugin on a model not mentioned here, please let me know.
2007XXXX Created check_promise_chassis.pl (bod)
20140626 Fork/rewrite for multiple Vtrak models (ck)
20140627 Added enclosure check type (ck)
20140701 Extended disk check with different subchecks (ck)
20140701 Added ps check type (ck)
20140701 Added fan check type (ck)
20140702 Added ctrl check type (ck)
20140702 Merged disk and diskonline checks (ck)
20140703 Added spare check type (ck)
20211110 Added VessRaid device (ck)
Parameter | Description |
-H* | Hostname or IP address of the Promise Vtrak Head |
-p | SNMP Port (defaults to 161) |
-C | SNMP community name (defaults to public) |
-m* | Model of the Vtrak. Currently supported: E310x, E610x, M610x, 1840i (VessRaid) |
-t* | Type to check. See below for valid types. |
--h | Show help/usage |
* mandatory parameter
Type | Description |
ctrl | Check status of all controllers |
disk | Check status of all physical disks |
enclosure | Check status of all enclosures |
fan | Check status of all fans (blowers) |
info | Show basic information of the Vtrak |
ps | Check status of all power supplies |
spare | Check the status of all spare disks |
Usage:
./check_promise_vtrak.pl -H host [-p port] [-C community] -m model -t checktype
Example 1 - General informaiton:
./check_promise_vtrak.pl -H myvtrak -C public -m E310s -t info
Promise Technology,Inc. VTrak E610s - S/N: RCXXXXXXXXX - Firmware: 3.36.0000.02 - Uptime: 76 days, 04:59:49.17
Example 2 - Disk check:
./check_promise_vtrak.pl -H myvtrak -C public -m E310s -t disk
DISK WARNING - 1 DISK WARNINGS ( 1 disk(s) unconfigured )
Example 3 - Enclosure check:
./check_promise_vtrak.pl -H myvtrak -C public -m E310s -t enclosure
ENCLOSURE OK - 1 enclosure(s) attached
Example 4 - Power supplies check:
./check_promise_vtrak.pl -H myvtrak -C public -m E310s -t ps
POWER SUPPLY OK - 2 power supplies attached
# check_promise_vtrak command definition
define command{
command_name check_promise_vtrak
command_line $USER1$/check_promise_vtrak.pl -H $HOSTADDRESS$ -C $ARG1$ -m $ARG2$ -t $ARG3$
}
object CheckCommand "check_promise_vtrak" {
import "plugin-check-command"
command = [ PluginContribDir + "/check_promise_vtrak.pl" ]
arguments = {
"-H" = {
value = "$vtrak_address$"
}
"-p" = {
value = "$vtrak_snmp_port$"
}
"-C" = {
value = "$vtrak_snmp_community$"
}
"-m" = {
value = "$vtrak_model$"
}
"-t" = {
value = "$vtrak_checktype$"
}
}
vars.vtrak_address = "$address$"
vars.vtrak_snmp_port = "161"
vars.vtrak_snmp_community = "public"
}
# check vtrak disks
define service{
use generic-service
host_name myvtrak
service_description Vtrak Disk
check_command check_promise_vtrak!public!E610s!disk
}
object Service "Vtrak Disk" {
import "generic-service"
host_name = "myvtrak"
check_command = "check_promise_vtrak"
vars.vtrak_model = "E610s"
vars.vtrak_checktype = "disk"
}