Search Exchange

Search All Sites

Nagios Live Webinars

Let our experts show you how Nagios can help your organization.

Contact Us

Phone: 1-888-NAGIOS-1


Remember Me

Directory Tree


Current Version
Last Release Date
Compatible With
  • Nagios 2.x
  • Nagios 3.x
Network Monitoring Software - Download Nagios XI
Log Management Software - Nagios Log Server - Download
Netflow Analysis Software - Nagios Network Analyzer - Download
A plugin to check the health and status of disk and logical drives attached to LSI megaraid SAS controllers.

This plugin calls/uses the opensource megasasctl utility to determine the health of disks and logical drive units attached to Megraid SAS controllers.

It has been tested by the author on Dell PERC 5 & 6 controllers, but should work well with any controller supported by the MegaCli tool.

This plugin was primarily written because the execution time using LSI's MegaCli was utility pretty high for servers with multiple arrays. This meant getting the status information back on arrays, disks, and BBUs was difficult which would often lead to Nagios NRPE check time outs.

For more information on the use of the open source megasasctl utility please check:

**Special Attention: (from the above site)
"3.5. About /dev/megaraid_sas_ioctl_node

All theses tools requires this device node to be created.
It has to be done by hand.

Proprietary tools creates the device node at startup.
I made some wrappers around binaries from megactl package to create the node if it doesn't exist yet."
Reviews (1)
With seagate HDD it works perfect

but with WD HDD I had a problem because of this string:
grep "${i} " $TEMPRAIDSTATUS | grep -v "row" | sed 's/ */\ /g'| cut -d' ' -f6

with the last "cut"
seagate output without "cut":
a0e32s1 SEAGATE ST32000444SS 1863GiB a0d0 online

WD output without "cut":
a0e32s0 ATA WDC WD2000FYYZ-0 1863GiB a0d0 online

So when cut works on seagate

on wd

So for WD HDD you need to change this string to :
# Log list of degraded disks
CURRENTDISKSTATUS=$( grep "${i} " $TEMPRAIDSTATUS | grep -v "row" | sed 's/ */\ /g'| cut -d' ' -f7 );