• Stars
    star
    139
  • Rank 262,954 (Top 6 %)
  • Language
    Perl
  • Created over 12 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

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

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:

  • 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: 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 [email protected] (maintainer from version 2.1 and upwards)

More Repositories

1

monitoring-plugin-check_domain

Nagios/Icinga plugin for checking a domain name expiration date
Shell
77
star
2

slack-unfurl

Extensible Slack App for Slack link unfurling
PHP
19
star
3

dokuwiki-plugin-pageredirect

Redirects page requests based on content
PHP
17
star
4

pbin

CLI tool for Stikked based pastebin services
Shell
16
star
5

slack-unfurl-gitlab

GitLab links unfurler for slack-unfurl
PHP
11
star
6

bacula-backup-mysql

MySQL backup hook for Bacula
Perl
8
star
7

mpd-lyrics

Display Lyrics for current MPD song
Shell
6
star
8

cacti-template-varnish

Cacti Varnish Template
Python
6
star
9

cacti-template-php-fpm

Cacti PHP-FPM template
Perl
6
star
10

moin2doku

Code to do full convert from MoinMoin to DokuWiki
Python
5
star
11

gitlab-registry-cleanup-hook

Listens for incoming requests and deletes docker images if merge request is merged
Python
5
star
12

nagios-snmp-plugins

Nagios SNMP Plugins
C
4
star
13

vim-syntax-lighttpd

vim lighttpd syntax
Vim Script
4
star
14

dokuwiki-plugin-lightboxv2

Integrate LightBox v2 for all images
Shell
4
star
15

phing-task-smushit

Phing task to run Smush.it
PHP
3
star
16

php-cs-fixer-config

Configuration builder for php-cs-fixer
PHP
3
star
17

dokuwiki-plugin-vcard

Dokuwiki vCard Plugin
PHP
3
star
18

file.old

dead repo, go to https://github.com/glensc/file
C
2
star
19

php-pecl-flvinfo

PHP FLV Info PECL Extension
C
2
star
20

docker-create-tag

Create Docker image tag using Registry v2 API
Shell
2
star
21

phorum-sphinx_search

Phorum Sphinx Search
PHP
2
star
22

raspberry-pi-plex-media-player

Raspberry Pi Plex Media Player
Dockerfile
2
star
23

php-alpine

PHP Packages for Alpine Linux
Shell
2
star
24

nagios-plugin-check_elvis_status

Check Elvis DAM status via admin /server-status json data
PHP
2
star
25

gitlab-project-setup

Gitlab System Hook to configure new projects
1
star
26

trac-plugin-jira

Trac Jira Plugin
Python
1
star
27

school.wad

SCHOOL.WAD / HXNSCH.WAD - Doom/Hexen levels
Makefile
1
star
28

php-pear-PEAR_Command_Packaging

make-rpm-spec command for managing RPM .spec files for PEAR packages
PHP
1
star
29

closure-compiler-httpserver

Closure Compiler as Simple HTTP Server
Java
1
star
30

gitlab-webhook-listener-bot

Gitlab WebHook Listener Bot
TypeScript
1
star
31

comics-mailer

comics-mailer
Perl
1
star
32

node-cached_property

A cached_property decorator for Node and TypeScript
TypeScript
1
star
33

monitoring-plugin-check_amavis

Nagios plugin to check amavisd-new daemon
Perl
1
star
34

fedora-packager

Fedora Packager PLD Linux fork
Python
1
star
35

dokuwiki-plugin-poldek

dokuwiki plugin to query poldek repositories
PHP
1
star
36

docker-mongodb-hotbackup

MongoDB Hot Backup for Docker
Shell
1
star
37

monitoring-plugin-check_chef_stale

Alerting for stale nodes on Chef with Nagios/Icinga
Ruby
1
star