Translation(s): - Русский
Датчики и вентиляторы мат. платы
Этот раздел поможет наглядно установить и настроить мониторинг датчиков и управление вентиляторами материнской платы.
Активная разработка страницы завершена
Если есть что добавить, дополняйте разделы новой информацией. Наши опечатки и ошибки в статье можно править смело, нет необходимости сообщать об этом на почту, просьба соблюдать стилевое оформление этой страницы и использовать разделители разделов (серые линии различной толщины).
Contents
Чтение показаний датчиков
Устанавливаем lm-sensors - набор утилит для чтения значений датчиков
# aptitude install lm-sensors
Определяем датчики
# sensors-detect
Если датчики обнаружить не удалось, то необходимо обновить ядро и установить более свежую lm-sensors.
Чтобы не перезагружать компьютер заново загружаем модули Для squeeze
/etc/init.d/module-init-tools start
Для wheezy
/etc/init.d/kmod start
Смотрим показания датчиков
sensors
Далее настраиваем вывод программы:
- Вместо "in0", "temp2", "fan4" сделаем понятные "CPU Temp", "CPU fan", "System fan".
- Уберём лишние значения, которые невозможно опознать
- Укажем допустимые пределы значений датчиков
Для поиска понятных названий датчиков можно воспользоваться:
- Сайт lm-sensors.org, там есть готовые конфиги для конкретных мат. плат.
- мануал к материнской плате (напряжение и вентиляторы)
- утилиту pwmconfig (температура ЦП и вентиляторы)
- нагрузочную утилиту cpuburn (температура ЦП)
- Аналогичные программы в других ОС (Aida64 и т.д.)
Если нашли кто есть кто, тогда смотрим название датчика
sensors | head -1
Перемещаем оригинальный файл.
mv /etc/sensors3.conf /etc/sensors3.conf.BAK
Cоздаём новый конфиг и правим его (Пример для ASUS p4p800)
nano /etc/sensors3.conf # Указываем системный датчик chip "w83627thf-isa-0290" # Игнорируем неопознанные датчики ignore in1 ignore in3 ignore in4 ignore in7 ignore in8 ignore fan3 ignore temp3 # Указываем правильное название датчика label temp2 "CPU Temp" label temp1 "MB Temp" label fan1 "System Fan" label fan2 "CPU Fan" label in0 "Vcore" label in2 "3.3V" # Задаём максимальные значения датчиков (включают ALARM) и уровни отключения тревоги (выключение ALARM) set temp1_max 60 set temp1_max_hyst 50 set temp2_max 80 set temp2_max_hyst 60 # Указываем min PWM вентиляторов set fan1_div 2 set fan1_min 0 set fan2_div 2 set fan2_min 0 # Указываем норму отклонения напряжения не более 5% set in2_min 3.3 * 0.95 set in2_max 3.3 * 1.05 set in0_min 1.95 * 0.95 set in0_max 1.95 * 1.05
Для применения настроек проверено помогает только перезагрузка ПК.
Мониторинг состояния датчиков в реальном времени (Частичная альтернатива collectd)
sensord+rrdtool+lighttpd
Это вариант отличается скоростью установки и настройки, не требователен к системным ресурсам.
Принцип работы: cлужба sensord периодически запускает наполнение rrd БД, Web сервер Lighttpd запускает скрипт формирования изображений графиков и отдаёт их браузеру.
Достоинства: изображения графиков формируются только по запросу пользователя.
Недостатки: Нет способов оповещения в случае проблем с показаниями датчиков, кроме как запись в лог или БД.
Настройка службы sensord
Устанавливаем компоненты
aptitude install sensord lighttpd rrdtool
Делаем резервную копию файла конфигурации
mv /etc/default/sensorsd /etc/default/sensorsd.BAK
Создаём новый файл конфигурации (пример для Sapphire IPC-?E350M1)
nano /etc/default/sensorsd # Не вносим уведомления об ALARM состояниях датчиков в syslog ALARM_INTERVAL=0 # Не вносим уведомления о текущих состояниях датчиков в syslog LOG_INTERVAL=0 # Уровень логгирования SYSLOG_FACILITY=daemon # Конфигурационный файл lm-sensord откуда берутся данные по датчикам CONFIG_FILE=/etc/sensors3.conf # Модель системного датчика SCAN_CHIPS=f71808e-isa-0290 # Путь к файлу базы данных RRD_FILE=/var/log/sensord.rrd # Интервал между наполнением БД показаниями датчиков RRD_INTERVAL=10s
Перезапускаем sensord
/etc/init.d/sensord restart
Настройка Web сервера Lighttpd
Включаем cgi mod
lighttpd-enable-mod cgi
Добавляем строку - указываем обработчик cgi файлов
nano /etc/lighttpd/conf-available/10-cgi.conf
cgi.assign = (".cgi" => "/usr/bin/rrdcgi")Перезапускаем lighttpd
/etc/init.d/lighttpd force-reload
Настройка cgi скрипта
Создаём папку для хранения и выставляем разрешения
mkdir -p /var/www/sensord && chown www-data:staff /var/www/sensord && chmod a=rwxs /var/www/sensord
Формируем скрипт
sensord --rrd-file /var/log/sensord.rrd --rrd-cgi /var/www/sensord > /var/www/sensord/sensord.cgi && chmod a+rx /var/www/sensord/sensord.cgi
Формирование скрипта не всегда проходит корректно, но как основа для доработки он вполне подходит.
К примеру, если мы хотим получить такой рисунок
то нужно привести скрипт к следующему виду:
nano /var/www/sensord/sensord.cgi
#!/usr/bin/rrdcgi
<html>
<head>
<body>
<title>Состояние сервера GTW</title>
</head>
<body bgcolor='#000000'>
<center>
<h2><font face='Arial' size='2' color="#23ff23"> Состояние сервера GTW </font></h2>
<p>
<RRD::GRAPH /var/www/sensord/daily-temperature.png
--imginfo '<img src=/sensord/%s width=%lu height=%lu>'
-a PNG
-h 200 -w 1024
--slope-mode
--lazy
-v 'Температура (C)'
-t 'Температура процессора и материнки за 30 минут'
-x 'MINUTE:1:MINUTE:5:MINUTE:5:0:%H:%M'
-s -30m -l 0
--lower-limit 40
--slope-mode
--color BACK#000000
--color CANVAS#000000
--color SHADEA#000000
--color SHADEB#000000
--color GRID#323239
--color MGRID#FFD85E
--color FONT#23ff23
--color AXIS#23ff23
--color FRAME#23ff23
--color ARROW#23ff23
--font DEFAULT:8:/usr/share/fonts/truetype/urw.ttf
--font TITLE:18
--font AXIS:10
--font UNIT:14
--font LEGEND:12
--font-render-mode light
DEF:temp1=/var/log/sensord.rrd:temp1:AVERAGE
DEF:temp2=/var/log/sensord.rrd:temp2:AVERAGE
LINE:temp1#ff3030:"Процессор"
AREA:temp2#2F4F4F:"Материнская плата"\c
COMMENT:" "\j
COMMENT:"Последние"
COMMENT:" Максимальные"\c
COMMENT:"------------------------------------------------------------------------------------------- "\c
GPRINT:temp1:LAST:'Процессор\: %1.0lf'
GPRINT:temp1:MAX:' Процессор\: %1.0lf'\c
GPRINT:temp2:LAST:'Материнка\: %1.0lf'
GPRINT:temp2:MAX:' Материнка\: %1.0lf'\c>
</p>
</body>
</html>Далее в браузере открываем адрес http://адрес_серверa/sensord/sensord.cgi
P.S. Более подробное описание rrdtool можно найти здесь:
http://www.bog.pp.ru/work/rrdtool.html -
http://www.unix.ck.ua/content/monitoring-temperatury-s-pomoshchyu-rrdtool
http://sbelikov.ru/2009/03/rrdtool/
Управление скоростью вращения вентиляторов
На большинстве современных материнок и почти на всех ноутбуках эта служба уже реализована средствами BIOS, и, как следствие, устанавливать fancontrol просто нет необходимости. Рекомендую внимательно изучить BIOS и руководство к нему.
Устанавливаем fancontrol: - службу, которая в зависимости от температуры оборудования устанавливает необходимую скорость работы вентилятора.
Далее ОЧЕНЬ внимательно читаем и настраиваем fancontrol
pwmconfig
Перезапускаем службу для применения новых настроек
/etc/init.d/fancontrol restart
Далее наслаждаемся тишиной 8)


