Есть mrtg, изначально настроенный на сбор информации по трафику на ppp-интерфейсе. После правки скрипта для сбора информации с ppp0, была сделана попытка сбора информации о температуре с датчиков CPU и M/B (через sensors). При запуске скрипт выводит нужные параметры в нужном формате (во всяком случае выглядит именно так). На странице слежения - в итоге везде нули, в логах такая вот ругань:
2009-07-17 18:25:08 -- Started mrtg with config '/etc/mrtg/mrtg.cfg'
2009-07-17 18:25:09 -- 2009-07-17 18:25:08: WARNING: Problem with External get '/bin/tempstat':
Expected a Number for 'in' but got ''
2009-07-17 18:25:09 -- 2009-07-17 18:25:08: WARNING: Problem with External get '/bin/tempstat':
Expected a Number for 'out' but got ''
2009-07-17 18:25:10 -- 2009-07-17 18:25:09: ERROR: Target[temper][_IN_] ' $target->[1]{$mode} ' did not eval into defined data
2009-07-17 18:25:10 -- 2009-07-17 18:25:09: ERROR: Target[temper][_OUT_] ' $target->[1]{$mode} ' did not eval into defined data
файл настроек - /etc/mrtg/mrtg.cfg
# mrtg configuration file
WorkDir:/var/www/html/mrtg
LogDir:/var/log/mrtg
Refresh:300
RunAsDaemon: no
Interval: 5
NoMib2: yes
Language:russian
Target[unlimited]: `/bin/mrtgstat`
Options[unlimited]: growright
MaxBytes[unlimited]: 2000000
XSize[unlimited]: 600
YSize[unlimited]: 160
Title[unlimited]: Stat for unlimited connection
PageTop[unlimited]: mySERVEr STAT <br/>
Target[temper]: `/bin/tempstat`
MaxBytes[temper]: 110
MaxBytes2[temper]: 110
Title[temper]: CPU and MB temperature
Options[temper]: integer, gauge, nopercent, growright
YLegend[temper]: Temperature, C
ShortLegend[temper]: C
Legend1[temper]: CPU temp, C
Legend2[temper]: M/B temp, C
LegendI[temper]: CPU
LegendO[temper]: M/B
XSize[temper]: 600
YSize[temper]: 160
PageTop[temper]: <H1>mySERVEr STAT11!! </H1> <br/>
И сами скрипты:
1) /bin/mrtgstat
#!/bin/bash
INPUT=`/sbin/ifconfig ppp0 | grep -m 1 'bytes' | awk {'print substr($2,7)'}`
OUTPUT=`/sbin/ifconfig ppp0 | grep -m 1 'bytes' | awk {'print substr($6,7)'}`
DATE=`cat /proc/uptime| awk '{print ($1/3600)" hours"}'`
NAME='computer'
echo $INPUT
echo $OUTPUT
echo $DATE
echo $NAME
exit 0
при запуске выводит:
$ tempstat
43
57
90.5276 hours
computer
2) /bin/tempstat
#!/bin/bash
INPUT=`/usr/bin/sensors |grep Temp3| awk '{print substr($2,2,length($2)-3)}'`
OUTPUT=`/usr/bin/sensors |grep M\/B| awk '{print substr($3,2,length($3)-3)}'`
DATE=`cat /proc/uptime| awk '{print ($1/3600)" hours"}'`
NAME='computer'
echo $INPUT
echo $OUTPUT
echo $DATE
echo $NAME
exit 0
при запуске выводит:
$ mrtgstat
692542505
47443785
90.5379 hours
computer
Запускается mrtg с помощью cron, каждые 5 минут.
Ответ на:
комментарий
от Obey-Kun
Ответ на:
комментарий
от bakagaijin
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум MRTG & Температура CPU (2008)
- Форум MRTG + Собственные скрипты (2010)
- Форум mrtg Expected a Number for 'in' but got (2013)
- Форум MRTG + 4 параметра ???? Глюки и бред !!! (2004)
- Форум mrtg и cpuinfo.pl (2005)
- Форум mrtg статистика по дискам. (2015)
- Форум Мож кому пригодится (2004)
- Форум IPTables (2005)
- Форум Помогите новичку пожалуйста :) (2010)
- Форум bash оптимизация изображений (2019)