Differences between revisions 6 and 7
Revision 6 as of 2012-05-15 10:51:48
Size: 10910
Editor: ?Yegor Bayev
Comment: Изменение systemd на sensord
Revision 7 as of 2012-10-01 15:17:56
Size: 11326
Editor: ?zorg
Comment: небольшие дополнения
Deletions are marked like this. Additions are marked like this.
Line 9: Line 9:
__Страница находится в разработке__ __Активная разработка страницы завершена__
Line 26: Line 26:
Если датчики обнаружить не удалось, то необходимо обновить ядро и установить более свежую lm-sensors.
Line 27: Line 29:
{{{
/etc/init.d/module-init-tools
Для squeeze
{{{
/etc/init.d/module-init-tools start
}}}

Для wheezy
{{{
/etc/init.d/kmod start
Line 41: Line 49:
 * Сайт lm-sensors.org, там есть готовые конфиги для конкретных мат. плат.
Line 103: Line 112:
== Мониторинг состояния датчиков в реальном времени ___В разработке___ == == Мониторинг состояния датчиков в реальном времени (Частичная альтернатива collectd) ==
Line 259: Line 268:
На большинстве современных материнок и почти на всех ноутбуках эта служба уже реализована средствами BIOS, и, как следствие, устанавливать fancontrol просто не необходимости. Рекомендую внимательно изучить BIOS и руководство к нему. На большинстве современных материнок и почти на всех ноутбуках эта служба уже реализована средствами BIOS, и, как следствие, устанавливать fancontrol просто нет необходимости. Рекомендую внимательно изучить BIOS и руководство к нему.

http://www.debian.org/logos/openlogo-nd-50.png http://www.debian.org/Pics/debian.png

Translation(s): - Русский


Датчики и вентиляторы мат. платы


Этот раздел поможет наглядно установить и настроить мониторинг датчиков и управление вентиляторами материнской платы.


Активная разработка страницы завершена


Если есть что добавить, дополняйте разделы новой информацией. Наши опечатки и ошибки в статье можно править смело, нет необходимости сообщать об этом на почту, просьба соблюдать стилевое оформление этой страницы и использовать разделители разделов (серые линии различной толщины).



Чтение показаний датчиков


Устанавливаем 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

Формирование скрипта не всегда проходит корректно, но как основа для доработки он вполне подходит.

К примеру, если мы хотим получить такой рисунок

grid.jpg

то нужно привести скрипт к следующему виду:

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://daemony.org/doc/rrd

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)