Заметка: rrdtool, или занимательное рисование
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
- FreeBSP
- майор
- Сообщения: 2020
- Зарегистрирован: 2009-05-24 20:20:19
- Откуда: Москва
Заметка: rrdtool, или занимательное рисование
могу написать заметку о том как с нуля вручную рисовать какие нибудь красивые графики, используя только пакет rrdtool
кому нибудь интересна тема?
кому нибудь интересна тема?
Человек начинает получать первые наслаждения от знакомства с unix системами. Ему нужно помочь - дальше он сможет получать наслаждение самостоятельно ©
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!
Услуги хостинговой компании Host-Food.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/
Тарифы на виртуальные сервера (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, или занимательное рисование

В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.
- ProFTP
- подполковник
- Сообщения: 3388
- Зарегистрирован: 2008-04-13 1:50:04
- Откуда: %&й
- Контактная информация:
Re: Заметка: rrdtool, или занимательное рисование
интересно, правда я еще не гуглил
вот как на счет графики и диаграмм на 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
вот как на счет графики и диаграмм на 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
- FreeBSP
- майор
- Сообщения: 2020
- Зарегистрирован: 2009-05-24 20:20:19
- Откуда: Москва
Re: Заметка: rrdtool, или занимательное рисование
дядя hizel, чего такого смешного?))
я достаточно долго втыкал в суть проектировки самой кольцевой бд
создавая по примеру, оно конечно работает, но непонимание сути работы интересной вещи меня напрягало..
сейчас вроде бы разобралсо, вот думал поделиться, да не знаю надо ли...
насчет жквери
как я понял, система лишь рисует график, причем на лету, но ни сбором информации ни ее обработкой не занимается
rrd же сам полностью занимается как сбором информации в базу, так и ее обработкой и визуализацией
тоесть ему например скармливаешь значение счетчика ipfw и из этих цыферек средствами самого rrd вычисляется скорость, и рисуется красивый график
я достаточно долго втыкал в суть проектировки самой кольцевой бд
создавая по примеру, оно конечно работает, но непонимание сути работы интересной вещи меня напрягало..
сейчас вроде бы разобралсо, вот думал поделиться, да не знаю надо ли...
насчет жквери
как я понял, система лишь рисует график, причем на лету, но ни сбором информации ни ее обработкой не занимается
rrd же сам полностью занимается как сбором информации в базу, так и ее обработкой и визуализацией
тоесть ему например скармливаешь значение счетчика ipfw и из этих цыферек средствами самого rrd вычисляется скорость, и рисуется красивый график
Человек начинает получать первые наслаждения от знакомства с unix системами. Ему нужно помочь - дальше он сможет получать наслаждение самостоятельно ©
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!
- hizel
- дядя поня
- Сообщения: 9032
- Зарегистрирован: 2007-06-29 10:05:02
- Откуда: Выборг
Re: Заметка: rrdtool, или занимательное рисование
ничего rrdtool не собирает, что сунешь то и положитFreeBSP писал(а): rrd же сам полностью занимается как сбором информации в базу, так и ее обработкой и визуализацией
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.
-
- проходил мимо
Re: Заметка: rrdtool, или занимательное рисование
FreeBSP, никаво не слушай - пиши статью как думаешь, если че тебя подкорректируют, т.е. не тока людям поможешь, но еще и сам умнее станешь.
пиши статью в расчете на "баранов", в смысле чтобы нулевой человек прочитал и понял: зачем? как? и сколько вешать в граммах?
пиши статью в расчете на "баранов", в смысле чтобы нулевой человек прочитал и понял: зачем? как? и сколько вешать в граммах?
- FreeBSP
- майор
- Сообщения: 2020
- Зарегистрирован: 2009-05-24 20:20:19
- Откуда: Москва
Re: Заметка: rrdtool, или занимательное рисование
виноват. числовые значения естествено надо самостоятельно получить, а rrd занимается их запихиванием в базуhizel писал(а):ничего rrdtool не собирает, что сунешь то и положит
Человек начинает получать первые наслаждения от знакомства с unix системами. Ему нужно помочь - дальше он сможет получать наслаждение самостоятельно ©
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!
- hizel
- дядя поня
- Сообщения: 9032
- Зарегистрирован: 2007-06-29 10:05:02
- Откуда: Выборг
Re: Заметка: rrdtool, или занимательное рисование
есть еще жабаскрипт который кушает rrd файлы и рисует, лежит на sourceforge.net и не дружит с частью браузеров
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.
- FreeBSP
- майор
- Сообщения: 2020
- Зарегистрирован: 2009-05-24 20:20:19
- Откуда: Москва
Re: Заметка: rrdtool, или занимательное рисование
по-моему практичнее раз в 5-10 минут по-новой генерировать рисунки и их уже статически вставлять в страничку
нагрузки меньше получается, да и переносимость выше....
хотя жаваскриптина - вещь безусловно интересная, надо покопаться...
нагрузки меньше получается, да и переносимость выше....
хотя жаваскриптина - вещь безусловно интересная, надо покопаться...
Человек начинает получать первые наслаждения от знакомства с unix системами. Ему нужно помочь - дальше он сможет получать наслаждение самостоятельно ©
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!
- thefree
- лейтенант
- Сообщения: 980
- Зарегистрирован: 2008-12-29 9:23:19
- Откуда: Весёлая Страна
Re: Заметка: rrdtool, или занимательное рисование
_live.daemony.org начитался? там очень доходчиво рисунки расписаны
Не судите меня строго, Я не волшебник, а только учусь!
http://planetbsd.ru - RSS-агрегатор *BSD по Рунету
http://planetbsd.ru - RSS-агрегатор *BSD по Рунету
- FreeBSP
- майор
- Сообщения: 2020
- Зарегистрирован: 2009-05-24 20:20:19
- Откуда: Москва
Re: Заметка: rrdtool, или занимательное рисование
типа того
но как я уже говорил, долго не мог воткнуть в принципы проектирования самой бд
но как я уже говорил, долго не мог воткнуть в принципы проектирования самой бд
Человек начинает получать первые наслаждения от знакомства с unix системами. Ему нужно помочь - дальше он сможет получать наслаждение самостоятельно ©
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!
-
- проходил мимо
Re: Заметка: rrdtool, или занимательное рисование
ну, пиши статью
я не хочу долго дотыкать
я не хочу долго дотыкать
- thefree
- лейтенант
- Сообщения: 980
- Зарегистрирован: 2008-12-29 9:23:19
- Откуда: Весёлая Страна
Re: Заметка: rrdtool, или занимательное рисование
если по шагам распишешь как проектировать саму БД, то я за!!! и руками и ногами
Не судите меня строго, Я не волшебник, а только учусь!
http://planetbsd.ru - RSS-агрегатор *BSD по Рунету
http://planetbsd.ru - RSS-агрегатор *BSD по Рунету
- FreeBSP
- майор
- Сообщения: 2020
- Зарегистрирован: 2009-05-24 20:20:19
- Откуда: Москва
Re: Заметка: rrdtool, или занимательное рисование
рабочий вариант тут http://www.lissyara.su/?id=2088
В РАБОТЕ, принимаются замечания)
ну тогда прям тут и начну
в общем то даже и статья-не статья,а так, сборная солянка из других источников, помноженная на собственое видение ситуации
итак, работаем с пакетом rrdtool
что это это такое) как следует из названия - это тулза для работы с кольцевыми базами данных.
на самом деле это не одна тулза, целый букет интересных и не очень программок
а RRD представляет собой базу данных фиксированого размера(то есть с фиксированным числом ячеек), в которую и кладуться данные, предваритаельно обработанные по каким то сложным алгоритмам.
ну перейдем тогда к практике и добудем себе этот замечательный пакет утилит
конечно же для начала забываем обновить порты, произносим волшебные слова, топаем по пути указанному добрым whereis, собираем и ставим
если хотим материться с картинок на родном великорусском, то отмечаем опцию DEJAVU Use DejaVu fonts (requires X11) без нее вместо русских буковок на картинках будет всякая абракадабра)
кроме того, если вы - адепт перла/руби/пистона, ставим соответствующие опции. у меня еще выбрана опция mmap
трогать rc.conf не надо, ибо никаких демонов и серверов запускаться не будет, да и настраивать в общем то нечего
теперь пора создавать свою первую, а может и не первую, и надеюсь не последнюю базу
а начинается создание с проектировки)
кольцевая база данных представляет собой обычный файл, тоесть ни какой то СУБД, ни таблиц, ни администраторов...
в базе данных хранятся только голые числа, хотя и специальным образом обработанные.
теперь пора подумать, КАКИЕ числа мы будем в нее класть. а числа могут быть самыми разнообразными, вплоть до скорости течения воды в реке, или направления и скорости ветра. годовую розу ветров rrdtool строить конечно не умеет, но даже это можно будет некоторым образом изобразить
Не знаю как кому, но мне розы ветров по барабану, есть и поважнее данные которые хочется визуализировать, например оперативка, которая вечно куда то утекает..
итак, что мы будем визуализировать - решили - свободную оперативку
далее. где мы ее будем брать. источник данных в принципе не важен, но мы должны знать в каком формате он поставляет данные и как из этого выдернуть нужные нам цыфры.
вариантов не то чтобы куча, но имеются несколько - sysctl, vmstat, top, snmp...
Daemony выбрал первый, и я с ним согласен... данные получаем из "уважаемых" системных переменных с точностью до размера сраницы(обычно 4096 байт). если кто присоветует откуда брать более точные данные - хвала ему и почет и благодарность от меня лично ))
значит число свободных страниц оперативки лежит тут vm.stats.vm.v_free_count а размер страницы в байтах - соответствено тут vm.stats.vm.v_page_size.то-есть число свободных байтов оперативки получается банальным перемножением второго на первое )
мы уже знаем, что хранить мы будет число свободных байтов ОП.
как часто нам надо это знать. мне например интересно знать это каждую минуту
того что мы уже знаем достаточно для того чтобы заложить первую часть нашей БД
сама процедура создания не долгая, но долго набивать все параметры и ключи в командной строке. поэтому начинаем стругать скриптик)
тут самое время вернуться к теории
Параметр 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
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 я опишу завтра)
завтра же бнапишу о том как базу заполнять и как собственно рисовать, там уже теории почти нет, чисто практика..
В РАБОТЕ, принимаются замечания)
ну тогда прям тут и начну
в общем то даже и статья-не статья,а так, сборная солянка из других источников, помноженная на собственое видение ситуации
итак, работаем с пакетом 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

