Header
 
» IT tipps and howto's

Nagios Plugin: Dell Equallogic

Last Update 30. June 2010

This is a plugin to monitor a Dell Equallogic with Nagios. Its written in shell so it should run on almost all Linux/Unix based systems. It's using SNMP (v2) to query the informations from the Equallogic device. To be able to use the script, please also check the requirements.

The plugin has been successfully tested on the following Dell Equallogic devices:
PS100E (70-0011) with Firmware 4.3.2
PS4000/E (70-0120) with Firmwares 4.3.2, 4.3.5
PS5000XV (70-0111) with Firmwares 4.1.4, 4.3.4
PS5000E (70-0115) with Firmwares 3.3.1, 4.0.7, 4.1.6, 4.2.0, 4.3.2, 4.3.4
PS6000E (70-0202) with Firmwares 4.1.3, 4.1.4, 4.2.0, 4.3.2
PS6000XV with Firmware 4.3.4

check_equallogic <- Download plugin and save it in your Nagios plugin folder (e.g. /usr/local/nagios/libexec)
338 downloads so far...

Version History
20091109 Started Script programming checks: health, disk, raid, uptime, ps, info
20091112 Added ethif, conn
20091118 Added diskusage
20091119 Bugfix on Outputs (removed Pipes)
20091121 Public Release
20091204 Bugfix (removed IP addresses)
20091206 Bugfix (removed SNMP community names)
20091222 Fixed raid, ps, health and diskusage checks when multiple member devices exists. By Mathias Sundman.
20100112 Successful tests on PS5000XV - thanks to Scott Sawin
20100209 Compatibility matrix now on website (see Tested on above)
20100416 Beta Testing for rewritten ethif check (allows more than 3 interfaces)
20100420 Corrected ethif output, finished new ethif check
20100526 Using proper order of snmpwalk command, thanks Roland Ripoll
20100531 Added performance data for diskusage and connections - thanks to Benoit Poulet.
20100622 Corrected perfdata output (+added thresholds), thanks to Christian Lauf

Requirements
- The following shell commands must exist and be executable by your Nagios user: snmpwalk, awk, grep, wc
- SNMP must be enabled on the Dell Equallogic device. If it is not already, enable it on the member.

Definition of the parameters:

-H Hostname or IP address of Equallogic to check
-C SNMP Communityname (must be at least readable)
-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 use of this script

Definition of the types:

conn -> Checks number of current ISCSI connections (thresholds possible)
ethif -> Checks status of ethernet interfaces (thresholds possible)
disk -> Checks the status of all disks
diskusage -> Checks how much raid space is already used (thresholds possible)
health -> Checks overall health of Equallogic device
info -> Shows general information of Equallogic device
ps -> Checks status of power supply(ies)
raid -> Checks RAID status
uptime -> Shows uptime of Equallogic device

Command definition in your commands.cfg:

# 'check_equallogic' command definition
define command{
command_name check_equallogic
command_line $USER1$/check_equallogic -H $HOSTADDRESS$ -C $ARG1$ -t $ARG2$ $ARG3$
}

Note: I defined the -C (SNMP Communityname) as a variable. If you want and if you always use the same community name (e.g. public) you can of course set this static to public.

Service checks:

# Check Equallogic Informations
define service{
use generic-service
host_name equallogic01
service_description General Information
check_command check_equallogic!public!info
}

# Check Equallogic Health
define service{
use generic-service
host_name equallogic01
service_description General Health
check_command check_equallogic!public!health
}

# Check Equallogic Uptime
define service{
use generic-service
host_name equallogic01
service_description Uptime
check_command check_equallogic!public!uptime
}

# Check Equallogic Disk Status
define service{
use generic-service
host_name equallogic01
service_description Disk Status
check_command check_equallogic!public!disk
}

# Check Equallogic Disk (Raid) Usage
define service{
use generic-service
host_name equallogic01
service_description Disk Usage
check_command check_equallogic!public!diskusage!-w 85 -c 95
}

The thresholds for the type 'diskusage' are normal integers and represent the percentage of disk (raid) usage. In this example, a WARNING notification will be send when 85% or more of the raidspace is used. A CRITICAL will be send when the usage is 95% or more.

# Check Equallogic Raid Status
define service{
use generic-service
host_name equallogic01
service_description Raid Status
check_command check_equallogic!public!raid
}

# Check Equallogic Ethernet Interfaces
define service{
use generic-service
host_name equallogic01
service_description Ethernet Interfaces
check_command check_equallogic!public!ethif!-w 1 -c 2
}

The thresholds for the type 'ethif' are normal integers and represent the numbers of ethernet interfaces. In this example, a WARNING notification will be send when 1 interface is down. A CRITICAL notification will be send when 2 interfaces are down. If no thresholds are given, the plugin only outputs infornation and status OK (no matter how many interfaces are down).

# Check Equallogic ISCSI Connections
define service{
use generic-service
host_name equallogic01
service_description ISCSI Connections
check_command check_equallogic!public!conn!-w 20 -c 50
}

The thresholds for the type 'conn' are normal integers. In this example, a WARNING notification will be send when there are 20 or more ISCSI connections. A CRITICAL will be send when 50 or more ISCSI connections are open.

# Check Equallogic Power Supplies
define service{
use generic-service
host_name equallogic01
service_description Power Supply
check_command check_equallogic!public!ps
}

Nagios screenshots:

Nagios Check Equallogic Critical

Nagios Check Equallogic OK


Go to Homepage home RSS Feed
About ck about
Linux Howtos how to's

 

 

Valid HTML 4.01 Transitional
Valid CSS!
[Valid RSS]

10036 Days
until Death of Computers