Меню

Температура жестких дисков freebsd



Мониторим температуру жестких дисков серверов с FreeBSD посредством cacti

Наконец я добрался до мониторинга температуру жестких дисков в FreeBSD, кстати подтолкнуло внезапное октябрьское похолодание до -5 градусов и некоторая прохлада в неотапливаемой серверной. Итак, вооружаемся нашим привычными инструментами: cacti, snmp и smartctl, как датчик температуры.

Прежде всего надо установить порт smartmontools (/usr/ports/sysutils). После установки проверяем работу утилиты

Если так, то все «окейно», как говорил герой одного советского фильма времен конца застоя, предвкушаем скорую победу, в противном случае ждем удобного случая проверить, разрешен ли smart в BIOS.

Если со smart всё впорядке, на сервере создаем скриптик /usr/local/etc/snmp/hddtemp.sh и пишем туда следующие строки:

Вместо ad0 нужно подставить символическое имя диска в вашей системе. В файл конфигурации net-snmp (как правило это /usr/local/etc/snmpd.conf ) добавляем строкус описанием скрипта после описания community, примерно так:

exec hddtemp /usr/local/etc/snmp/hddtemp.sh

Это создает пользовательский OID .1.3.6.1.4.1.2021.8.1. Перегружаем демон snmpd и проверяем работу:

Если у вас тоже всё нормально и получается температура жесткого диска, переходим к настройке cacti. Качаем шаблон и создаем источник данных и график на основе шаблона hddtemp. В свойствах источника данных пишем OID .1.3.6.1.4.1.2021.8.1.101.1 и IP-адрес хоста, который будем мониторить.Через 10 минут получите на графике первую точку! Вот такая идея, естественно, что на еёё основе можно строить графики и нескольких жестких дисков, если вы являетесь счастливым обладателем такой системы.

Источник

Блог gigimon’а

← Узнаем температуру винчестеров в Linux и FreeBSD

08 мая 2009 — *nix — freebsd linux smart винт мониторинг температура

Очень часто для мониторинга работы системы требуется узнавать температуру жестких дисков, для этого в Linux и FreeBSD существуют разные программы.

В Linux, мы будем использовать программу hddtemp, а во FreeBSD — smartctl.

Для начала установим данный пакет. В Gentoo Linux потребуется:

После установки пакета, его настройки не требуется, а можно сразу узнавать температура винтов.

Чтобы узнать температура винта, требуется в консоли:

где /dev/vint ваш жесткий диск (например: dev/sda)

После ввода команды, получим:

Также, полезным является ввод нескольких жестких дисков:

У hddtemp есть еще 1 достаточно интересная функция для мониторинга, это возможнонсть висеть демоном на опредленном порту и по запросу, отдавать страницу с данными о температуре винтов в CSV формате. Для этого требуется команда:

где -4d означает режим демона, но только по протоколу IPv4. По умолчанию, он занимает порт 7634 и если на него зайти, то увидим:

  1. Использование smartctl во FreeBSD

Для установки делаем следующее:

После этого, нам становится доступна команда smartctl, которая будет показывать информацию о винтах. Данная программа показывает не только температуру, но и всю S.M.A.R. T информацию жесткого диска (но нас это сейчас не интересует).

Для того, чтобы узнать температура жесткого диска вводим в консоли:

Результатом работы будет выведена температура диска в градусах Цельсия.

К сожалению, на некоторых винчестерах температуа может не показаться, поэтому требуется использовать вывод полной информации S.M.A.R. T

Помимо самой команды smartctl, в системе появилась smartd, которая позволяет запустить демона для ведения логов о температуре в syslogd.

Читайте также:  Жесткие диски для самсунг нетбуков

Источник

Media UniX

freebsd команды, настройка, установка сервера и не только

S.M.A.R.T. во FreeBSD — мониторинг состояния hdd

Мониторинг — штука полезная, а мониторинг состояния винчестера (HDD) вещь необходимейшая, ибо ничего так не расстраивает, как внезапно вышедший из строя накопитель…, а если ещё и бэкапов нет, то совсем беда. Для мониторинга будем использовать S.M.A.R.T. во FreeBSD.
Устанавливаем:
make BATCH=yes -C/usr/ports/sysutils/smartmontools install clean

После того как установится, переходим к настройкам.
в /etc/rc.conf для автозапуска smartd после перезагрузки ОС добавляем:
smartd_enable=»YES»

посмотреть установленные винчестеры, можно через:
dmesg

у меня там строки c информацией о hdd:
ad0: 1907729MB at ata0-master SATA300
ad2: 1907729MB at ata1-master SATA300
ad4: 38166MB at ata2-master UDMA100

