
Весь в день в голове крутились идеи прикрутить к серверу FreeBSD нормальный мониторинг физического состояния, таких как температура, напряжение, etc., с отображением на вебстраничке. В голову ничего толкового пока не пришло, но решил рассказать о паре утилит, умеющих показывать информацию в интерактивном режиме консоли. Это две небольшие утилиты, носящие название mbmon и smartmontools.
mbmon умеет показывать температуру, напряжения и обороты вентилятора.
Устанавливаем:
#cd /usr/ports/sysutils/mbmon
#make install clean
Смотрим, какие параметры нужно задавать программе
unix# mbmon -h
MotherBoard Monitor, ver. 2.05 by YRS.
Usage: mbmon [options...] <seconds for sleep> (default 5 sec)
options:
-V|S|I: access method (using "VIA686 HWM directly"|"SMBus"|"ISA I/O port")
-A: for probing all methods, all chips, and setting an extra sensor.
-d/D: debug mode (any other options except (V|S|I) will be ignored)
-s [0-9]: for using /dev/smb[0-9]
-e [0-2]: set extra temperature sensor to temp.[0|1|2] (need -A).
-p chip: chip=winbond|wl784|via686|it87|gl52|lm85|lm80|lm90|lm75
for probing chips
-Y: for Tyan Tiger MP/MPX motherboard
-h: print help message(this) and exit
-f: temperature in Fahrenheit
-c count: repeat <count> times and exit
-P port: run in daemon mode, using given port for clients
-T|F [1-7]: print Temperature|Fanspeed according to following styles
style1: data1n
style2: data2n
style3: data3n
style4: data1ndata2n
style5: data1ndata3n
style6: data2ndata3n
style7: data1ndata2ndata3n
-r: print TAG and Value format
-u: print system uptime
-t: print present time
-n|N: print hostname(long|short style)
-i: print integers in the summary(with -T option)
Для вывода решил использовать
#mbmon -Aurc 1
TEMP0 : 29.0
TEMP1 : 254.0
TEMP2 : 36.0
FAN0 : 3792
FAN1 : 0
FAN2 : 0
VC0 : +1.15
VC1 : +1.89
V33 : +3.39
V50P : +5.03
V12P : +1.09
V12N : -0.11
V50N : -0.17
8:48pm up 13 days, 7:49
А для мониторинга температуры жестких дисков будем использовать smartmontools. Утилита предназначена для мониторинга SMART-информации с дисков ATA/SATA и SCSI, соответственно умеет и считывать температуру.
Устанавливаем как обычно:
#cd /usr/ports/sysutils/smartmontools
#make install clean
Утилита содержит 2 программы: smartctl и smartd. Первая выводит в консоли актуальную информацию SMART, вторая - демон, предоставляющий эти же данные. Поскольку нам нужно иногда просто смотреть информацию, использовать будем первую.
К примеру
smartctl -a /dev/ad6
выведет SMART информацию по диску ad6. Вам нужно будет вписать свой. Так как выводится много лишней информации, отсеем лишнее:
#smartctl -a /dev/ad6 | grep Temperature_Celsius
194 Temperature_Celsius 0x0022 076 064 000 Old_age Always - 24 (Min/Max 12/25)
Если нужно просто вывести только значение температуры, то
#smartctl -a /dev/ad6 | grep Temperature_Celsius | awk -F " " '{print $10}'
Вот такие вот полезные утилиты, позволяющие смотреть температуру во FreeBSD.