Что будем мерять?
Имеется несколько утилит в составе Debian, которые могут помочь в мониторинге установленного в системе железа. Установка их не представляет труда, но перед этим надо систему соответственным образом настроить. Этого вполне достаточно, чтобы иметь представление о том, что происходит с системой.
Следует отметить, что поставленные утилиты будут выводить данные в консоли - при желании можно поставить любую графическую мордочку, которая будет выводить эти данные с любыми рюшечками и свистелками.
Подготовка системы
Для того, чтобы все установленные утилиты заработали, требуется иметь в ядре I2C и Hardware Monitoring включёнными монолитно, а так же модульно все драйверы для вашей материнской платы. Это всё, что относится к фирме-изготовителю материнки плюс обязательно скомпилируйте все модули lm*, например lm85.
Короче, в ядре должно быть:
Device Drivers | ---
I2C Support | --- [*]
I2C support
I2C Algorithms ---
всё модулями
Miscellaneous I2C Chip support ---
всё модулями [ ]
I2C Core debugging messages [ ]
I2C Algorithm debugging messages [ ]
I2C Bus debugging messages [ ]
I2C Chip debugging messages
Device Drivers
- Hardware Monitoring support
National Semiconductor LM77
National Semiconductor LM78 and compatibles
National Semiconductor LM80
National Semiconductor LM85 and compatibles
National Semiconductor LM87
National Semiconductor LM90 and compatibles
National Semiconductor LM92 and compatibles
Можно сидеть и долго курить мануалы, а можно скомпилировать поддержку всех чипов модулями. Собрали ядро (как собрать ядро в Linux), поставили, загрузились. Теперь всё готово для решительной установки.
lm_sensors
Это проект поддержки мониторинга оборудования (температура, вращение вентиляторов, напряжения питания). Мониторинг этот осуществляется посредством обмена по шине SMB (System Management Bus). Кроме чипов мониторинга к этой шине могут быть подключены чипы EEPROM современных модулей памяти. Чипы мониторинга и датчики в настоящее время располагаются не только на M/B, но и на CPU и некоторых видеокартах (*).
Теперь как всю эту прелесть водрузить в Дебиане? Очень просто - ставим пакеты:
# apt-get install sensord lm-sensorsИ все зависимости, которые он потянет. Теперь опять-таки от рута даём команду:
# sensors-detectНе пугайтесь - она устроит вам допрос с пристрастием и будет перебирать все скомпилированные вами модули (вот зачем мы их все компилировали!) на предмет их соответствия вашим ресурсам. Пусть смотрит все шины - будет искать и по ISA, и по PCI, и везде, куда доберётся.
В результате утилита или "разведёт руками", или радостно обнаружит модули, подходящие к вашей плате. Если найдёт - скажет, какие и посоветует сразу их добавить в стартовые файлы. Добавляйте, чтобы потом не мучаться.
После чего можно уже от простого пользователя утилитой sensors получить информацию о том, как и что делается в вашей системе.
hddtemp
Это ещё не всё. Теперь черёд жестких дисков и их здоровья. Больше ничего компилировать нам не надо - всё уже есть. Осталось только дебианским проверенным движением:
# apt-cache search sensor | grep hddПолучить то, что сейчас будем ставить:
hddtemp - Utility to monitor the temperature of your hard drive
Стало быть,
# apt-get install hddtempОно совсем маленькое, но выполняет важную задачу - смотрит на температуру диска. У этой утилиты большое преимущество перед заточенными на s.m.a.r.t - она умеет общаться с дисками SATA. Вызов очень прост: hddtemp /dev/ваш_диск Вот так это выглядит для винчестера моего ноутбука:
# hddtemp /dev/hdaВполне прилично. Единственное, что если диск не значится в базе программы, будет страшно сокрушаться по этому поводу (выделено серым, чтобы в глаза не било). В остальном всё честно - температура харда в цельсиях. Удобно завернуть в скрипт и мониторить, например, через определённые интервалы времени.
WARNING: Drive /dev/hda doesn't appear in the database of supported drives
WARNING: But using a common value, it reports something.
WARNING: Note that the temperature shown could be wrong.
WARNING: See --help, --debug and --drivebase options.
WARNING: And don't forget you can add your drive to hddtemp.db
/dev/hda: HTS421260H9AT00: 27C or F
smartctl
Всем хорош hddtemp, но уж чья сестра краткость - так это именно его. Зато True UNIXway - она делает только одно дело, зато очень хорошо. Если хочется большего, например, диагностики своего винчестера, смотрим в сторону утилит, поддерживающих S.M.A.R.T. Расшифровывается как Self-Monitoring, Analysis and Reporting Technology (SMART). Такая система встроена во многие винчестеры ATA-3 (и выше), IDE и SCSI.
Звучит громко, на самом же деле считывает данные о самодиагностике, которые предоставляют современные винчестеры. Умеет работать в режиме демона, и особенно хорошо смотрится на серверах: ресурсов ест мало, дело делает хорошо и информации может дать море.
Ставится очень просто - инстинктивным движением:
# apt-get install smartmontoolsполучаем в распоряжение демона (который будет запускаться и мониторить диски - или не будет, если не захотите) smartd. Демона по пустякам тревожить не стоит, для общения с пользователем есть его заместитель smartctl, вызов которого производится заклинанием:
# smartctl -i /dev/hdaЕсли у вас другой диск, соответственно, поправьте. После недолгих раздумий заместитель демона вас либо огорчит (нет поддержки SMART в вашем винчестере, или диск с SATA), или порадует:
smartctl version 5.34 [i686-pc-linux-gnu] Copyright (C) 2002-5 Bruce AllenIn above output the lines:
Home page is http://smartmontools.sourceforge.net/
=== START OF INFORMATION SECTION ===
Device Model: SAMSUNG SV2002H
Serial Number: 0395J1FR904324
Firmware Version: RA100-04
User Capacity: 20,060,651,520 bytes
Device is: In smartctl database [for details use: -P show]
ATA Version is: 6
ATA Standard is: ATA/ATAPI-6 T13 1410D revision 1
Local Time is: Tue May 2 15:44:09 2006 IST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
You can configure the smartd daemon by editing the file /etc/smartd.conf.
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
Конфигурировать его можно через правку конфига в /etc/smartd.conf
К сожалению, он не поддерживает мониторинг SATA-дисков, зато с IDEшными хардами выдаёт кучу полезной информации. Это актуально для владельцев ноутбуков, например.
Графические утилиты мониторинга
Не всё нам консоль - мониторить состояние системы можно и в графической оболочке. Собственно, они являются фронтэндами перечисленных выше программ. Например, я использую:
torsmo - system monitor that sits in the corner of your desktop
Небольшая текстовая прозрачная менюшка, которая висит там, где ей скажешь, и обновляется через задаваемый промежуток времени. Очень удобно - один взгляд, и полное предтавление о системе. В Дебиане имеется, и ставится всем нам известным правильным движением.
Ссылки:
http://www.cyberciti.biz/nixcraft/vivek/blogger/2006/05/monitoring-hard-disk-health-with.php
http://secure.netroedge.com/~lm78/supported.html
дык torsmo уже давно умер и не развивается...
ОтветитьУдалитья использую conky - его форк :)
А что насчет карамбы скажете? Мне понравилась, но температуру процессора и материнки не выводит:( Хотя sensors показывает все отлично. Почему не может своей темой вырезать кусок из вывода sensors - так и не понял, сколько тему не ковырял... Кстати, мне в сарже никакой перекомпиляции не потребовалось, все нужные мне сенсоры и так заработали.
ОтветитьУдалитьНачал перечитывать блог еще раз, снова нашел много интересного :)
ОтветитьУдалитьПечально что заточенных под SATA инструментов мало, и таки кнопки "Print view" не хватает...
Также hddtemp показывает вывод для всех дисков в веб-интерфейсе, по умолчанию порт 7634. То есть например у меня на localhost:7634 такая строчка:
ОтветитьУдалить|/dev/sda|WDC WD800JD-75MSA3|44|C|.
Кстати, у меня sensors тоже очень много ALARM-в выдает, почему он так криво определяет границы и нельзя ли их изменить?
спасибо за статью. Она со временем, как хороший коньяк - становиться только лучше, в смысле не теряет своей актуальности)
ОтветитьУдалить