Ru-Board.club
← Вернуться в раздел «UNIX»

» MRTG+SMART Строим график температуры жесткого диска

Автор: samsobaka
Дата сообщения: 24.06.2009 17:01
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 минут
Автор: legioner1
Дата сообщения: 30.06.2011 17:12
как быть с решением проблемы Target[hdd_temp][_OUT_] ' $target->[0]{$mode} ' did not eval into defined data Use of uninitialized value $outlast in pattern match (m//) at /usr/local/bin/mrtg line 1047.
Автор: cybermerlin
Дата сообщения: 15.06.2013 00:49
а еще возникает такая проблема
ERROR: Target[hdd_temp][_OUT_] ' $target->[0]{$mode} ' did not eval into defined data

видно автор своровал с другого сайта этот текст и скрылся

Страницы: 1

Предыдущая тема: Apache2 + SSL = Help me please...


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.