jak to działa???
Plugin jest napisany w Perlu, wykorzystuje protokół SSH do zdalnego wykonania programu na monitorowanym serwerze. Do logowania się na zdalnej maszynie użyłem kluczy RSA by nie było konieczności podawania hasła - opisane tutaj.
UWAGA: Skrypt używa konta roota dla dostępu do zdalnej maszyny - tak wiem jest to niebezpieczne, ale w posiadanym przeze mnie środowisku jest to nieistotne. Można przystosować skrypt do użycia z dowolnym użytkownikiem, który będzie miał możliwość wykonania kodu na zdalnej maszynie.
Oprócz tego potrzebny będzie interfejs CLI kontrolera 3Ware. To za jego pomocą uzyskamy dostęp do kontrolera i stanu poszczególnych komponentów systemu RAID. W zależności od systemu Linux potrzebny będzie jeden z poniższych plików:
tw_cli-linux-x86_64-9.4.1.3.tgz
tw_cli-linux-x86_64-9.5.3.tgz
tw_cli-linux-x86-9.3.0.7.tgz
Program tw_cli odpowiada za bezpośredni dostęp do interfejsu kontrolera, program tw_sched jest portem pomiędzy cronem a tw_cli i pozwala na automatyzację niektórych funkcji, np. cykliczne test macieży. Składnia obu programów jest opisana w załączonej dokumentacji.
Ostatnim krokiem jest konfiguracja Nagiosa - komendy, testy itp.
konfiguracja
Teraz trzeba zebrać to w całość i uruchomić. Zatem po kolei:
1. instalacja tw_cli
Kopiujemy i rozpakowujemy archiwum z oprogramowaniem dla kontrolera
# tar -xvf tw_cli-linux-x86-9.3.0.7.tgz
Program ma bardzo bogaty help, opisany również w manach.
2. instalacja i konfiguracja pluginu
Plik z pluginem należy skopiować do katalogu /usr/lib/nagios/plugins i upewnić się że użytkownik nagios może wykonywać skrypt, np.
-rwxr-xr-x 1 root root 6723 06-25 13:29 check_3ware.pl
Plugin jest to pobrania TUTAJ
Oprócz tego, jeśli to konieczne należy zmienić użytkownika, który loguje się przez SSH do maszyny - linia 55
$conf{'path'} = 'ssh root@';
3. konfiguracja Nagiosa
W katalogu /etc/nagios-plugins/config należy utworzyć plik z konfiguracją komend dla Nagiosa:
# 'check_3ware' command definition
define command{
command_name check_3ware_raid
command_line /usr/lib/nagios/plugins/check_3ware.pl -H $HOSTADDRESS$ -C $ARG1$ -U $ARG2
}
define command{
command_name check_3ware_disc
command_line /usr/lib/nagios/plugins/check_3ware.pl -H $HOSTADDRESS$ -C $ARG1$ -D $ARG2$
}
define command{
command_name check_3ware_bbu
command_line /usr/lib/nagios/plugins/check_3ware.pl -H $HOSTADDRESS$ -C $ARG1$ -B $ARG2$
}
Następnie w pliku konfiguracyjnym dodajemy nowe serwisy, należy pamiętać o zmianie parametru hostgroup_name na odpowiedni dla posiadanej konfiguracji.
define service {
hostgroup_name xen-servers
service_description RAID Unit 0
check_command check_3ware_raid!0!0
use template-service
}
define service {
hostgroup_name xen-servers
service_description RAID Unit 1
check_command check_3ware_raid!0!1
use template-service
}
define service {
hostgroup_name xen-servers
service_description BBU
check_command check_3ware_bbu!0!0
use template-service
}
define service {
hostgroup_name xen-servers
service_description Disc 0
check_command check_3ware_disc!0!0
use template-service
}
define service {
hostgroup_name xen-servers
service_description Disc 1
check_command check_3ware_disc!0!1
use template-service
}
define service {
hostgroup_name xen-servers
service_description Disc 2
check_command check_3ware_disc!0!2
use template-service
}
define service {
hostgroup_name xen-servers
service_description Disc 3
check_command check_3ware_disc!0!3
use template-service
}
Na koniec weryfikujemy konfigurację Nagiosa i restartujemy serwis.
# /usr/sbin/nagios3 -v /etc/nagios3/nagios.cfg
# /etc/init.d/nagios3 restart
4. A oto efekt
Alarm modułu bateryjnego
Alarmu dysku fizycznego i macierzy
working great, good job!
OdpowiedzUsuń