Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Графики RRDTool  (Прочитано 2216 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн zu11u

  • Автор темы
  • Новичок
  • *
  • Сообщений: 21
    • Просмотр профиля
Графики RRDTool
« : 13 Декабря 2011, 14:07:30 »
Добрый день.

Понимаю что тема заезженная и описывалась много раз, но страшно туплю и не могу понять как сделать правильно график.

Суть вопроса:
Нарисовать суточный график погоды. Нужно создать базу, накропать парсер и рисовать графики.

С парсером проблем нет, качаю xml файл и выдергиваю нужные значения. Но xml обновляется на сервере примерно раз в полчаса, поэтому парсер подставляет время обновления:
rrdtool update /путь_до_базы/out_temp.rrd $ntime:$temp1:$temp2

График простой до безобразия
rrdtool graph /путь_до_папки/temp.png \
 --imgformat PNG \
DEF:temp=/путь_до_базы/out_temp.rrd:temp:AVERAGE \
DEF:chill=/путь_до_базы/out_temp.rrd:chill:AVERAGE \
'LINE2:temp#42f924:' \
'LINE2:chill#e11475:'

но он пустой (rrdtool info показывает что данные поступают в базу)

Подозреваю что что то намутил при создании базы
rrdtool create /путь_до_базы/out_temp.rrd --start N DS:temp:GAUGE:600:U:U DS:chill:GAUGE:600:U:U RRA:AVERAGE:0.5:3:100

Оффлайн MooSE

  • Старожил
  • *
  • Сообщений: 1117
    • Просмотр профиля
Re: Графики RRDTool
« Ответ #1 : 14 Декабря 2011, 01:50:28 »
У меня вот такой скрипт рисует график температуры с трёх датчиков:

#!/bin/sh

cd `dirname $0`

if [ ! -f term.rrd ]; then
    rrdtool create term.rrd \
        DS:room:GAUGE:600:U:U \
        DS:balcon:GAUGE:600:U:U \
        DS:street:GAUGE:600:U:U \
        RRA:AVERAGE:0.9:1:8640
fi

TERM_1=`/usr/bin/snmpwalk -Oqsv -v 1 -c SWITCH netping  1.3.6.1.4.1.25728.8800.1.1.2.1`
TERM_2=`/usr/bin/snmpwalk -Oqsv -v 1 -c SWITCH netping  1.3.6.1.4.1.25728.8800.1.1.2.2`
TERM_3=`/usr/bin/snmpwalk -Oqsv -v 1 -c SWITCH netping  1.3.6.1.4.1.25728.8800.1.1.2.4`

CMD="rrdtool update term.rrd N:${TERM_1}:${TERM_2}:${TERM_3}"
${CMD}
echo ${CMD} >> /var/log/term_rrd.log

Попробуй оттолкнуться от этого.

А так мне кажется что тебе лучше указать просто N вместо $ntime.

Оффлайн zu11u

  • Автор темы
  • Новичок
  • *
  • Сообщений: 21
    • Просмотр профиля
Re: Графики RRDTool
« Ответ #2 : 14 Декабря 2011, 07:22:47 »
Спасибо за ответ.

У меня по по подобному принципу рисуются графики с UPS-ок.
"N" я заменил потому что данные о температуре должны вноситься постфактум, подставляя значение выдернутое из xml.

Так как данные поступают с интервалом не меньшим 30 минут я поигрался со step и heartbeat, теперь вроде работает.

rrdtool create /путь_до_базы/out_temp.rrd \
 --step 1800 \
 DS:temp:GAUGE:3600:U:U \
 DS:chill:GAUGE:3600:U:U \
 RRA:AVERAGE:0.5:1:100



 

Страница сгенерирована за 0.066 секунд. Запросов: 25.