Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Nagios/Icinga/Sensu plugin to check current server's RAID status

This plugin checks all RAID volumes (hardware and software) that can be identified.

While written originally for Nagios, it's known to work also with:

This is supposed to be a general plugin to run via NRPE. It checks for the various RAID systems, and verifies they are working correctly.

Some checks require root permission, that is acomplished using sudo. Neccessary sudo rules (detected for your system), can be installed when check_raid is invoked with -S argument. You need to be root user and it will add required lines to the sudo config file.

Test suite

Reporting bugs

IMPORTANT: See what is needed for your reported Issue to be worked on or Pull Request to be accepted.

Failure to do so means I will just have to ignore your Issue or Pull Request and will eventually close with no resolution. Currently there are too many of such tickets.


Download latest release from releases page

next step would be to setup system sudo rules:

./ -S

run with -d to preview the sudo rules.

Plugin should be ready to be run:


for some RAIDs there's need to install extra tools, see Supported RAIDs


To obtain latest development version of the plugin source, grab tarball or do a git checkout:

git clone --depth=8

to build self-contained fatpacked, invoke make pack, otherwise use in project root to run the plugin in source tree.


./ [-p|--plugin <name>] [-w|--warnonly]
./ -S
./ -l

Command line arguments

-V  --version           Print check_raid version
-d                      Produce some debug output
-S  --sudoers           Configure /etc/sudoers file
-W  --warnonly          Don't send CRITICAL status
-p  --plugin <name(s)>  Force the use of selected plugins, comma separated
    --noraid=STATE      Set status as STATE if RAID volumes are not found. Defaults to `UNKNOWN`
    --resync=STATE      Set status as STATE if RAID is in resync state. Defaults to `WARNING`
    --check=STATE       Set status as STATE if RAID is in check state. Defaults to `OK`
    --cache-fail=STATE  Set status as STATE if Write Cache is present but disabled. Defaults to `WARNING`
    --bbulearn=STATE    Return STATE if Backup Battery Unit (BBU) learning cycle is in progress. Defaults to `WARNING`
    --bbu-monitoring    Enable experimental monitoring of the BBU status
-l  --list-plugins      Lists active plugins


Supported RAIDs

Supported RAIDs that can be checked:

  • Adaptec AAC RAID via aaccli or afacli or arcconf
  • AIX software RAID via lsvg
  • HP/Compaq Smart Array via cciss_vol_status (hpsa supported too)
  • HP Smart Array Controllers and MSA Controllers with hpacucli, hpssacli, ssacli
  • HP Smart Array (MSA1500) via serial line
  • Linux 3ware SATA RAID via tw_cli
  • Linux Device Mapper RAID via dmraid
  • Linux DPT/I2O hardware RAID controllers via /proc/scsi/dpt_i2o
  • Linux GDTH hardware RAID controllers via /proc/scsi/gdth
  • Linux LSI MegaRaid hardware RAID via CmdTool2
  • Linux LSI MegaRaid hardware RAID via megarc
  • Linux LSI MegaRaid hardware RAID via /proc/megaraid
  • Linux Device Mapper
  • Linux MegaIDE hardware RAID controllers via /proc/megaide
  • Linux MPT hardware RAID via mpt-status
  • Linux software RAID (md) via /proc/mdstat
  • LSI Logic MegaRAID SAS series via MegaCli
  • LSI MegaRaid via lsraid
  • Serveraid IPS via ipssend
  • Solaris software RAID via metastat

You might need to install following tools depending on your raid:

Project entry in Nagios Exchange:


License: GPL v2

(c) 2004-2006 Steve Shipway (code up to version 2.1), university of auckland, Steve Shipway Thanks M Carmier for megaraid section.

(c) 2009-2019 Elan Ruusamäe (maintainer from version 2.1 and upwards)