Home

Awesome

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 CONTRIBUTING.md 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.

Installing

Download latest release from releases page

next step would be to setup system sudo rules:

./check_raid.pl -S

run with -d to preview the sudo rules.

Plugin should be ready to be run:

./check_raid.pl

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

Development

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

git clone --depth=8 https://github.com/glensc/nagios-plugin-check_raid

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

Usage

./check_raid.pl [-p|--plugin <name>] [-w|--warnonly]
./check_raid.pl -S
./check_raid.pl -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

STATE can be one of: OK, WARNING, CRITICAL, UNKNOWN

Supported RAIDs

Supported RAIDs that can be checked:

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

Project entry in Nagios Exchange: http://exchange.nagios.org/directory/Plugins/Hardware/Storage-Systems/RAID-Controllers/check_raid/details

Copyright

License: GPL v2

(c) 2004-2006 Steve Shipway (code up to version 2.1), university of auckland, http://www.steveshipway.org/forum/viewtopic.php?f=20&t=417&p=3211 Steve Shipway Thanks M Carmier for megaraid section.

(c) 2009-2019 Elan Ruusamäe glen@pld-linux.org (maintainer from version 2.1 and upwards)