Заметка: rrdtool, или занимательное рисование

Проблемы с установкой, настройкой и работой системных и сетевых программ.

Модераторы: GRooVE, alexco

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
FreeBSP
майор
Сообщения: 2020
Зарегистрирован: 2009-05-24 20:20:19
Откуда: Москва

Заметка: rrdtool, или занимательное рисование

Непрочитанное сообщение FreeBSP » 2010-03-15 1:24:10

могу написать заметку о том как с нуля вручную рисовать какие нибудь красивые графики, используя только пакет rrdtool
кому нибудь интересна тема?
Человек начинает получать первые наслаждения от знакомства с unix системами. Ему нужно помочь - дальше он сможет получать наслаждение самостоятельно ©
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: Заметка: rrdtool, или занимательное рисование

Непрочитанное сообщение hizel » 2010-03-15 8:32:51

:-D
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Аватара пользователя
ProFTP
подполковник
Сообщения: 3388
Зарегистрирован: 2008-04-13 1:50:04
Откуда: %&й
Контактная информация:

Re: Заметка: rrdtool, или занимательное рисование

Непрочитанное сообщение ProFTP » 2010-03-15 10:20:58

интересно, правда я еще не гуглил

вот как на счет графики и диаграмм на JS (jquery) ?

http://msug.vn.ua/blogs/akrakovetsky/ar ... aries.aspx
http://webduty.ru/%D0%BF%D0%BE%D1%81%D1 ... %D0%B0.htm

http://www.google.com.ua/#hl=uk&q=%D0%B ... 1d94482ac6
Pеrl FAQ
perl -e 'print join"",map $$_[rand@$_],([0..9,'a'..'z','A'..'Z'])x30'
ИзображениеИзображение

Аватара пользователя
FreeBSP
майор
Сообщения: 2020
Зарегистрирован: 2009-05-24 20:20:19
Откуда: Москва

Re: Заметка: rrdtool, или занимательное рисование

Непрочитанное сообщение FreeBSP » 2010-03-15 13:24:09

дядя hizel, чего такого смешного?))

я достаточно долго втыкал в суть проектировки самой кольцевой бд
создавая по примеру, оно конечно работает, но непонимание сути работы интересной вещи меня напрягало..
сейчас вроде бы разобралсо, вот думал поделиться, да не знаю надо ли...

насчет жквери
как я понял, система лишь рисует график, причем на лету, но ни сбором информации ни ее обработкой не занимается

rrd же сам полностью занимается как сбором информации в базу, так и ее обработкой и визуализацией
тоесть ему например скармливаешь значение счетчика ipfw и из этих цыферек средствами самого rrd вычисляется скорость, и рисуется красивый график
Человек начинает получать первые наслаждения от знакомства с unix системами. Ему нужно помочь - дальше он сможет получать наслаждение самостоятельно ©
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: Заметка: rrdtool, или занимательное рисование

Непрочитанное сообщение hizel » 2010-03-15 13:34:10

FreeBSP писал(а): rrd же сам полностью занимается как сбором информации в базу, так и ее обработкой и визуализацией
ничего rrdtool не собирает, что сунешь то и положит
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

_Попов
проходил мимо

Re: Заметка: rrdtool, или занимательное рисование

Непрочитанное сообщение _Попов » 2010-03-15 14:03:28

FreeBSP, никаво не слушай - пиши статью как думаешь, если че тебя подкорректируют, т.е. не тока людям поможешь, но еще и сам умнее станешь.

пиши статью в расчете на "баранов", в смысле чтобы нулевой человек прочитал и понял: зачем? как? и сколько вешать в граммах?

Аватара пользователя
FreeBSP
майор
Сообщения: 2020
Зарегистрирован: 2009-05-24 20:20:19
Откуда: Москва

Re: Заметка: rrdtool, или занимательное рисование

Непрочитанное сообщение FreeBSP » 2010-03-15 14:33:40

hizel писал(а):ничего rrdtool не собирает, что сунешь то и положит
виноват. числовые значения естествено надо самостоятельно получить, а rrd занимается их запихиванием в базу
Человек начинает получать первые наслаждения от знакомства с unix системами. Ему нужно помочь - дальше он сможет получать наслаждение самостоятельно ©
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: Заметка: rrdtool, или занимательное рисование

