MRTG + SMART Как следить за температурой винчестера в FreeBSD?
(отвечает Анатолий Сидорук)
Мой ответ есть на http://xgu.ru/wiki
Здесь просто повторюсь так как видел кто-то спрашивал
Графики в MRTG рисуются ОБЯЗАТЕЛЬНО по 2-м значениям поэтому нам нужно их получить
Исходные данные
1. ОС FreeBSD 6.3-RELEASE
2. Два жестких диска SATA
gor# df -h
Filesystem Size Used Avail Capacity Mounted on
/dev/ad0s1a 496M 56M 400M 12% /
/devfs 1.0K 1.0K 0B 100% /dev
/dev/ad0s1f 97G 8.8G 80G 10% /Data
/dev/ad0s1e 3.9G 22K 3.6G 0% /tmp
/dev/ad0s1g 113G 1.9G 102G 2% /usr
/dev/ad0s1d 3.9G 75M 3.5G 2% /var
/dev/ad1s1d 226G 28G 179G 14% /Backup
/devfs 1.0K 1.0K 0B 100% /var/named/dev
Задача: построить графики температуры для диска /dev/ad0
[править] Решение
1. Из портов ставим /usr/ports/sysutils/smartmontools/
2. Запускаем и смотрим значения температуры винчестера в градусах Цельсия (в данном примере 27)
gor# /usr/local/sbin/smartctl -a -s on /dev/ad0 | grep Temp
190 Airflow_Temperature_Cel 0x0022 071 069 045 Old_age Always - 27 (Lifetime Min/Max 24/31)
194 Temperature_Celsius 0x0022 029 040 000 Old_age Always - 27 (0 16 0 0)
Профильтруем этот вывод и получим 2 числа значений (в данном примере 27 градусов) температуры, по которым построим график температуры жесткого диска в MRTG
gor# /usr/local/sbin/smartctl -a -s on /dev/ad0 | grep Temp | awk -F " " '{print $10}'
27
27
3. Создадим вот такой конфигурационный файл для MRTG: файл /usr/local/etc/mrtg/hdd-mrtg.conf
#
WorkDir: /usr/local/www/data/hdd_temp
Language: ukrainian
#
Background[^]: #a0a0a0a
Options[^]: nopercent, nobanner, unknaszero, growright, gauge, transparent
Title[hdd_temp]: HDD Temperature Server HP 100 Proliant
Target[hdd_temp]: `/usr/local/sbin/smartctl -a -s on /dev/ad0 | grep Temp | awk -F " " '{print $10}'`
Options[hdd_temp]: nobanner, unknaszero, growright, nopercent, gauge, transparent
LegendI[hdd_temp]: Temperature HDD
LegendO[hdd_temp]:
YLegend[hdd_temp]: C
MaxBytes[hdd_temp]: 200
AbsMax[hdd_temp]: 200
ShortLegend[hdd_temp]: Grad
PageTop[hdd_temp]: <h1><B>Server HP 110 HDD Temperature</B></h1>
Legend1[hdd_temp]: HDD Temperature Server HP 100 Proliant
4. Создаем рабочий каталог куда будут записываться данные для графиков (в конфиге он указан как WorkDir: /usr/local/www/data/hdd_temp)
gor#mkdir usr/local/www/data/hdd_temp
5. Из портов /usr/ports/net-mgmt/mrtg установим MRTG
6. Запускаем MRTG c указанием ему созданного конфиг файла /usr/local/bin/mrtg /usr/local/etc/mrtg/hdd-mrtg.conf
7. При запуске MRTG первый раз он даже если нет ошибок в конфиге все равно выдаст четыре предупреждения (не пугайтесь это нормально)
gor# mrtg /usr/local/etc/hdd-mrtg.conf
2009-06-19 15:37:18, Rateup WARNING: /usr/local/bin/rateup could not read the primary log file
2009-06-19 15:37:18, Rateup WARNING: /usr/local/bin/rateup The backup log file for hdd_temp was invalid
2009-06-19 15:37:18, Rateup WARNING: /usr/local/bin/rateup Can't remove hdd_temp.old updating log file
2009-06-19 15:37:18, Rateup WARNING: /usr/local/bin/rateup Can't rename hdd_temp.log to hdd_temp.old
8. Заходим в рабочий каталог для графиков /usr/local/www/data/hdd_temp и смотрим появились ли там данные
gor# cd /usr/local/www/data/hdd_temp/
gor# ls -Al
total 116
-rw-r--r-- 1 root wheel 1322 Jun 19 15:40 hdd_temp-day.png
-rw-r--r-- 1 root wheel 1199 Jun 19 15:37 hdd_temp-month.png
-rw-r--r-- 1 root wheel 1321 Jun 19 15:37 hdd_temp-week.png
-rw-r--r-- 1 root wheel 1608 Jun 19 15:37 hdd_temp-year.png
-rw-r--r-- 1 root wheel 4664 Jun 19 15:40 hdd_temp.html
-rw-r--r-- 1 root wheel 48205 Jun 19 15:40 hdd_temp.log
-rw-r--r-- 1 root wheel 48182 Jun 19 15:37 hdd_temp.old
-rw-r--r-- 1 root wheel 538 Jun 19 15:37 mrtg-l.png
-rw-r--r-- 1 root wheel 414 Jun 19 15:37 mrtg-m.png
-rw-r--r-- 1 root wheel 1759 Jun 19 15:37 mrtg-r.png
9. В файл /etc/crontab добвавляем строчку для запуска MRTG каждые 5 минут (меньше нельзя !!!)
# HDD Temperature
*/5 * * * * root /usr/local/bin/mrtg /usr/local/etc/mrtg/hdd-mrtg.conf
10. Минут через 10 заходим на страничку http://IP-Ваш/hdd_temp/hdd_temp.html и смотрим красивый график температуры на сером фоне который будет обновляться каждые 5 минут
(отвечает Анатолий Сидорук)
Мой ответ есть на http://xgu.ru/wiki
Здесь просто повторюсь так как видел кто-то спрашивал
Графики в MRTG рисуются ОБЯЗАТЕЛЬНО по 2-м значениям поэтому нам нужно их получить
Исходные данные
1. ОС FreeBSD 6.3-RELEASE
2. Два жестких диска SATA
gor# df -h
Filesystem Size Used Avail Capacity Mounted on
/dev/ad0s1a 496M 56M 400M 12% /
/devfs 1.0K 1.0K 0B 100% /dev
/dev/ad0s1f 97G 8.8G 80G 10% /Data
/dev/ad0s1e 3.9G 22K 3.6G 0% /tmp
/dev/ad0s1g 113G 1.9G 102G 2% /usr
/dev/ad0s1d 3.9G 75M 3.5G 2% /var
/dev/ad1s1d 226G 28G 179G 14% /Backup
/devfs 1.0K 1.0K 0B 100% /var/named/dev
Задача: построить графики температуры для диска /dev/ad0
[править] Решение
1. Из портов ставим /usr/ports/sysutils/smartmontools/
2. Запускаем и смотрим значения температуры винчестера в градусах Цельсия (в данном примере 27)
gor# /usr/local/sbin/smartctl -a -s on /dev/ad0 | grep Temp
190 Airflow_Temperature_Cel 0x0022 071 069 045 Old_age Always - 27 (Lifetime Min/Max 24/31)
194 Temperature_Celsius 0x0022 029 040 000 Old_age Always - 27 (0 16 0 0)
Профильтруем этот вывод и получим 2 числа значений (в данном примере 27 градусов) температуры, по которым построим график температуры жесткого диска в MRTG
gor# /usr/local/sbin/smartctl -a -s on /dev/ad0 | grep Temp | awk -F " " '{print $10}'
27
27
3. Создадим вот такой конфигурационный файл для MRTG: файл /usr/local/etc/mrtg/hdd-mrtg.conf
#
WorkDir: /usr/local/www/data/hdd_temp
Language: ukrainian
#
Background[^]: #a0a0a0a
Options[^]: nopercent, nobanner, unknaszero, growright, gauge, transparent
Title[hdd_temp]: HDD Temperature Server HP 100 Proliant
Target[hdd_temp]: `/usr/local/sbin/smartctl -a -s on /dev/ad0 | grep Temp | awk -F " " '{print $10}'`
Options[hdd_temp]: nobanner, unknaszero, growright, nopercent, gauge, transparent
LegendI[hdd_temp]: Temperature HDD
LegendO[hdd_temp]:
YLegend[hdd_temp]: C
MaxBytes[hdd_temp]: 200
AbsMax[hdd_temp]: 200
ShortLegend[hdd_temp]: Grad
PageTop[hdd_temp]: <h1><B>Server HP 110 HDD Temperature</B></h1>
Legend1[hdd_temp]: HDD Temperature Server HP 100 Proliant
4. Создаем рабочий каталог куда будут записываться данные для графиков (в конфиге он указан как WorkDir: /usr/local/www/data/hdd_temp)
gor#mkdir usr/local/www/data/hdd_temp
5. Из портов /usr/ports/net-mgmt/mrtg установим MRTG
6. Запускаем MRTG c указанием ему созданного конфиг файла /usr/local/bin/mrtg /usr/local/etc/mrtg/hdd-mrtg.conf
7. При запуске MRTG первый раз он даже если нет ошибок в конфиге все равно выдаст четыре предупреждения (не пугайтесь это нормально)
gor# mrtg /usr/local/etc/hdd-mrtg.conf
2009-06-19 15:37:18, Rateup WARNING: /usr/local/bin/rateup could not read the primary log file
2009-06-19 15:37:18, Rateup WARNING: /usr/local/bin/rateup The backup log file for hdd_temp was invalid
2009-06-19 15:37:18, Rateup WARNING: /usr/local/bin/rateup Can't remove hdd_temp.old updating log file
2009-06-19 15:37:18, Rateup WARNING: /usr/local/bin/rateup Can't rename hdd_temp.log to hdd_temp.old
8. Заходим в рабочий каталог для графиков /usr/local/www/data/hdd_temp и смотрим появились ли там данные
gor# cd /usr/local/www/data/hdd_temp/
gor# ls -Al
total 116
-rw-r--r-- 1 root wheel 1322 Jun 19 15:40 hdd_temp-day.png
-rw-r--r-- 1 root wheel 1199 Jun 19 15:37 hdd_temp-month.png
-rw-r--r-- 1 root wheel 1321 Jun 19 15:37 hdd_temp-week.png
-rw-r--r-- 1 root wheel 1608 Jun 19 15:37 hdd_temp-year.png
-rw-r--r-- 1 root wheel 4664 Jun 19 15:40 hdd_temp.html
-rw-r--r-- 1 root wheel 48205 Jun 19 15:40 hdd_temp.log
-rw-r--r-- 1 root wheel 48182 Jun 19 15:37 hdd_temp.old
-rw-r--r-- 1 root wheel 538 Jun 19 15:37 mrtg-l.png
-rw-r--r-- 1 root wheel 414 Jun 19 15:37 mrtg-m.png
-rw-r--r-- 1 root wheel 1759 Jun 19 15:37 mrtg-r.png
9. В файл /etc/crontab добвавляем строчку для запуска MRTG каждые 5 минут (меньше нельзя !!!)
# HDD Temperature
*/5 * * * * root /usr/local/bin/mrtg /usr/local/etc/mrtg/hdd-mrtg.conf
10. Минут через 10 заходим на страничку http://IP-Ваш/hdd_temp/hdd_temp.html и смотрим красивый график температуры на сером фоне который будет обновляться каждые 5 минут