3ware provides 3dm2 monitoring / management program. just look onm their webpage, there is a binary version of it for linux, and it even works fine [under debian at least].
thing is - i never trusted those fancy tools... so i do as follows. so i use own scripts based on tw_cli - also downloadable from 3ware website.
once per week i run patrol read:
./tw_cli /c0/u0 start verify
and all the time, every 15 minutes i dump current state of raid:
./tw_cli /c0 show > current.txt
i use very simple nagios plugin to check if current status is identical to expected [ i just compare content of a file to well known status dump that was taken at the beginning ].
if [ `diff current.txt expected.txt|wc -l` -ne 0 ] ; then
echo "CRITICAL - current state of raid does not match expected pattern "
if [ `find . -name current.txt -mmin -16|wc -l` -ne 1 ] ; then
echo "CRITICAL - state file is old "
you would probably put mailing instead of exit 2... or even more probably use 3dm2.