Навигация
Главная
Поиск
Новости
Статьи
ЧаВо
- - - - - - -
Файловый архив
Ссылки
Авторизация
Кто он-лайн

 

 
Главная arrow Статьи arrow FreeBSD, Linux, ... arrow Пример мониторинга температуры кондиционера EMERSON Network Power с помощью rrdtool
Пример мониторинга температуры кондиционера EMERSON Network Power с помощью rrdtool Версия для печати
Написал Ярослав Гасов   
28.02.2012

Share this!

Устанавливаем сначала /usr/ports/databases/rrdtool12

 

Далее создаем базу:

rrdtool create /data/rrd/emerson_cond.rrd --start "20120101 00:01" --step 300 DS:TempC:GAUGE:600:0:100 RRA:LAST:0.5:1:210240

 

 

 

Скрипт на PHP для сбора статистики:

 

$go_xml = true;
$emerson_file = file_get_contents("http://ИП_адрес_кондиционера/index.html");
try {
        $xml = new SimpleXMLElement($emerson_file);
} catch (Exception $e) {
        $go_xml = false;
}
if ($go_xml) {
        $emerson_temp = $xml->xpath("//Item[@name='LocTemp']/Value");
        $emerson_temp = $emerson_temp[0][0];
        $cmd = '/usr/local/bin/rrdtool update /data/rrd/emerson_cond.rrd -t TempC N:'.$emerson;
        exec($cmd);
}


/*************************************************************************************
** ГЕНЕРИРУЕМ ГРАФИКИ
*/

$cmd = '/bin/sh /Путь_к_скрипту/buildGraphs.sh';
exec($cmd);

 

 

Скрипт buildGraphs.sh:

 

/usr/local/bin/rrdtool graph \
        /data/www/admin/htdocs/temp/images/graphs/emerson.png \
        --title="Emerson temperatures for last day" \
        --vertical-label="Temperature, C" \
        --width=864 --height=200 --imgformat=PNG \
        --color SHADEB#ffffff --color SHADEA#ffffff --color CANVAS#ffffff --color BACK#ffffff
        --start=-86400 \
        --upper-limit=40 --lower-limit=15 \
        --rigid \
        DEF:TempC=/data/rrd/emerson_cond.rrd:TempC:LAST \
        VDEF:TempCcur=TempC,LAST \
        VDEF:TempCavg=TempC,AVERAGE \
        VDEF:TempCmin=TempC,MINIMUM \
        VDEF:TempCmax=TempC,MAXIMUM \
        LINE1:TempC#cc3118:"Emerson Network Power" \
        GPRINT:TempCcur:"Cur\:%.1lf" \
        GPRINT:TempCavg:"Avg\:%.1lf" \
        GPRINT:TempCmin:"Min\:%.1lf" \
        GPRINT:TempCmax:"Max\:%.1lf\l" \

 

(Аналогично для week, month, 6 monthes - меняется только --start=-[ 604800 | 2592000 | 15768000 ] и заголовки)

 

 

Последнее обновление ( 28.02.2012 )
 
< Пред.   След. >
 
 

Производственный кооператив "Геолог" - геологоразведовательные работы, разведка месторождений, подсчет запасов, бурение скважин, геологический отчет...


GASOV.COM © 2024