Непрочитанное сообщение hizel » 2010-03-15 14:35:24

есть еще жабаскрипт который кушает rrd файлы и рисует, лежит на sourceforge.net и не дружит с частью браузеров
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Аватара пользователя
FreeBSP
майор
Сообщения: 2020
Зарегистрирован: 2009-05-24 20:20:19
Откуда: Москва

Re: Заметка: rrdtool, или занимательное рисование

Непрочитанное сообщение FreeBSP » 2010-03-15 17:04:05

по-моему практичнее раз в 5-10 минут по-новой генерировать рисунки и их уже статически вставлять в страничку
нагрузки меньше получается, да и переносимость выше....
хотя жаваскриптина - вещь безусловно интересная, надо покопаться...
Человек начинает получать первые наслаждения от знакомства с unix системами. Ему нужно помочь - дальше он сможет получать наслаждение самостоятельно ©
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!

Аватара пользователя
thefree
лейтенант
Сообщения: 980
Зарегистрирован: 2008-12-29 9:23:19
Откуда: Весёлая Страна

Re: Заметка: rrdtool, или занимательное рисование

Непрочитанное сообщение thefree » 2010-03-15 17:40:27

_live.daemony.org начитался? там очень доходчиво рисунки расписаны
Не судите меня строго, Я не волшебник, а только учусь!
http://planetbsd.ru - RSS-агрегатор *BSD по Рунету

Аватара пользователя
FreeBSP
майор
Сообщения: 2020
Зарегистрирован: 2009-05-24 20:20:19
Откуда: Москва

Re: Заметка: rrdtool, или занимательное рисование

Непрочитанное сообщение FreeBSP » 2010-03-15 17:57:31

типа того
но как я уже говорил, долго не мог воткнуть в принципы проектирования самой бд
Человек начинает получать первые наслаждения от знакомства с unix системами. Ему нужно помочь - дальше он сможет получать наслаждение самостоятельно ©
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!


Аватара пользователя
thefree
лейтенант
Сообщения: 980
Зарегистрирован: 2008-12-29 9:23:19
Откуда: Весёлая Страна

Re: Заметка: rrdtool, или занимательное рисование

Непрочитанное сообщение thefree » 2010-03-15 18:14:05

если по шагам распишешь как проектировать саму БД, то я за!!! и руками и ногами
Не судите меня строго, Я не волшебник, а только учусь!
http://planetbsd.ru - RSS-агрегатор *BSD по Рунету

Аватара пользователя
FreeBSP
майор
Сообщения: 2020
Зарегистрирован: 2009-05-24 20:20:19
Откуда: Москва

Re: Заметка: rrdtool, или занимательное рисование

Непрочитанное сообщение FreeBSP » 2010-03-15 20:08:34

рабочий вариант тут http://www.lissyara.su/?id=2088
В РАБОТЕ, принимаются замечания)
ну тогда прям тут и начну
в общем то даже и статья-не статья,а так, сборная солянка из других источников, помноженная на собственое видение ситуации

итак, работаем с пакетом rrdtool
что это это такое) как следует из названия - это тулза для работы с кольцевыми базами данных.
на самом деле это не одна тулза, целый букет интересных и не очень программок
а RRD представляет собой базу данных фиксированого размера(то есть с фиксированным числом ячеек), в которую и кладуться данные, предваритаельно обработанные по каким то сложным алгоритмам.

ну перейдем тогда к практике и добудем себе этот замечательный пакет утилит
конечно же для начала забываем обновить порты, произносим волшебные слова, топаем по пути указанному добрым whereis, собираем и ставим

Код: Выделить всё

# csup -L 2 /usr/local/etc/ports-supfile 
# cd /usr/ports/databases/rrdtool
# make config install clean

если хотим материться с картинок на родном великорусском, то отмечаем опцию DEJAVU Use DejaVu fonts (requires X11) без нее вместо русских буковок на картинках будет всякая абракадабра)
кроме того, если вы - адепт перла/руби/пистона, ставим соответствующие опции. у меня еще выбрана опция mmap