можно было уменьшить количество выводимых строк, выполнив:
cat /var/run/dmesg.boot | grep «ata»

Судя по строкам, имеется 3 hdd: 2-а sata по 2Тб (ad0, ad2) и один на 40Гб(ad4), подключённый по IDE.
В случае исользования zfs, а именно эту файловую систему я использую для винчестеров по 2Тб, в /etc/fstab смотреть бесполезно, там они не прописаны.

Перейдём к конфигурационному файлу, скопируем пример:
cp /usr/local/etc/smartd.conf.sample /usr/local/etc/smartd.conf

редактируем его:
ee /usr/local/etc/smartd.conf

до следующего состояния (всего 3-и строки, остальное-описание выставленных опций):
/dev/ad0 -S on -o on -a -I 194 -W 4,43,55 -m mail@gmail.com -s (S/../.././04|L/../(01|15)/./04)
/dev/ad2 -S on -o on -a -I 194 -W 4,43,55 -m mail@gmail.com -s (S/../.././03|L/../(01|15)/./04)
/dev/ad4 -S on -o on -a -I 194 -W 4,43,55 -m mail@gmail.com -s (S/../.././02|L/../(01|15)/./04)
#
#/dev/ad0 -тестируемый винчестер
#-S on -включаем атрибут автосохранения (для выключения — off)
#-o on -включаем автоматическое автономное тестирование
# при условии запуска smartd без дальнейших действий (для выключения — off)
# -a -включаем все опции мониторинга
# -I 194 -при мониторинге исключить данные о температуре hdd
#
# -W 4,45,55 -доложить о изменении температуры:
# 4 -отслеживание отклонения температуры не менее чем на 4 градуса
# 43 -информационное сообщение при достижении температуры в 43 градусов(параметры температуры
# вероятно могут отличаться от модели hdd)
# 55 -предупреждающее письмо при достижении температуры в 55 градусов.
# для отключени ставим -W 0
#
# -m mail@gmail.com -отправлять уведомление на mail@gmail.com
#
# -s -начать самотестирование по расписанию:
# S/../.././02 -быстрое самотестирование между 2-3 ночи ежедневно (расписание из man smartd)
# L/../(01|15)/./04 -долгая самопроверка между 4-5 ночи в 1-ый и 15-ый день каждого месяца
#
#выражение S/../.././02 можно разложить так:
#S — тип тестирования (s — Short Self-Test; L — Long Self-Test)
#/../ -номер месяца в году с 01(январь) по 12(декабрь)
#/../ -число месяца с 01 по 31
#/./ -день недели с 1(понедельник) по 7(воскресенье)
#/02 -время суток. Это промежуток с 00 до 23

Сохраняем, закрываем.
Далее в начало файла /etc/syslog.conf дописываем:
local3.* /var/log/smartd.log

судя из man syslog.conf, можно использовать local с 0 по 7
для вступления в силу изменений выполняем перезапуск syslogd:
killall -1 syslogd

Для создания самого /var/log/smartd.log, выполняем:
touch /var/log/smartd.log

В /etc/rc.conf так же дописываем:
smartd_flags=»-l local3 —interval=900″
где:
«local3» мы вписывали в /etc/syslog.conf
interval=900 — каждые 900 секунд (15 мин) производить опрос

Читайте также:  Какой программой можно убрать битые сектора с жесткого диска

Запускаем smartd:
/usr/local/etc/rc.d/smartd start

Чтобы вручную посмотреть smart hdd нужно выполнить команду в консоли FreeBSD:
smartctl -a /dev/ad4
где
/dev/ad4 -это винт, который хотим проверить.

Всё, логи можем наблюдать в /var/log/smartd.log, в случае повышения температуры винчестера до 55 градусов, будет отправлено письмо с предупреждением. Автоматические проверки состояния будут происходить по созданному нами расписанию.

Добавить комментарий Отменить ответ

Для отправки комментария вам необходимо авторизоваться.

Источник

Server HP 110 HDD Temperature

Legend1[hdd_temp]: HDD Temperature Server HP 110 Proliant