вначале ключевое слово 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
- стреляли...
- Сообщения: 35426
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
Re: Заметка: rrdtool, или занимательное рисование
несмотря на то что ты тока начал -я уже полезное нашёл.
галку про дежавю - всё бился чё на новом сервере не по русски пишет
)
галку про дежавю - всё бился чё на новом сервере не по русски пишет

Убей их всех! Бог потом рассортирует...
- FreeBSP
- майор
- Сообщения: 2020
- Зарегистрирован: 2009-05-24 20:20:19
- Откуда: Москва
Re: Заметка: rrdtool, или занимательное рисование
гы
Лис, я кстати тебе в жабу писал, по этому поводу, но что то ответа не услышал)
помогла пересборка с дежавю??
Лис, я кстати тебе в жабу писал, по этому поводу, но что то ответа не услышал)
помогла пересборка с дежавю??
Человек начинает получать первые наслаждения от знакомства с unix системами. Ему нужно помочь - дальше он сможет получать наслаждение самостоятельно ©
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!
- Alex Keda
- стреляли...
- Сообщения: 35426
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
Re: Заметка: rrdtool, или занимательное рисование
не приходило ничё...
=========
да, помогло.
========
кстати, было бы интересней дату в собственном формате настроить.
мне дни недели в двухбуквенном обозначении нах не нужны.
а вот чё-то типа 2010-03-15 - куда ближе
=========
да, помогло.
========
кстати, было бы интересней дату в собственном формате настроить.
мне дни недели в двухбуквенном обозначении нах не нужны.
а вот чё-то типа 2010-03-15 - куда ближе
Убей их всех! Бог потом рассортирует...
- ADRE
- майор
- Сообщения: 2641
- Зарегистрирован: 2007-07-26 8:53:49
- Контактная информация:
Re: Заметка: rrdtool, или занимательное рисование
один человек уже окучил, данную проблемму, сайт откопаю выложу )
//del
- ADRE
- майор
- Сообщения: 2641
- Зарегистрирован: 2007-07-26 8:53:49
- Контактная информация:
Re: Заметка: rrdtool, или занимательное рисование
_http://live.daemony.org/?s=rrdtool - отсюда может что выкарчивать -) читал радовался, сколько времени сэкономил ))
//del
- FreeBSP
- майор
- Сообщения: 2020
- Зарегистрирован: 2009-05-24 20:20:19
- Откуда: Москва
Re: Заметка: rrdtool, или занимательное рисование
там я тоже копал, собственно с этой статьи я сам и начинал
но в построение самой базы не воткнул только по тем материалам, дополнительно еще копался, доки с сайта читал..
но в построение самой базы не воткнул только по тем материалам, дополнительно еще копался, доки с сайта читал..
Человек начинает получать первые наслаждения от знакомства с unix системами. Ему нужно помочь - дальше он сможет получать наслаждение самостоятельно ©
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!
-
- сержант
- Сообщения: 154
- Зарегистрирован: 2008-09-19 12:21:10
Re: Заметка: rrdtool, или занимательное рисование
Доброго времени суток!!!
Подскажите как уберечь статистику после перезапуска сервера ????
Я так понимаю нужно ложить в какую-то БД....
Подскажите как это реализовать
Спасибо !!
Подскажите как уберечь статистику после перезапуска сервера ????
Я так понимаю нужно ложить в какую-то БД....
Подскажите как это реализовать

