Search Exchange
Search All Sites
Nagios Live Webinars
Let our experts show you how Nagios can help your organization.Login
Directory Tree
Check MSA 2012i G1
v1
2014-02-24
- Nagios 1.x
- Nagios 2.x
- Nagios 3.x
GPL
30800
File | Description |
---|---|
check_msa2012i_g1 | Check MSA 2012i G1 Perl Plugin |
Meet The New Nagios Core Services Platform
Built on over 25 years of monitoring experience, the Nagios Core Services Platform provides insightful monitoring dashboards, time-saving monitoring wizards, and unmatched ease of use. Use it for free indefinitely.
Monitoring Made Magically Better
- Nagios Core on Overdrive
- Powerful Monitoring Dashboards
- Time-Saving Configuration Wizards
- Open Source Powered Monitoring On Steroids
- And So Much More!
With this single script you can make 7 services to check your MSA.
It was tested only on MSA 2012i G1, but can work on other MSA 2000 or P2000.
As stated above, no snmp is necessary, just a monitor account on MSA to access the show commands via telnet.
This script completely checks the MSA 2012i G1 through show commands via telnet. No SNMP required.
It was made to check MSA 2012i G1, so there is no statistics gathering. Maybe can work on other MSA 2000 or P2000, but was not tested.
It takes 4 arguments: username (optional), password (optional), hostname (required) and type of search (required). If no username and password has been given, it will use the default manage user password.
With this single script you can make 7 services to check your MSA:
- channels: returns to nagios the controller id and port number, current speed of port, ip address and status of port. Returns CRITICAL if not up.
- redundancy: returns the operational status of the controllers, if it is redundant and the redundancy mode. Returns CRITICAL if not redundant.
- disks: checks if there is an error on some disk. In the case of an error, returns CRITICAL with the values: Disk slot, state, size, owner controller, and the kind of job (if running: scrubbing, expanding, initializing, low-level format, reconstruction or verification). Otherwise, just returns the slot numbers and that they are OK.
- enclosure: checks for all enclosure components, in case of an error returns the component name, enclosure number, error data and status. Otherwise just returns OK with chassis number.
- frus: checks the status of all field-replaceable units. If everything is ok returns the list of all frus, otherwise returns CRITICAL with fru short name, description, location and state.
- sensors: checks the status of all sensors. If all are ok just returns ok, otherwise returns CRITICAL with sensor name, sensor value and sensor status.
- vdisks: checks the virtual disks status. If all are online and fault tolerant returns vdisk name, space used, free space, raid type, disk count, number of spares, number of partitions, status and owner controller. Otherwise returns WARNING if the vdisk is online and fault tolerant but with some disk down or if it is online but not fault tolerant or if it is online but with some disk down and not fault tolerant. Returns CRITICAL if the vdisk is offline either because of initialization or because drives are down and data may be lost or the vdisk is in a critical state and has been quarantined because some drives are missing or the vdisk is offline and has been quarantined because some drives are missing.
If your nagios throw you an error running the script, try putting the perl path on the command definition to use it instead of the built in perl:
define command{
command_name check_msa2012i_g1
command_line /usr/bin/perl $USER1$/check_msa2012i_g1 -h $HOSTADDRESS$ -t $ARG1$
}
Sample of service definition:
define service{
use local-service
host_name msa2012i
service_description Virtual Disks
check_command check_msa2012i_g1!vdisks
}
It was made to check MSA 2012i G1, so there is no statistics gathering. Maybe can work on other MSA 2000 or P2000, but was not tested.
It takes 4 arguments: username (optional), password (optional), hostname (required) and type of search (required). If no username and password has been given, it will use the default manage user password.
With this single script you can make 7 services to check your MSA:
- channels: returns to nagios the controller id and port number, current speed of port, ip address and status of port. Returns CRITICAL if not up.
- redundancy: returns the operational status of the controllers, if it is redundant and the redundancy mode. Returns CRITICAL if not redundant.
- disks: checks if there is an error on some disk. In the case of an error, returns CRITICAL with the values: Disk slot, state, size, owner controller, and the kind of job (if running: scrubbing, expanding, initializing, low-level format, reconstruction or verification). Otherwise, just returns the slot numbers and that they are OK.
- enclosure: checks for all enclosure components, in case of an error returns the component name, enclosure number, error data and status. Otherwise just returns OK with chassis number.
- frus: checks the status of all field-replaceable units. If everything is ok returns the list of all frus, otherwise returns CRITICAL with fru short name, description, location and state.
- sensors: checks the status of all sensors. If all are ok just returns ok, otherwise returns CRITICAL with sensor name, sensor value and sensor status.
- vdisks: checks the virtual disks status. If all are online and fault tolerant returns vdisk name, space used, free space, raid type, disk count, number of spares, number of partitions, status and owner controller. Otherwise returns WARNING if the vdisk is online and fault tolerant but with some disk down or if it is online but not fault tolerant or if it is online but with some disk down and not fault tolerant. Returns CRITICAL if the vdisk is offline either because of initialization or because drives are down and data may be lost or the vdisk is in a critical state and has been quarantined because some drives are missing or the vdisk is offline and has been quarantined because some drives are missing.
If your nagios throw you an error running the script, try putting the perl path on the command definition to use it instead of the built in perl:
define command{
command_name check_msa2012i_g1
command_line /usr/bin/perl $USER1$/check_msa2012i_g1 -h $HOSTADDRESS$ -t $ARG1$
}
Sample of service definition:
define service{
use local-service
host_name msa2012i
service_description Virtual Disks
check_command check_msa2012i_g1!vdisks
}
Reviews (1)
Excellent Work, it does what it supposed to do.
It checks over telnet all the mentioned 7 Status. I had Problems to give Username and Password as Arguments, so for now they are hardcoded in the plugin, might change that later.
It is in Brasilian/Portuguese i guess, but does the job. Maybe someone or myself will try translating to english.
One thing i am not sure about is, what the timeline for the "enclosure" check is. It seems that it looks for the Warnings in the Logs as we get "CRITICAL: [HP SPS Chassis xyz OK] [Disk xy addr=38 Warning]. We had a Problem with this disk and had to exchange it 2 days ago, and now there are no more warnings about this disk in the Logs.
Thanks for your great work and sharing it!
It checks over telnet all the mentioned 7 Status. I had Problems to give Username and Password as Arguments, so for now they are hardcoded in the plugin, might change that later.
It is in Brasilian/Portuguese i guess, but does the job. Maybe someone or myself will try translating to english.
One thing i am not sure about is, what the timeline for the "enclosure" check is. It seems that it looks for the Warnings in the Logs as we get "CRITICAL: [HP SPS Chassis xyz OK] [Disk xy addr=38 Warning]. We had a Problem with this disk and had to exchange it 2 days ago, and now there are no more warnings about this disk in the Logs.
Thanks for your great work and sharing it!