Monitorowanie temperatury na serwerach GNU/Linux Unix przy pomocy Opsview

Czasami dobrze wiedzieć co dzieje się w ciemnej zimnej serwerowni gdzie ostatni raz byliśmy rok temu:). Mam tutaj na myśli kwestie temperatury na naszym procesorze czy dysku, nie muszę mówić że lepiej żeby ona nie przekraczała temperatury wrzenia wody:). W tym celu zainstalujemy na naszym serwerze Opsview, lm_sensors oraz hddtemp. Ważne aby mieć zainstalowanego na serwerze Nagios’a, o czym pisałem wcześniej http://geek-admin.blogspot.com/2012/12/nagios-monitor-serwerow.html

1) Wstęp:

Musimy zarejestrować się na stronie http://www.opsview.com/

Następnie musimy dodać do repozytorium link do Opsview, wpisujemy login oraz hasło:

 nano /etc/apt/sources.list.d/opsview.list

dodajemy:

deb https://username:password@downloads.opsview.com/opsview-commercial/latest/apt squeeze main

Zamiast username oraz password wpisujemy nasze dane do logowania.

Następnie musimy zainstalować Opsview:

apt-get install opsview

lub pobieramy paczkę .deb, następnie ją instalujemy, gdzie package to nazwa naszej paczki, oczywiście musimy wiedzieć gdzie on się znajduje, i tam przechodzimy:

sudo dpkg -i package.deb

Następnie:

mkdir /var/www/mrtg 

Powinniśmy móc zalogować się do programu przez przeglądarkę, wydając polecenie:

http://adresip:3000

2) Instalacja czujników: lm_sensors oraz hddtemp:

apt-get install lm_sensors hddtemp

Musimy odpalić detekcję zdarzeń, uruchamiamy na prawach roota:

sensors-detect

Możemy teraz w podstawowym zakresie zobaczyć temperaturę naszej maszyny:

Dysk: hddtemp /dev/sda

/dev/sda: ST3120811AS: 31°C

Procesor: sensors

coretemp-isa-0000
Adapter: ISA adapter
Core 0:      +38.0°C  (high = +84.0°C, crit = +100.0°C)
Core 1:      +39.0°C  (high = +84.0°C, crit = +100.0°C)
Core 2:      +37.0°C  (high = +84.0°C, crit = +100.0°C)
Core 3:      +38.0°C  (high = +84.0°C, crit = +100.0°C)

i5k_amb-isa-0000
Adapter: ISA adapter
Ch. 0 DIMM 0: +67.0°C  (low  = +110.5°C, high = +124.0°C)
Ch. 1 DIMM 0: +62.0°C  (low  = +110.5°C, high = +124.0°C)



3) Instalujemy check_lm_sensors:

Pobieramy check_lm_sensors, następnie kopiujemy go do /usr/local/nagios/libexec, następnie:

tar -zxvf check_lm_sensors-3.1.1.tar.gz

Następnie testujemy działanie naszych sensorów zbierających dane:

/usr/local/nagios/libexec/check_lm_sensors-3.1.1/check_lm_sensors –list

Jeżeli pokazują się nam jakieś błędy musimy do check_lm_sensors dodać na początku:

use lib „/usr/local/nagios/perl/lib/”; 

4) Dodamy użytkownika nagios’a, tak aby można było pokazać statystyki temperatury:

chmod +x /usr/local/nagios/libexec/check_lm_sensors-3.1.1/check_lm_sensors
chown –R nagios:nagios /usr/local/nagios/libexec/check_lm_sensors-3.1.1/
Do /etc/sudoers dodajemy:


nagios ALL=(root) NOPASSWD:/usr/local/nagios/libexec/check_lm_sensors-3.1.1/check_lm_sensors

dzięki czemu będziemy mogli lm_sensors odpalać jako root.

Konfigurujemy podzespoły do kontroli temperatury:

nano /usr/local/nagios/etc/nrpe_local/override.cfg

dodajemy info o 4 rdzeniach, oczywiście poniższe linijki do core3 możemy powielić w zalezności od liczby rdzeni u nas:


check_command[core0_temp]=sudo /usr/local/nagios/libexec/check_lm_sensors-3.1.1/check_lm_sensors –sanitize –high Core0=45,55

check_command[core1_temp]=sudo /usr/local/nagios/libexec/check_lm_sensors-3.1.1/check_lm_sensors –sanitize –high Core1=45,55

check_command[core2_temp]=sudo /usr/local/nagios/libexec/check_lm_sensors-3.1.1/check_lm_sensors –sanitize –high Core2=45,55

check_command[core3_temp]=sudo /usr/local/nagios/libexec/check_lm_sensors-3.1.1/check_lm_sensors –sanitize –high Core3=45,55

check_command[dimm0_temp]=sudo /usr/local/nagios/libexec/check_lm_sensors-3.1.1/check_lm_sensors –sanitize –high Ch.0DIMM0=60,75

check_command[dimm1_temp]=sudo /usr/local/nagios/libexec/check_lm_sensors-3.1.1/check_lm_sensors –sanitize –high Ch.1DIMM0=60,75

check_command[sda_temp]=sudo /usr/local/nagios/libexec/check_lm_sensors-3.1.1/check_lm_sensors –sanitize –high sdaTemp=60,75

Musimy przeładować nasze środowisko:

service opsview-agent restart

Powinniśmy w nagios otrzymać nowe opcje:


./check_nrpe –H localhost –c dimm0_temp

w odpowiedzi otrzymamy:

LM_SENSORS WARNING – Ch.0DIMM0=67.0|Ch.0DIMM0=67.0;60;75;;

Odpalamy Opsview przez przeglądarkę http://adresip:3000.

Przechodzimy kolejno: SETTINGS -> SERVICE CHECKS oraz symbol + (plus). Następnie dodajemy check_nrpe oraz -H $HOSTADDRESS$ -cdimm0_temp:




Następnie po Submit Changes przechodzimy do: SETTINGS -> HOSTS klikamy na nasz host następnie wybieramy MONITORS. Powinniśmy zobaczyć naszą konfgurację z override.cfg tak jak na zdjęciu niżej:



Robimy reload Opsview:

SETTINGS -> APPLY CHANGES następnie reload configurations. Powinniśmy zobaczyć temperature na procesorze oraz dysku:

Możemy tworzyć powiadomienia o stanie temperatury naszej maszyny.


Dziękuję Ci, za poświęcony czas na przeczytanie tego artykułu. Jeśli był on dla Ciebie przydatny, to gorąco zachęcam Cię do zapisania się na mój newsletter, jeżeli jeszcze Cię tam nie ma. Proszę Cię także o “polubienie” mojego bloga na Facebooku oraz kanału na YouTube – pomoże mi to dotrzeć do nowych odbiorców. Raz w tygodniu (niedziela punkt 17.00) otrzymasz powiadomienia o nowych artykułach / projektach zanim staną się publiczne. Możesz również pozostawić całkowicie anonimowy pomysł na wpis/nagranie.

Link do formularza tutaj: https://beitadmin.pl/pomysly

Pozostaw również komentarz lub napisz do mnie wiadomość odpisuję na każdą, jeżeli Masz jakieś pytania:).

2 komentarze do “Monitorowanie temperatury na serwerach GNU/Linux Unix przy pomocy Opsview”

Dodaj komentarz

beitadmin.pl - Droga Administratora IT