Nagios

DELL SAS5i – Monitoring

Dank einem Mitleser (nochmal danke an dieser Stelle) sah man doch endlich den Wald trotz der ganzen Bäume. Wie das ganze in Nagios eingebunden wird ist ja seit 3ware Monitoring bekannt. Auf Nagios Seite muss nichts Neues eingebunden werden. Wir ändern nur das check_raid Script auf Client Seite:

/root/script/check_mpt

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#!/bin/sh
#
# This script checks
#
# - RAID Status
# - Drive Status
#
# on a DELL SAS5i RAID Controller.
#
# returns 1 if RAID error was detected, 2 if DISK error was detected
#
# Q-MEX Networks info aet q-mex.net
# 2007-11-22
# mpt_cli binary location
MPTCLI=/usr/sbin/mpt-status
# get complete status
STATUS_CONTROLLER=`$MPTCLI`
# check for RAID status
STATUS_RAID=$($MPTCLI | grep vol_id\ 0 | sed s/,//g | awk '{print $(NF-2)}')
if [ $STATUS_RAID != "OPTIMAL" ]; then
STATUS_RAID="CRITICAL"
exit 1
fi
# check for disk status
STATUS_DISKS=$($MPTCLI | grep phy\ | sed s/,//g | awk '{print $(NF-2)}')
if [ ! -z $(echo "$STATUS_DISKS" | grep -v "^ONLINE$") ]; then
STATUS_RAID= "CRITICAL"
exit 2
fi
if [ $STATUS_RAID == "OPTIMAL" ]; then
STATUS_RAID="OK"
fi
#STATUS_RAID="CRITICAL"
echo $STATUS_RAID

Es wird natürlich die mpt-status Binary gebraucht, die es sogar in Portage unter dem Namen gibt. Allerdings gibt es einen Stolperstein:

Wird nur der Fusion MPT SAS Treiber in den Kernel eingebunden, taucht die “Fusion MPT misc device (ioctl) driver” Option garnicht auf, die uns ein /dev/mptctl zur Verfügung stellt. Erst wenn zusätzlich der SPI oder FC Treiber zumindest als Modul mit eingebunden wird, taucht diese Option erst auf.

3 thoughts on “DELL SAS5i – Monitoring”

  1. Kein Problem fuer den Tipp. Ich finde ja auch zu genuege welche auf Deiner Seite 🙂

    Dein Skript koenntest Du noch was schlanker machen wenn Du moechtest:

    ******
    $ mpt-status -s
    vol_id 0 OPTIMAL
    phys_id 1 ONLINE
    phys_id 0 ONLINE
    ******

  2. Die Zeile

    > STATUS_CONTROLLER=`$MPTCLI`

    kannst Du rausschmeißen. Andererseite könntest Du die “$MPTCLI”-Aufrufe auch einfach durch

    > echo “$STATUS_CONTROLLER”

    ersetzen, dann wird das mpt-binary nur einmal aufgerufen.

    Gruß,
    Marcel.

  3. @Marcel
    Das kann ich erklären. Erst sollte es ein echo $Status_CONTROLLER werden wie auch bei dem 3ware Script, dann gab es gestern aber einen lustigen Fehler, von daher.

    Die meisten Scripte die ich hier “anbiete” wurden entweder von mir oder unserem Linuxer (wie dieses) innerhalb weniger Sekunden zusammengestrickt. Perfektion ist nicht angestrebt, es muss nur laufen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert