raid-monior for Xymon provides a generic framework for monitoring RAID systems in *nix like operating systems. New RAID systems can be easily added (as long as a commandline tool to query the RAID-status exists) within half an hour.

Why monitoring the RAID status?

Monitoring of RAID systems is essential as an unmaintained RAID system only delays the time until all complete data-loss. So you need to know the status of your RAID subsystems. Just checking the LEDs on your drive cages is both tedious and error-prone. raid-monitor for Xymon automates these check and integrates perfectly with Xymon.

Robust monitoring and easy to add new RAID systems

Instead of writing a custom check for each RAID system raid-monitor for Xymon uses the following generic approach:

  1. From a know-good state of the raidset a reference-file is generated in a manual “learning” or “configuration” step.

  2. Each test-cycle compares the current state with that reference-file and if differences are found the raid-column goes red (because anything differing from the know-good state has to be taken seriously to avoid potential data-loss).

The advantages of this approach are a very robust monitoring and ease of adding new cards. No specialized parser has to be written, instead just the commands one would use to check the RAID on the commandline are crafted into a raid.d-module.

Supported RAID systems

Modules for the following RAID-cards/-systems are included along with a sample-configuration that can be easily adjusted to the specific setup of other environments and raid-cards.

  • 3ware: 3ware/AMCC/LSI RAID-Cards via tw_cli
  • Areca: Areca based RAID-cards via the Areca CLI cli|cli64
  • Adaptec (aacraid): Adaptec-based SAS/SATA unified RAID-cards (like the 5405 …) via arcconf CLI included in the package of Adaptec Storage Manager (ASM); this should also work for the IBM ServeRAID-Adapters as these are Adaptec OEM-parts.
  • Linux software-raid (mdraid): Linux ~software-RAID (monitored via /proc/mdstat)
  • LSI MegaRAID: LSI MegaRAID based cards, e.g. LSI MegaRAID SAS 9260-4i, MegaRAID SAS 8704ELP and many “Dell PERC” controllers via MegaCli|MegaCli64


Beside the obvious requirements for a Xymon (or hobbit) system and a RAID system the following is needed:

  • the bash shell with array-support (bash 3.x and 4.x tested)
  • a diff utility (GNU-diff tested)
  • the tee(1) utility (used in debug-mode only)
  • the raid-controller tools to fetch the status (e.g. tw_cli for 3ware, cli32 or cli64 for Areaca, MegaCLI for LSI, …)
  • most likely sudo for executing the raid-tool as non-root (the Xymon user)

For more details see the documentation included in the tarball.


$ ./raid-monitor -h
raid-monitor v0.9.7, generic RAID-checker for Xymon
Copyright (c) 2006-2011 Thomas Eckert,

usage: raid-monitor [ -c conffile ] [ -s ] [ -m mod_dir ] [ -r | -d | -h ]
  -c conffile   specify config-file, see documentation for default
  -m mod_dir    directory with modules (default "./raid.d/")
  -r            generate new reference-file (/tmp/raid-monitor-ref.txt)
  -s            silent operation, only log errors
  -d            debug-mode, print everything to stdout, send nothing to Xymon-server
  -h            this help-message


Copying and distribution of this package (raid-monitor), with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. This package is offered as-is, without any warranty.


Version Release Date
0.9.8 2014-06-13
0.9.7 2011-04-17
0.9.6 2011-03-27
0.9.5 2010-10-02