4. Создаем рабочий каталог куда будут записываться данные для графиков
(в конфиге он указан как WorkDir: /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 первый раз он даже если нет ошибок в конфиге все равно выдаст четыре предупреждения (не пугайтесь это нормально)

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 минут (меньше нельзя . )

Источник

Температура жестких дисков freebsd

FreeBSD, MRTG и график температуры жестких дисков.
Автор: Rimlyanin
25.04.2013 09:10

Как известно, повышенная температура жестких дисков или её резкое изменение могут привести к преждевременному выходу их из строя, так что будет совершенно не лишним её мониторить. Тем более, если сервер стоит за много сотен километров, в помещении, куда люди заходят очень редко, а значит некому обратить внимание на то, что вентиляторы охлаждения в сервере не выполняют свои функции по тем или иным причинам.

И так, у нас имеется сервер на FreeBSD

root@bubu[Sun 8:04]/>uname -a
FreeBSD bubu.bubu 8.2-RELEASE FreeBSD 8.2-RELEASE #0: Wed Apr 20 14:20:30 EEST 2011 Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript :/usr/obj/usr/src/sys/BUBU2 amd64

В нем установлено пара HDD:

root@bubu[Sun 8:05]/>atacontrol list
ATA channel 2:
Master: no device present
Slave: no device present
ATA channel 3:
Master: ad6 SATA revision 2.x
Slave: no device present
ATA channel 4:
Master: ad8 SATA revision 2.x
Slave: no device present
ATA channel 5:
Master: no device present
Slave: no device present
ATA channel 6:
Master: no device present
Slave: no device present

MRTG уже установлена и используется для контроля температуры процессора . Нам остается лишь каким либо образом узнавать у наших HDD их текущую температуру, и отдавать эти данные в MRTG для отрисовывания графиков.

И тут на помощь нам приходит технология S.M.A.R.T. (self-monitoring, analysis and reporting technology — технология диагностики жесткого диска с помощью встроенных программ самодиагностики), ведь один из SMART-атрибутов как раз и содержит необходимую нам информацию о текущей температуре винчестера. Осталось найти возможность получать эти атрибуты.

Решение было найдено в портах — пакет smartmontools, который, согласно описания «содержит две утилиты (smartctl и smartd) для контроля и мониторинга дисковой системы использующей технологию S.M.A.R.T. встроенную в современные ATA (IDE) и SCSI диски…», как раз, что нам и требовалось .

Приступаем к установке:

cd /usr/ports/sysutils/smartmontools && make install clean

И после сообщения об удачной установке

smartmontools has been installed

видим также небольшую подсказку об использовании

To check the status of drives, use the following:

/usr/local/sbin/smartctl -a /dev/ad0 for first ATA drive
/usr/local/sbin/smartctl -a /dev/da0 for first SCSI drive

To include drive health information in your daily status reports,
add a line like the following to /etc/periodic.conf:
daily_status_smart_devices=»/dev/ad0 /dev/da0″
substituting the appropriate device names for your SMART-capable disks.

To enable drive monitoring, you can use /usr/local/sbin/smartd.
A sample configuration file has been installed as
/usr/local/etc/smartd.conf.sample
Copy this file to /usr/local/etc/smartd.conf and edit appropriately

To have smartd start at boot
echo ‘smartd_enable=»YES»‘ >> /etc/rc.conf

Первым делом включаем (на всякий случай, даже если он был ранее включен) смарт для имеющихся HDD:

/usr/local/sbin/smartctl -s on /dev/ad6 /usr/local/sbin/smartctl -s on /dev/ad8

и посмотрим температуру

root@bubu[Sun 8:06]/>smartctl -a /dev/ad6 | grep Temperature_Celsius
194 Temperature_Celsius 0x0002 222 222 000 Old_age Always — 27 (Min/Max 11/41)

Итак, температуру мы узнать можем, значит пора приступать к тому, что бы научить MRTG получать эти данные. И для этого мы напишем небольшой скриптик, в который будем передавать в параметрах запуска какой из HDD нам в данный момент интересен, а на выходе будем получать его текущую температуру, модель и емкость. Мой скрипт выглядит так:

root@bubu[Sun 8:06]/>cat /usr/local/etc/mrtg/script/hdd_temp
#!/bin/sh
# Этому скрипту в качестве первого параметра передаётся имя устройства,
# данные о котором необходимо получить
# Если имя устройства передано
if [ ! -z $ <1>]; then
ADDR=$ <1>
/usr/local/sbin/smartctl -a -s on /dev/$ADDR | grep 194| grep Temp | awk -F » » ‘
echo 0
#echo HDD
/usr/local/sbin/smartctl -a -s on /dev/$ADDR | grep Device | grep Model
/usr/local/sbin/smartctl -a -s on /dev/$ADDR | grep Capacity:
fi

И сохранен, как видите, в папке /usr/local/etc/mrtg/script под именем hdd-temp (не забудьте сделать его исполняемым), после чего остается лишь прописать в конфиге самой MRTG его вызов:

Источник