Raid:LSI Monitoring

From SME Server
Revision as of 13:47, 27 August 2010 by Davidbray (talk | contribs) (Created page with '(:title LSI Controller Monitoring:) == LSI Controller Monitoring under Linux == === Download === From http://www.drugphish.ch/~ratz/mpt-status/ http://www.drugphish.ch/~…')
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

(:title LSI Controller Monitoring:)

LSI Controller Monitoring under Linux

Download

From
  http://www.drugphish.ch/~ratz/mpt-status/
  http://www.drugphish.ch/~ratz/mpt-status/RPMS/1.2.0_RC7/
download
  [[1]]

Install

yum localinstall mpt-status-1.2.0_RC7-3.i386.rpm

Support Program

  • CheckMPT
#!/usr/bin/perl
# With credit to :
#   => check_mpt.pl Copyright (C) 2006 Claudio Messineo <claudio@zero.it>

$mpt_path="/usr/sbin/mpt-status";
$num_raid=2;
$enabled=1;
$sendto="admin";
$sendfrom="admin";

`/sbin/modprobe mptctl`;
sleep 1;

if ( ! open( MPT_STAT, " $mpt_path | " ) ) {
    print "ERROR: could not open $mpt_path\n";
    exit 1;
} else {
    while (<MPT_STAT>) {
        if ( $_ =~ m/ENABLED/ ) {
            # print "$_";
            $enabled--;
        }
        if ( $_ =~ m/ONLINE/ ) {
             # print "$_";
             $num_raid--;
        }
        next;
    }

    my $hostname=`/bin/hostname -f 2>&1`;
    chomp($hostname);
    if (($num_raid==0) and ($enabled==0)) {

#        sendEmail( $sentto, $sendfrom, "$hostname Mpt-status OK", "$results" );
#        print "$hostname Mpt-status OK\n";
         exit 0;
    } else {

        sendEmail( $sentto, $sendfrom, "$hostname Mpt-status Alert", "$results" );
        print "$hostname Mpt-status Alert\n";
        exit 1;
    }
}

# Simple Email Function
# ($to, $from, $subject, $message)
sub sendEmail {
    my ($to, $from, $subject, $message) = @_;
    my $sendmail = '/var/qmail/bin/sendmail';
    open(MAIL, "|$sendmail -f $from -oi -t");
        print MAIL "From: $from\n";
        print MAIL "To: $to\n";
        print MAIL "Subject: $subject\n\n";
        print MAIL "$message\n";
    close(MAIL);
}