Стоит у меня сервачек под FreeBSD и раздает инет в небольшой сетке. Но летом этого года вследствие аномальной жары в Харькове сервер несколько раз перезагружался. Пришлось поставить мониторинг температуры процессора.
[root@nat /]# uname -a FreeBSD nat.dearlan.host 7.0-RELEASE FreeBSD 7.0-RELEASE #0: Wed Nov 19 21:53:12 UTC 2008 root@:/usr/obj/usr/src/sys/dearlan i386
Собственно сам MRTG был установлен и рисовал красивые графики загрузки каналов, но надо было снимать данные о температуре процессора. Начал я гугление и поиски.
Ipmitool (/usr/ports/sysutils/ipmitool) выдавал какие то странные данные, в которые откровенно говоря не верилось.
Гугл подсказал ещё одну тулзу, а точнее sysctl.
В /usr/src/sys/i386/conf/NOTES есть отличная подсказка:
[root@nat /]# cat /usr/src/sys/i386/conf/NOTES | grep temp # then attempt to detect the installed amount of RAM. If this probe # ACPI Asus Desktop Extras. (voltage, temp, fan) # This is a temporary driver that should someday be replaced by something # coretemp: on-die sensor on Intel Core and newer CPUs device coretemp # map the kernel. You should only disable this feature as a temporary # temporary workaround if you are having problems with it enabled.
Добавляем строку в конфигурация ядра, пересобираем ядро с новой опцией, устанавливаем, перезагружаемся, получаем :
# sysctl -a | grep temperature dev.cpu.0.temperature: 36 dev.cpu.1.temperature: 36
Попробуем применить фильтр:
# sysctl -a | grep temperature | awk -F " " '{print $2}' 36 36
Пришло время дописывать конфиг mrtg, вот что у меня получилось:
[root@nat /]# cat /usr/local/etc/mrtg/mrtg.cfg | grep cpu_ Title[cpu_temp]: CPU Temperature Target[cpu_temp]: `sysctl -a | grep temperature | awk -F " " '{print $2}'` #Options[cpu_temp]: nobanner, unknaszero, growright, nopercent, gauge, transparent LegendI[cpu_temp]: Temperature CPU 0 LegendO[cpu_temp]: Temperature CPU 1 YLegend[cpu_temp]: C MaxBytes[cpu_temp]: 500 AbsMax[cpu_temp]: 500 ShortLegend[cpu_temp]: Grad PageTop[cpu_temp]: <h1>CPU Server Temperature</h1> Options[cpu_temp]: nopercent,gauge,unknaszero,avgpeak,growright,pngdate,nobanner Legend1[cpu_temp]: CPU Temperature XSize[cpu_temp]: 600 YSize[cpu_temp]: 125
И сделаем новый индексный файл:
[root@nat /]# /usr/local/etc/mrtg/indexmaker mrtg.cfg > /var/www/mrtg/index.html
Конечно же mrtg не найдет предыдущие лог файлы и не сможет их обновить, о чем появятся соответствующие строки в логе:
2010-07-02 02:40:57, Rateup WARNING: /usr/local/bin/rateup could not read the primary log f 2010-07-02 02:40:57, Rateup WARNING: /usr/local/bin/rateup The backup log file for cpu_tem well 2010-07-02 02:40:57, Rateup WARNING: /usr/local/bin/rateup Can't remove cpu_temp.old updating log file 2010-07-02 02:40:57, Rateup WARNING: /usr/local/bin/rateup Can't rename cpu_temp.log updating log file
Не пугайтесь, подождите минут 15ть и посмотрите на графики.
|
Подробнее...