трогать rc.conf не надо, ибо никаких демонов и серверов запускаться не будет, да и настраивать в общем то нечего

теперь пора создавать свою первую, а может и не первую, и надеюсь не последнюю базу
а начинается создание с проектировки)
кольцевая база данных представляет собой обычный файл, тоесть ни какой то СУБД, ни таблиц, ни администраторов...

Код: Выделить всё

[19:04]rrd/# file local-inet-internal-http_traffic.rrd
local-inet-internal-http_traffic.rrd: RRDTool DB version 0003

в базе данных хранятся только голые числа, хотя и специальным образом обработанные.

теперь пора подумать, КАКИЕ числа мы будем в нее класть. а числа могут быть самыми разнообразными, вплоть до скорости течения воды в реке, или направления и скорости ветра. годовую розу ветров rrdtool строить конечно не умеет, но даже это можно будет некоторым образом изобразить
Не знаю как кому, но мне розы ветров по барабану, есть и поважнее данные которые хочется визуализировать, например оперативка, которая вечно куда то утекает..

итак, что мы будем визуализировать - решили - свободную оперативку
далее. где мы ее будем брать. источник данных в принципе не важен, но мы должны знать в каком формате он поставляет данные и как из этого выдернуть нужные нам цыфры.
вариантов не то чтобы куча, но имеются несколько - sysctl, vmstat, top, snmp...
Daemony выбрал первый, и я с ним согласен... данные получаем из "уважаемых" системных переменных с точностью до размера сраницы(обычно 4096 байт). если кто присоветует откуда брать более точные данные - хвала ему и почет и благодарность от меня лично ))
значит число свободных страниц оперативки лежит тут vm.stats.vm.v_free_count а размер страницы в байтах - соответствено тут vm.stats.vm.v_page_size.то-есть число свободных байтов оперативки получается банальным перемножением второго на первое )

мы уже знаем, что хранить мы будет число свободных байтов ОП.
как часто нам надо это знать. мне например интересно знать это каждую минуту
того что мы уже знаем достаточно для того чтобы заложить первую часть нашей БД
сама процедура создания не долгая, но долго набивать все параметры и ключи в командной строке. поэтому начинаем стругать скриптик)

Код: Выделить всё

#!/bin/sh

rrdtool create freeram.rrd --step 60 \
DS:freeram:GAUGE:120:U:U             \
тут самое время вернуться к теории
Параметр DS (Data Source, истояник данных) описывает какие данные приходят, как они себя могут вести и определяет некоторые граничные условия
кроме того, есть параметр RRA(Round Robin Archive, собствено хранилище данных) - он описывает что делать с пришедшими данными, как их хранить, что делать с уже накопленными данными при поступлении новых и как из имеющихся данных и поступивших получить новое значения для данной ячейки хранения
Каждая бд содержит как минимум один DS (Data Source, истояник данных) и минимум один RRA(Round Robin Archive, собствено хранилище данных)

кроме того, числа поступающие в бд завязаны на времени, так как все расчеты при добавлении новых данных в бд опираются на промежуток времени между предыдущим и текущим добавлениями

в базе может быть несколько DS и несколько RRA
а теперь интересный момент: полный комплект описанных RRA создается ДЛЯ КАЖДОГО DS. то есть если описать 2 DS и 4 RRA то в итоге получится всего 8 штук RRA, по 4 штуки на каждый DS
удостоверитья этом можно командой rrdtool info filename.rrd
одновременно с этим, при выборке информации из базы нельзя указать из какого RRA брать информацию - система сама выберет RRA с наилучшим масштабом, покрывающий требуемый промежуток времени


при описании DS мы ограничимся частным случаем. в большинстве ситуаций этого хватит, а что что сюда не попадает - не шибко описано и у самого Тоби. в этом самом частном случае DS задается так: DS:ds-name:GAUGE | COUNTER | DERIVE | ABSOLUTE:heartbeat:min:max
вначале ключевое слово DS
затем имя из латинских букв, цифр и подчеркивания [a-zA-Z0-9_]
затем тип DS, об этом ниже
затем heartbeat - максимальное время, в течение которого интервал не заполняется значениями *UNKNOWN*
затем максимальное и минимальное значение

