POZOR, temperatura u porastu!

Ovih dana, kad temperature vrtoglavo rastu, na cijeni su naprave zvane "klima uređaj". Sistemcima je ovo doba posebno kritično zbog temperatura u server sobi koju bi trebalo hladiti i odovoditi višak topline. Time produžujemo vijek trajanja ne baš jeftine opreme te povećavamo pouzdanost 24-satnog rada. Međutim sistemci su na godišnjem odmoru, žele se opustiti i što manje brinuti o poslu kojeg preko godine ionako ima previše. No što ako se pokvari klima dok smo na godišnjem?

Ne bismo rado prekidali odmor kako bi konstatirali da se nešto od opreme zbog pregrijavanja pokvarilo, ne želimo dodatni posao, živciranje, financijske štete, gubitak podataka. Bili bismo mirniji kad bi, dok smo na odmoru, na neki način imali nadzor temperature u server sobi. Ipak, svakodnevni nadzor stvarao bi osjećaj da smo na poslu, a mi bismo se ipak rado opustili. Dolazimo na ideju da bi bilo zgodno samo dobiti  alarm, mail poruku ili SMS. Uz pomoć već ranije objavljenih članaka s portala, nešto jeftinih komponenti i open source alata možemo to jednostavno napraviti.

Uzimamo Cubieboard3 sa instaliranim Debianom (Raspberry Pi) pa na njega instaliramo prijamnik za bežično očitanje temperature sa senzora. Očitane podatke temperature treba nekako logirati te poslije obrađivati.

Za redirekciju izlaza i logiranje podataka se vrlo učinkovitom pokazala naredba:

$rtl_433 2>&1 | logger &
[1] 12006

Podaci se zapisuju simultano u /var/log/syslog i /var/log/messages.

Jul  7 06:16:33 localhost logger: Sensor temperature event:
Jul  7 06:16:33 localhost logger: protocol       = Rubicson/Auriol, 36 bits
Jul  7 06:16:33 localhost logger: rid            = 2d
Jul  7 06:16:33 localhost logger: temp           = 25.7
Jul  7 06:16:33 localhost logger: 2d 81 01 f0 00
Jul  7 06:16:33 localhost logger: Temp: 25.7
Jul  7 06:16:33 localhost logger: Humidity: 0
Jul  7 06:17:30 localhost logger: Sensor temperature event:
Jul  7 06:17:30 localhost logger: protocol       = Rubicson/Auriol, 36 bits
Jul  7 06:17:30 localhost logger: rid            = 2d
Jul  7 06:17:30 localhost logger: temp           = 25.8
Jul  7 06:17:30 localhost logger: 2d 81 02 f0 00
Jul  7 06:17:30 localhost logger: Temp: 25.8
Jul  7 06:17:30 localhost logger: Humidity: 0
Jul  7 06:18:27 localhost logger: Sensor temperature event:
Jul  7 06:18:27 localhost logger: protocol       = Rubicson/Auriol, 36 bits
Jul  7 06:18:27 localhost logger: rid            = 2d
Jul  7 06:18:27 localhost logger: temp           = 25.8
Jul  7 06:18:27 localhost logger: 2d 81 02 f0 00
Jul  7 06:18:27 localhost logger: Temp: 25.8
Jul  7 06:18:27 localhost logger: Humidity: 0
Jul  7 06:19:24 localhost logger: Sensor temperature event:
Jul  7 06:19:24 localhost logger: protocol       = Rubicson/Auriol, 36 bits
Jul  7 06:19:24 localhost logger: rid            = 2d
Jul  7 06:19:24 localhost logger: temp           = 25.9
Jul  7 06:19:24 localhost logger: 2d 81 03 f0 00
Jul  7 06:19:24 localhost logger: Temp: 25.9
Jul  7 06:19:24 localhost logger: Humidity: 0

Za alarm mailove na našem Carnet Debian serveru otvorimo poseban alias, nazovimo ga npr. "senzor". Možete postaviti slanje alarma na više adresa koje koristite.

senzor: korisnik, korisnik@gmail.com, korisnik@yahoo.com

Zatim na Cubietruck Debianu instaliramo potrebnu podršku za slanje emailova iz komandne linije slijedećim paketima.

# apt-get install postfix mailutils

Postfix konfiguriramo kao "glupi" mail relay koji proslijeđuje poštu na smtp server. Za "System mail name" možete upisati hostname ako želite. Podatak nema uticaja na slanje email-a.

Isprobamo slanje emaila naredbom iz primjera:

$echo "Ovo je sadrzaj poruke." | mailx -s "Probna poruka sa senzora temperature" senzor@domena.hr

Ako je poruka ispravno poslana, ostaje nam završni dio procedure. Po nekim preporukama temperatura u server sobi s klimom trebala biti oko 21°C u idealnim uvjetima, ali se ne bi trebala spuštati ispod 10 i ne bi trebala biti viša od 28°C, ovisno o režimu rada vaše klime. Možemo se složiti da temperatura preko 30°C treba "okinuti" mail upozorenja. Zadajemo kroz crontab slijedeći posao. "Ako pronađeš vrijednost temperature od 30°C u /var/log/messages šalji mail upozorenja. Provjeravaj log svakih 20 minuta i ne šalji "prazne" mailove "

Ovaj posao opisuje slijedeća naredba u crontab-u.

#crontab -e
#Radi provjeru temperature svakih 20 minuta
*/20 * * * * grep "Temp: 30.0" /var/log/messages | mail --exec 'set nonullbody' -s "POZOR temperatura u porastu ! " senzor@domena.hr

Napominjemo da možemo unijeti i nekoliko istih naredbi za više kritičnih temperatura. Da se ne desi slučajno da senzor "preskoči" neku "okruglo" zadanu znamenku. Stavimo npr. 30.5 30.6 30.7 30.8 i slično. S ovako podešenim sustavom ipak imamo dodatnu sigurnost da klima radi ispravno.

Neki  sistemci, uključujući i mene, ako je to u vrijeme pametnih telefona više uopće moguće:) ne žele svakodnevno provjeravati mailove dok su na odmoru. U tom slučaju bi nam dobro došlo slanje SMS-a. Takva usluga bi se vjerujem dala podesiti pomoću Carnet Nagios sustava.

Ugodan odmor!

Kuharice: 
Kategorije: 
Vote: 
0
No votes yet

Komentari

Samo jedan komentar. Postoji elegantnije rješenje za ove decimale u vrijednosti temperatura. Postavimo stvar ovako:

 

 

*/20 * * * * grep "Temp: 30.*" /var/log/messages | mail --exec 'set nonullbody' -s "POZOR temperatura u porastu ! " senzor@domena.hr

Time smo pokrili mogućnost da nam neka decimalna kritičan vrijednost promakne.