Jak sprawić, by moje serwery HP wysłały mi wiadomość e-mail, gdy dysk ulegnie awarii?

11

Idealnie, przy możliwie jak najprostszej instalacji i bez konieczności ponownego uruchamiania serwerów. Głównie DL380 G5'sjeśli, jeśli to pomaga.

DrZaiusApeLord
źródło
Szkoda, że ​​to nie są G7, albo możesz użyć HP Insight Manager.
Tom O'Connor,
Czy na Twoich serwerach działa system Windows lub Linux?
Tom O'Connor,
Jakie systemy operacyjne działają na tych serwerach?
ewwhite
Wszystkie są w 2003 lub 2008 roku zarówno waniliowe, jak i R2. Grałem z SIM, ale nie było w stanie rozmawiać z moimi G5.
DrZaiusApeLord,
Karta SIM powinna nadal być kompatybilna z G5 ProLiantami. Czy masz wcześniej zainstalowane agenty?
ewwhite

Odpowiedzi:

16

Zależy to nieco od systemów operacyjnych uruchomionych na serwerach, ale ogólnie możliwe jest uzyskiwanie alertów z serwerów HP ProLiant i kontrolerów RAID Smart Array.

Pełna lista sterowników i wsparcia dla oprogramowania dla systemów DL380 G5 znajduje się tutaj .

SNMP i rozwiązanie do monitorowania to najlepsze podejście ... Ale możesz to zwiększyć za pomocą niektórych narzędzi HP. HP oferuje HP Systems Insight Manager , który jest dostępny do pobrania, a także jest dostarczany z serwerami. Jest to idealne rozwiązanie do kolekcji serwerów. Jeśli szukasz jednorazowych alertów bez budowania infrastruktury zarządzania lub monitorowania, możesz po prostu zainstalować HP Management Agent (aka ProLiant Support Pack ).

W przypadku samodzielnych systemów Linux agenci będą wysyłać pułapki pocztą e-mail. Zazwyczaj konfiguruję pakiet wsparcia z ustawieniami domyślnymi lub niestandardowym pakietem , a następnie edytuję /opt/hp/hp-snmp-agents/cma.confi zmieniam trapemailwiersz, aby wskazywał adres odbiorcy:

########################################################################
# trapemail is used for configuring email command(s) which will be
# executed whenever a SNMP trap is generated.
# Multiple trapemail lines are allowed.
# Note: any command that reads standard input can be used. For example:
#             trapemail /usr/bin/logger
#       will log trap messages into system log (/var/log/messages).
########################################################################
trapemail /bin/mail -s 'HP Insight Management Agents Trap Alarm' [email protected]

Jeśli korzystasz z systemu Linux i nie chcesz instalować pełnego pakietu zarządzania HP, możesz opracować skrypt wokół narzędzia cciss_vol_status w celu zapytania o status kontrolera / dysku. Zobacz także: Instalowanie agentów HP w OpenFiler

ewwhite
źródło
jest jakiś elegancki sposób przetestowania alertu pod kątem awarii macierzy RAID, inny niż wyciągnięcie dysku z gniazda? Mam kilka ProLiant DL360 G7serwerów i zestaw HP SIM do monitorowania.
Banjer
Nie żebym o tym wiedział. Agenci Insight zdecydowanie działają. Jeśli możesz sprawdzić status macierzy za pomocą narzędzia hpacucli i wiesz, że otrzymujesz alerty w HP SIM, myślę, że można założyć, że wszystko będzie działać.
ewwhite
3

Użyłem lekkiego programu, o którym @ewwite wspomniał w swojej odpowiedzi: cciss_vol_status

Jeśli zastosujesz się do instrukcji INSTALL, skrypt zostanie umieszczony w /usr/local/bin/cciss_vol_status.

Oto skrypt opakowania, którego używam do grepowania danych wyjściowych cciss_vol_status i wysyłania wiadomości e-mail, jeśli jakakolwiek tablica ma status FAILED.

#!/bin/bash
#
# Check status of RAID volumes on HP Smart Array controllers.  Send an email
# alert if any volumes have a FAILED status.
#
status=`/usr/local/bin/cciss_vol_status /dev/sd*`

# email lock file
lockfile=/tmp/raid.check.hp.smartarray.lock
# how often to send an email (minutes)
_notification_freq=59
_host=`hostname`
# To: email
_toemail=root

# create email lock file
[ ! -f ${lockfile} ] && /bin/touch ${lockfile}

if echo $status | grep -q FAILED
then
    # make sure we haven't sent a notification in the last X minutes
    if test `find ${lockfile} -mmin +${_notification_freq}`
    then
        echo -e "${status}" | /bin/mail -s "System Alert! RAID failure on ${_host}" ${_toemail}

        # update lock file mod time
        /bin/touch ${lockfile}
    fi
fi

Wywołaj powyższy skrypt w cron. Sprawdzam co dwie minuty:

*/2 * * * * /usr/local/bin/raid.check.hp.smartarray.sh

Używamy HP System Insight Manager, aby sprawdzić, czy nasze HP są uruchomione, ale nic poza tym. Stwierdziłem, że agent Linuksa jest dla nas przesadny, ponieważ mamy inne rozwiązania monitorujące, więc powyższy skrypt dobrze służy swojemu konkretnemu celowi.

AKTUALIZACJA

Tylko wskazówka dotycząca rozwiązywania problemów na wypadek, gdybyś na to wpadł. Ten skrypt okazał się pomocny dziś rano, gdy otrzymałem wiadomość e-mail o uszkodzonej tablicy z:

Osiągnięto limit zabrudzenia pamięci podręcznej

Urządzenie przeszło tylko do odczytu i nie było widoczne w /proc/partitions. Uruchomiłem ponownie serwer i zobaczyłem te komunikaty przy starcie:

Dyski logiczne zostały wyłączone z powodu możliwej utraty danych. Wybierz „F1”, aby kontynuować z wyłączonymi dyskami logicznymi. Wybierz „F2”, aby zaakceptować utratę danych i ponownie włączyć dyski logiczne.

Wybrałem F2, a RAID był w porządku i zamontowany przy rozruchu.

Banjer
źródło
1

zainstaluj smartmontools. E-maile PRZED awarią dysku.

Stephan
źródło
2
~ 30% czasu. SMART nie jest srebrną kulą.
HopelessN00b