Sistemlerin belli bir sıcaklığı geçtiğinde e-posta ile bildirim yapabilmesi için mbmon'dan yararlandım. Önce mbmon'un çeşitli kullanım parametrelerini görelim:
Default 5 saniyede bir çıktı verir. (Sistem 28 derece. Fan hızı 3000)
# mbmon -A
Temp.= 254.0, 28.0, 201.0; Rot.= 3000, 0, 0
Vcore = 1.18, 1.82; Volt. = 3.41, 6.85, 11.67, -0.00, -1.69
Temp.= 254.0, 28.0, 201.0; Rot.= 3000, 0, 0
Vcore = 1.18, 1.82; Volt. = 3.41, 6.85, 11.67, -0.00, -1.69
...
...
30 saniyede bir çıktı verir.
# mbmon 30 -A
Temp.= 254.0, 28.0, 201.0; Rot.= 3013, 0, 0
Vcore = 1.18, 1.82; Volt. = 3.41, 6.85, 11.67, -0.00, -1.69
...
...
Sadece tek bir çıktı verir.
# mbmon -A -c 1
Temp.= 254.0, 28.0, 201.0; Rot.= 2986, 0, 0
Vcore = 1.18, 1.82; Volt. = 3.41, 6.85, 11.67, -0.00, -1.69
Çıktının formatı aşağıdaki gibi farklı olması için -r parametresi kullanılır.
# mbmon -A -r
TEMP0 : 254.0
TEMP1 : 28.0
TEMP2 : 201.0
FAN0 : 3000
FAN1 : 0
FAN2 : 0
VC0 : +1.18
VC1 : +1.82
V33 : +3.41
V50P : +6.85
V12P : +11.67
V12N : -0.00
V50N : -1.69
Sadece TEMP1 değerini almak için -T parametresi kullanılır:
# mbmon -A -c 1 -T 2
28.0
Sadece FAN0 değerini almak için -F parametresi kullanılır:
# mbmon -A -c 1 -F 1
3000
Diğer kullanım parametreleri ve ayrıntı için tabi ki:
# mbmon -h
MotherBoard Monitor, ver. 2.05 by YRS.
Usage: mbmon [options...] <seconds for sleep> (default 5 sec)
options:
-V|S|I: access method (using "VIA686 HWM directly"|"SMBus"|"ISA I/O port")
-A: for probing all methods, all chips, and setting an extra sensor.
-d/D: debug mode (any other options except (V|S|I) will be ignored)
-e [0-2]: set extra temperature sensor to temp.[0|1|2] (need -A).
-p chip: chip=winbond|wl784|via686|it87|gl52|lm85|lm80|lm90|lm75
for probing chips
-Y: for Tyan Tiger MP/MPX motherboard
-h: print help message(this) and exit
-f: temperature in Fahrenheit
-c count: repeat <count> times and exit
-P port: run in daemon mode, using given port for clients
-T|F [1-7]: print Temperature|Fanspeed according to following styles
style1: data1\n
style2: data2\n
style3: data3\n
style4: data1\ndata2\n
style5: data1\ndata3\n
style6: data2\ndata3\n
style7: data1\ndata2\ndata3\n
-r: print TAG and Value format
-u: print system uptime
-t: print present time
-n|N: print hostname(long|short style)
-i: print integers in the summary(with -T option)
Şimdi bu bilgiler ışığında yazdığım aşağıdaki gibi bir script belirli zaman aralıklarında çalıştırılırsa, sistem ısındığında e-posta ile bize bildirim yapacaktır.
#!/bin/bash
# mbmon -c 1 : 1 kere cikti almak icin
# -T 2 : sicakligin sadece 2. degeri almak icin
# Cikti tamsayi olmadigi icin awk ile noktadan
# onceki deger alinir.
#Sicaklik derecesine gore bildirim.
#DEGER=`mbmon -A -c 1 -T 2|awk -F. '{print $1}'`
# Fan hizina gore bildirim
DEGER=`mbmon -A -c 1 -F 1`
if [ $DEGER -gt 3850 ]
then
echo "Sistem odasinda sicaklik artisi tespit edildi" | mail -s "Sicaklik YUKSEK" bilgiislem@abckurumu.com.tr
fi
exit
20 Mayıs 2009
12 Mayıs 2009
Debian'a MRTG kurulumu
# apt-get install snmpd mrtg apache2
# nano /etc/snmp/snmpd.conf
----------
# sec.name source community
com2sec paranoid default public
#com2sec readonly default public
şöyle değişecek:
# sec.name source community
#com2sec paranoid default public
com2sec readonly default public
--------------
#/etc/init.d/snmpd restart
# mkdir /var/www/mrtg
# cp /etc/mrtg.cfg /etc/mrtg.cfg.yedek
# nano /etc/mrtg.cfg
içini sil ve şunu yapıştır:
WorkDir: /var/www/mrtg
Options[_]: bits,growright
# cfgmaker public@localhost >> /etc/mrtg.cfg
# indexmaker /etc/mrtg.cfg > /var/www/mrtg/index.html
5 dk. bir çalışacak komut şurada:
# cat /etc/cron.d/mrtg
*/5 * * * * root if [ -x /usr/bin/mrtg ] && [ -r /etc/mrtg.cfg ]; then env LANG=C /usr/bin/mrtg /etc/mrtg.cfg >> /var/log/mrtg/mrtg.log 2>&1; fi
Grafikleri 5 dk. beklemeden hemen görmek için :
# env LANG=C /usr/bin/mrtg /etc/mrtg.cfg >> /var/log/mrtg/mrtg.log 2>&1
Sayfayı görmek için:
http://mrtg_server/mrtg
Kaydol:
Kayıtlar (Atom)