Спасибо !!
- FreeBSP
- майор
- Сообщения: 2020
- Зарегистрирован: 2009-05-24 20:20:19
- Откуда: Москва
Re: Заметка: rrdtool, или занимательное рисование
о какой статистике речь?
если про rrd, то она промеж падений никуда не девается - просто прерывается поступление данных в базу и все. на графике будет выглядеть как провал(заполненный значениями unknown) и ничего с этим не поделаешь
если про правила count в ipfw то с ними тоже все получается ровно - они в базу кладутся не как число, а как скорость. скачок с отметки стопицот на ноль вследствие обнуления счетчика rrd обрабатывает, как показала практика, нормально. так что опять же тут все ровно
если про rrd, то она промеж падений никуда не девается - просто прерывается поступление данных в базу и все. на графике будет выглядеть как провал(заполненный значениями unknown) и ничего с этим не поделаешь
если про правила count в ipfw то с ними тоже все получается ровно - они в базу кладутся не как число, а как скорость. скачок с отметки стопицот на ноль вследствие обнуления счетчика rrd обрабатывает, как показала практика, нормально. так что опять же тут все ровно
Человек начинает получать первые наслаждения от знакомства с unix системами. Ему нужно помочь - дальше он сможет получать наслаждение самостоятельно ©
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!
-
- сержант
- Сообщения: 154
- Зарегистрирован: 2008-09-19 12:21:10
Re: Заметка: rrdtool, или занимательное рисование
Я тоже так думал, пока IPFW не перезапустил 
После перезапуска счетчики IPFW обнуляются, а графики обнуляются после срабатывания скрипта обновления БД rrd
Что у меня не так ??

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

- FreeBSP
- майор
- Сообщения: 2020
- Зарегистрирован: 2009-05-24 20:20:19
- Откуда: Москва
Re: Заметка: rrdtool, или занимательное рисование
равновероятно что не так может быть что угодно - от ядра и то каких то конфиговBI_J писал(а):Что у меня не так ??
покажи что ли конфиги там, скрипты которыми собираешь, еще что..
Человек начинает получать первые наслаждения от знакомства с unix системами. Ему нужно помочь - дальше он сможет получать наслаждение самостоятельно ©
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!
Ламер — не желающий самостоятельно разбираться. Не путать с новичком: ламер опасен и знает это!
-
- сержант
- Сообщения: 154
- Зарегистрирован: 2008-09-19 12:21:10
Re: Заметка: rrdtool, или занимательное рисование
creat_db.sh
update_db.sh
1h.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 \
Код: Выделить всё
#!/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`
Код: Выделить всё
#!/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 \