ru / Motherboard
- Читання показань датчиків
- Моніторинг стану датчиків в реальному часі (Часткова альтернатива collectd)
- Налаштування служби sensord
- Налаштування Web сервера Lighttpd
- Налаштування cgi скрипта
- Управління швидкістю обертання вентиляторів
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
Формування скрипта не завжди проходить коректно, але як основа для доопрацювання він цілком підходить.
Наприклад, якщо ми хочемо отримати такий малюнок
то потрібно привести скрипт до наступного вигляду:
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 1 024 --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
PS Більш докладний опис 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)