теперь немного о типах DS
GAUGE - это "для вещей типа температуры, или количества людей в комнате" ©
то есть некоторая величина, которая характеризует состояние измеряемой величины в данный момент и которая ляжет в базу без обработки
COUNTER - "для постоянно растущих величин, типа числа байтов прошедщих через интерфейс". не может уменьшаться. хранится как скорость изменения величины в секунду(per-second rate.)
DERIVE - грубо говоря, это counter который может уменьшаться. хранит изменение величины от предыдущего значения до текущего значения DS
ABSOLUTE - используется для счетчиков, которые сбрасываются при чтении

а сейчас настало время поговоить об RRA. задаются они так
RRA:AVERAGE | MIN | MAX | LAST:xff:steps:rows

ключевое слово RRA
затем функция консолидации,
т.н. x-files factor - максимальная доля неопределенных значений в интервале конолидации, при которой значение еще считается определенным
steps - размер интервала консолидации в шагах (параметр --step). все полученные значения в течение этого интервала преобразуются функцией консолидации в одно значение, которое кладется в очередную ячейку базы
rows - количество ячеек в этом RRA
с функциями консолидации проще чем с типами DS
они все используются для получения итогового значения, которое ляжет в базу из ряда значений DS
AVERAGE вычисляет реднее на интервале консолидации
MIN , MAX и LAST - соответственно минимальное, максимальное и последнее значения
меня терзают смутные сомнения о том что при записи в базу поверх уже существующих значений опять же применяются эти функции, но об этом завтра

теперь надо думать, какие графики мы хотим получать и с какой точностью
например если строить 6-часовой график, а значения получаются каждую минуту, то при ширине графика в 720 пикселей мы получим масштаб 2 пикселя на минуту
если же в те же 720 пикселей впихнуть год, с точностью до минуты, то получится что то около 720 минут на пиксель.
отсюда вывод - хранить большие интервалы времени с большой точностью не целесообразно потому, что 1) точности не увидишь, 2) база разрастется до десятков мегабайт
например я хочу рисовать графики за последние 6 часов, за сутки, 3 суток, неделю месяц, 3 месяца, 6 месцев

из расчета 720px на график - сделаю один rra на последние двое суток без усреднения, один - на период еще какой то , а остальные rra я опишу завтра)
завтра же бнапишу о том как базу заполнять и как собственно рисовать, там уже теории почти нет, чисто практика..
Последний раз редактировалось FreeBSP 2010-03-16 1:05:09, всего редактировалось 1 раз.
Человек начинает получать первые наслаждения от знакомства с unix системами. Ему нужно помочь - дальше он сможет получать наслаждение самостоятельно ©
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35454
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Заметка: rrdtool, или занимательное рисование

Непрочитанное сообщение Alex Keda » 2010-03-15 20:52:42

несмотря на то что ты тока начал -я уже полезное нашёл.
галку про дежавю - всё бился чё на новом сервере не по русски пишет =))
Убей их всех! Бог потом рассортирует...

Аватара пользователя
FreeBSP
майор
Сообщения: 2020
Зарегистрирован: 2009-05-24 20:20:19
Откуда: Москва

Re: Заметка: rrdtool, или занимательное рисование

Непрочитанное сообщение FreeBSP » 2010-03-15 20:54:11

гы
Лис, я кстати тебе в жабу писал, по этому поводу, но что то ответа не услышал)
помогла пересборка с дежавю??
Человек начинает получать первые наслаждения от знакомства с unix системами. Ему нужно помочь - дальше он сможет получать наслаждение самостоятельно ©
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35454
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Заметка: rrdtool, или занимательное рисование

Непрочитанное сообщение Alex Keda » 2010-03-15 22:16:13

не приходило ничё...
=========
да, помогло.
========
кстати, было бы интересней дату в собственном формате настроить.
мне дни недели в двухбуквенном обозначении нах не нужны.
а вот чё-то типа 2010-03-15 - куда ближе
Убей их всех! Бог потом рассортирует...

Аватара пользователя
ADRE
майор
Сообщения: 2646
Зарегистрирован: 2007-07-26 8:53:49
Контактная информация:

