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

3 votes
Network Monitoring Software - Download Nagios XI
Log Management Software - Nagios Log Server - Download
Netflow Analysis Software - Nagios Network Analyzer - Download
Yet another way to check state of your physical disks and your logical units of your 3ware RAID card
How to use :

1 to use this script you have to install firt tw_cli. You can find the source here : just follow the instructions to compile and deploy it
2 then you just have to run the following command :
$ ./ --help

If you need to use this script with NRPE you just have to do the following steps :

1 allow your user to run the script with the sudo rights. Just add
something like that in your /etc/sudoers (use visudo) :
nagios ALL=(ALL) NOPASSWD: //
2 then just add this kind of line in your NRPE config file :
command[check_3ware]=/usr/bin/sudo //

3 don't forget to restart your NRPE daemon

Examples :

# ./ -P /usr/sbin/tw_cli -a unit_check -p -v -m
DEBUG : action : unit_check, path-tw_cli : /usr/sbin/tw_cli
DEBUG : check if /usr/sbin/tw_cli exists and is executable
DEBUG : warning threshold : 1, critical threshold : 2
DEBUG : controller :
DEBUG : action = unit_check
DEBUG : disk u0/type RAID-1/status OK
DEBUG : disk u1/type RAID-1/status OK
DEBUG : disk u2/type SPARE/status OK
CHECK 3ware RAID - unit_check - OK - 3 unit(s) detected as OK - (u0,RAID-1,OK) (u1,RAID-1,OK) (u2,SPARE,OK) | unitOK=3 unitREBUILD=0 unitNOK=0

Help :

# ./ --help version 0.1 by Erwan Labynocle Ben Souiden

This plugin checks state of your physical disks and logical units of a 3ware RAID card.

Usage: // [-a unit_check|disk_check] [-p] [-D "CHECK 3ware RAID - "] [-v] [-m] [-c 2] [-w 1] [-C /c1]

-h, --help
Print detailed help screen
-V, --version
Print version information
-D, --display=STRING
to modify the output display...
default is "CHECK 3ware RAID - "
-P, --path-tw_cli=STRING
specify the path to the tw_cli binary
default value is /usr/sbin/tw_cli
-a, --action=STRING
specify the action : unit_check|disk_check
default is disk_check
disk_check : display state of all physical disks
unit_check : display state of all logical unit
-C, --controller=STRING
allow you to specify only one controller to check
the default behavior is to check each time every controller
-c, --critical=INT
specify a critical threshold for the number of disks in a non-OK state.
default is 2
only for the disk_check action
-w, --warning=INT
specify a warning threshold for the number of disks in a non-OK state.
default is 1
only for the disk_check action
-m, --more
Print a longer output. By default, the output is not complet because
Nagios may truncate it. This option is just for you
-p, --perfdata
If you want to activate the perfdata output
-v, --verbose
Show details for command-line debugging (Nagios may truncate the output)

Send email to if you have questions
regarding use of this software. To submit patches or suggest improvements,
send email to
This plugin has been created by Erwan Labynocle Ben Souiden

Hope you will enjoy it ;)
Reviews (1)
Got this plugin working on our Windows Server 2008 R2 with 3ware LSI 9750-4i, NSClient++, Strawberry Perl, and tw_cli.exe.
1. Install/save tw_cli.exe to C:\CLI\
2. Save to C:\CLI\
3. Open with notepad
4. Change:
my $tw_cli_path = '/usr/sbin/tw_cli';
my $tw_cli_path = 'C:\CLI\tw_cli.exe';

5. Install strawberry perl on Windows.
6. Install NSCLient++ on Windows.

7. Go to the NSCLient++ installion directory (C:\\NSCLient++).
On nsclient.ini change/add the following:
CheckExternalScripts = 1

allow arguments=1

[/settings/external scripts/scripts]
check_3ware=C:\\strawberry\\perl\\bin\\perl.exe C:\\CLI\\

8. Restart NSClient.


9. On your nagios server in the command.cfg add the following:
# Ex. /usr/lib64/nagios/plugins/check_nrpe -H -c check_3ware
define command{
command_name check_3ware
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c check_3ware

10. Add the following to your server.cfg file
# Check Windows2k8 3ware RAID
# /usr/lib64/nagios/plugins/check_nrpe -H -c check_3ware
define service{
use generic-service
host_name Windows2k8
service_description 3ware RAID
check_command check_3ware