Re: Заметка: rrdtool, или занимательное рисование

Непрочитанное сообщение ADRE » 2010-03-16 11:00:47

один человек уже окучил, данную проблемму, сайт откопаю выложу )
//del

Аватара пользователя
ADRE
майор
Сообщения: 2646
Зарегистрирован: 2007-07-26 8:53:49
Контактная информация:

Re: Заметка: rrdtool, или занимательное рисование

Непрочитанное сообщение ADRE » 2010-03-16 12:55:35

_http://live.daemony.org/?s=rrdtool - отсюда может что выкарчивать -) читал радовался, сколько времени сэкономил ))
//del

Аватара пользователя
FreeBSP
майор
Сообщения: 2020
Зарегистрирован: 2009-05-24 20:20:19
Откуда: Москва

Re: Заметка: rrdtool, или занимательное рисование

Непрочитанное сообщение FreeBSP » 2010-03-16 13:09:15

там я тоже копал, собственно с этой статьи я сам и начинал
но в построение самой базы не воткнул только по тем материалам, дополнительно еще копался, доки с сайта читал..
Человек начинает получать первые наслаждения от знакомства с unix системами. Ему нужно помочь - дальше он сможет получать наслаждение самостоятельно ©
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!

BI_J
сержант
Сообщения: 154
Зарегистрирован: 2008-09-19 12:21:10

Re: Заметка: rrdtool, или занимательное рисование

Непрочитанное сообщение BI_J » 2010-08-08 15:06:56

Доброго времени суток!!!

Подскажите как уберечь статистику после перезапуска сервера ????
Я так понимаю нужно ложить в какую-то БД....
Подскажите как это реализовать :oops:
Спасибо !!

Аватара пользователя
FreeBSP
майор
Сообщения: 2020
Зарегистрирован: 2009-05-24 20:20:19
Откуда: Москва

Re: Заметка: rrdtool, или занимательное рисование

Непрочитанное сообщение FreeBSP » 2010-08-08 18:24:12

о какой статистике речь?

если про rrd, то она промеж падений никуда не девается - просто прерывается поступление данных в базу и все. на графике будет выглядеть как провал(заполненный значениями unknown) и ничего с этим не поделаешь
если про правила count в ipfw то с ними тоже все получается ровно - они в базу кладутся не как число, а как скорость. скачок с отметки стопицот на ноль вследствие обнуления счетчика rrd обрабатывает, как показала практика, нормально. так что опять же тут все ровно
Человек начинает получать первые наслаждения от знакомства с unix системами. Ему нужно помочь - дальше он сможет получать наслаждение самостоятельно ©
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!

BI_J
сержант
Сообщения: 154
Зарегистрирован: 2008-09-19 12:21:10

Re: Заметка: rrdtool, или занимательное рисование

Непрочитанное сообщение BI_J » 2010-08-08 18:34:25

Я тоже так думал, пока IPFW не перезапустил :(
После перезапуска счетчики IPFW обнуляются, а графики обнуляются после срабатывания скрипта обновления БД rrd

Что у меня не так ?? :(

Аватара пользователя
FreeBSP
майор
Сообщения: 2020
Зарегистрирован: 2009-05-24 20:20:19
Откуда: Москва

Re: Заметка: rrdtool, или занимательное рисование

Непрочитанное сообщение FreeBSP » 2010-08-08 19:28:29

BI_J писал(а):Что у меня не так ?? :(
равновероятно что не так может быть что угодно - от ядра и то каких то конфигов
покажи что ли конфиги там, скрипты которыми собираешь, еще что..
Человек начинает получать первые наслаждения от знакомства с unix системами. Ему нужно помочь - дальше он сможет получать наслаждение самостоятельно ©
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!

BI_J
сержант
Сообщения: 154
Зарегистрирован: 2008-09-19 12:21:10

Re: Заметка: rrdtool, или занимательное рисование

Непрочитанное сообщение BI_J » 2010-08-08 19:51:00

creat_db.sh

Код: Выделить всё

#!/bin/sh
#
RRDPREFIX=/usr/local/www/apache22/data/rrd/db
rrdtool create $RRDPREFIX/traf-db.rrd \
--step 60 \
DS:KSin:COUNTER:120:U:U \
DS:KSout:COUNTER:120:U:U \
RRA:AVERAGE:0.5:1:6000 \
RRA:AVERAGE:0.5:5:6000 \
RRA:AVERAGE:0.5:30:7000 \
RRA:AVERAGE:0.5:120:7750 \
RRA:AVERAGE:0.5:1440:7970 \
RRA:MAX:0.5:1:6000 \
RRA:MAX:0.5:5:6000 \
RRA:MAX:0.5:30:7000 \
RRA:MAX:0.5:120:7750 \
RRA:MAX:0.5:1440:7970 \
RRA:MIN:0.5:1:6000 \
RRA:MIN:0.5:5:6000 \
RRA:MIN:0.5:30:7000 \
RRA:MIN:0.5:120:7750 \
RRA:MIN:0.5:1440:7970 \
RRA:LAST:0.5:1:6000 \
RRA:LAST:0.5:5:6000 \
RRA:LAST:0.5:30:7000 \
RRA:LAST:0.5:120:7750 \
RRA:LAST:0.5:1440:7970 \
update_db.sh

Код: Выделить всё

#!/bin/sh
#
RRDPREFIX=/usr/local/www/apache22/data/rrd/db

        KSin=`/sbin/ipfw show 120 | awk '{print $3}'`
        KSout=`/sbin/ipfw show 110 | awk '{print $3}'`
        `/usr/local/bin/rrdtool update $RRDPREFIX/traf-db.rrd N:$KSin:$KSout`
1h.sh

Код: Выделить всё

#!/bin/sh
#
export LANG=KOI8-R
export LC_ALL=ru_RU.KOI8-R
RRDPREFIX=/usr/local/www/apache22/data/rrd/db
WWWPREFIX=/usr/local/www/apache22/data/rrd/www-pub
RRDCMD="/usr/local/bin/rrdtool"

$RRDCMD graph $WWWPREFIX/KS_1h.png \
--width 760 \
--height 200 \
--imgformat PNG \
--start -1h \
--end now \
--slope-mode \
--font-render-mode light \
--font DEFAULT:8:Tahoma \
--font TITLE:7:Arial \
--font AXIS:6:Arial \
--font UNIT:7:"Courier New" \
--font LEGEND:6:"Courier New" \
--font WATERMARK:1:Arial \
--color BACK#2F2F2F \
--color CANVAS#003333 \
--color SHADEA#CCCCCC \
--color SHADEB#CCCCCC \
--color FONT#FFFFFF \
--color AXIS#FFFFFF \
--color ARROW#FF0000 \
--color GRID#CCCCCC \
--color MGRID#CCCCCC \
--vertical-label "Скорость бит/секунду" \
--title "Трафик GPRS Kyivstar за час" \
DEF:inoctetsKS=$RRDPREFIX/traf-db.rrd:KSin:AVERAGE \
DEF:outoctetsKS=$RRDPREFIX/traf-db.rrd:KSout:AVERAGE \
"CDEF:inbitsKS=inoctetsKS,8,*" \
"CDEF:outbitsKS=outoctetsKS,8,*" \
COMMENT:\\n \
AREA:outbitsKS#FF0000:"GPRS Kyivstar исходящий\: " \
GPRINT:outbitsKS:LAST:"Последнее %6.2lf %sbps " \
GPRINT:outbitsKS:MAX:"Максимальное %6.2lf %sbps " \
GPRINT:outbitsKS:AVERAGE:"Среднее %6.2lf %sbps " \
GPRINT:outbitsKS:MIN:"Минимальное %6.2lf %sbps "\\c \
COMMENT:\\n \
AREA:inbitsKS#FFFF00:"GPRS Kyivstar входящий\:  " \
GPRINT:inbitsKS:LAST:"Последнее %6.2lf %sbps " \
GPRINT:inbitsKS:MAX:"Максимальное %6.2lf %sbps " \
GPRINT:inbitsKS:AVERAGE:"Среднее %6.2lf %sbps " \
GPRINT:inbitsKS:MIN:"Минимальное %6.2lf %sbps "\\c \
COMMENT:\\n \