Kucher2 122 Posted 2009-12-25 16:43:35 Share Posted 2009-12-25 16:43:35 Здраствуйте снова. Коротко: юзаю rrdtool. Данные снимаются кажлые 5 минут, рисуется график суточной загрузки. В общем, всё устраивает, кроме момента, когда обновляются правила ipfw (например после ребута) и в count по захвату мы имеем значение байт меньше, чем в базе rrdtool. В итоге приблуда у меня не рисует график и приходится пересоздавать базу rrdtool. Как следствие - теряется картинка за сутки, всё начинается заново. Я конечно сунул создание базы в автозагрузку, всё делается автоматом, но... Может возможно заставить утилиту рисовать график на основе уже имеющихся данных, пусть даже "с провалом"? Link to post Share on other sites
zulu_Radist 856 Posted 2009-12-26 06:20:12 Share Posted 2009-12-26 06:20:12 Не пробовал рисовать с параметром --lower-limit=0 ? Link to post Share on other sites
Kucher2 122 Posted 2009-12-26 14:05:05 Author Share Posted 2009-12-26 14:05:05 Та же байда. Загрузка порядка 10-50Мбит, 50-150 ГГБ в сутки, а рисует после сброса правил - вот такую хрень. Нашёл такое: Daemony, получилось решить проблему с ipfw и сбросом счетчиков в ноль (когда при сбросе были гиганские скачки трафика и все сбивалось) - нужно в rrdtool data sources использовать тип счетчика не COUNTER, а DERIV с минималным и максимальным значением (обязательно)!! Тогда все ок. Вообщем может кому пригодится эта инфа)) Сделал так: #!/bin/sh rrdtool create /var/rrdtool/db/nuk.rrd \ --start 0 \ DS:inet:DERIVE:600:0:U \ DS:onet:DERIVE:600:0:U \ DS:inputp:DERIVE:600:0:U \ DS:outputp:DERIVE:600:0:U \ DS:allp:DERIVE:600:0:U \ DS:inputall:DERIVE:600:0:U \ DS:outputall:DERIVE:600:0:U \ RRA:AVERAGE:0.5:1:600 \ RRA:AVERAGE:0.5:6:700 \ RRA:AVERAGE:0.5:24:775 \ RRA:AVERAGE:0.5:288:797 \ RRA:MAX:0.5:1:600 \ RRA:MAX:0.5:6:700 \ RRA:MAX:0.5:24:775 \ RRA:MAX:0.5:288:797 echo "base created" Подсмотрел тут: http://shumer-admin.blogspot.com/2009/04/rrdtool.html Спасибо. Link to post Share on other sites
Kucher2 122 Posted 2010-01-10 00:46:34 Author Share Posted 2010-01-10 00:46:34 Пытаюсь намалевать графики для юзеров и запихнуть это всё в вэб-иф. Показания трафика беру из базы СТГ. Уже почти получилось, кроме того что рисует он немного привирая. Но основная проблема - провалы в графике. Думаю причина в том, что обновляемость по сравнению с ipfw count - редкая, раз в несколько минут. И rrdtool просто не считает нужным это прорисовывать. Как победить? Изменять немного данные каждый раз, когда добавляю их в базу? Там, единичку прибавлять... попробую - отпишусь. Link to post Share on other sites
Ork Yason 8 Posted 2010-01-10 07:03:18 Share Posted 2010-01-10 07:03:18 из базы СТГ- эт как, поточнее Link to post Share on other sites
Kucher2 122 Posted 2010-01-10 10:03:42 Author Share Posted 2010-01-10 10:03:42 Ну, из файлов вида /var/stargazer/users/test/stat - поля D0, U0... Как тут: http://local.com.ua/forum/topic/10919-stg-mrtg/page__hl__rrdtool Только выходит почему-то как на рисунке. Приращивание по единичке не помогло. Буду копать. :/ Link to post Share on other sites
Kucher2 122 Posted 2010-01-18 12:59:29 Author Share Posted 2010-01-18 12:59:29 Народ, хелп! Проблема как в посте выше - rrdtool "рвёт" графики. Всё делаю по манам. Такая же связка работает для локалки, а для юзера - получается бяка. Может кто-то скинет конфиги rrdtool, если делали, для юзеров? Link to post Share on other sites
nightfly 1,221 Posted 2010-01-18 13:05:37 Share Posted 2010-01-18 13:05:37 забейте на него - есть намного более быстрые и веселые решения для малевания графичков Link to post Share on other sites
deep_admin 1 Posted 2010-01-18 13:25:15 Share Posted 2010-01-18 13:25:15 пользуюсь вот этим http://www.void.gr/kargig/blog/2006/01/15/howto-remove-spikes-from-rrd-graphs/ Раз в сутки скриптом обхожу все свои rrdшки и убираю скачки. Link to post Share on other sites
Kucher2 122 Posted 2010-01-18 16:02:10 Author Share Posted 2010-01-18 16:02:10 А всё-таки из-за чего это происходит? Может как-то можно обойтись без таких костылей, убрав глюк на этапе построения графика или занесения данных в базу? Link to post Share on other sites
deep_admin 1 Posted 2010-01-19 07:10:00 Share Posted 2010-01-19 07:10:00 Все зависит от типа счетчика в rrd. По-умолчанию вы снимаете с интерфейсов с помощью snmp (или еще как-то) текущие значения счетчиков которые каждый раз увеличиваются. rrdtool сам вычисляет разницу и ложит ее в базу. После ребута девайса счетчики сбрасываются, вот rrd отнимает текущее небольшое значение от предыдущего огромного, берет его по модулю и рисует ваши петабайты/с . Можно следить за этим самостоятельно,а в rrd сделать тип счетчика gauge, а не counter, ну и придется за ребутами следить самому (например при возникновении такого большолго значения усреднять по последним 10-20). Link to post Share on other sites
Kucher2 122 Posted 2010-01-19 10:47:45 Author Share Posted 2010-01-19 10:47:45 У меня другая ситуация. Для случая рисования графиков на всю сеть - да, так и происходит, но я нашёл как это обойти, о чём написал выше: тут всё ок. А во втором случае - данные берутся из файла статистики юзера: там величина всегда нарастает. Кроме конца месяца конечно, но сейчас это неактуально. Link to post Share on other sites
Kucher2 122 Posted 2010-02-17 19:53:02 Author Share Posted 2010-02-17 19:53:02 Может таки кто-то сделал сие на базе rrdtool + данные из файловой базы юзеров? Поделитесь пожалуйста. А то разбираться ещё как в rrdtool значения усреднять и рисовать графики - откровенно некогда, и так хватает чем заняться. Не могу побороть проблему рваных графиков. Link to post Share on other sites
Queeq 0 Posted 2010-02-17 20:41:19 Share Posted 2010-02-17 20:41:19 БЛИН! Столько писал, потом файлы не прикрепились, нажал "Простой менеджер загрузки" и всё пропало нахрен! РРРРРРР! Ладно, щас напишу ещё раз. Link to post Share on other sites
Queeq 0 Posted 2010-02-17 21:05:06 Share Posted 2010-02-17 21:05:06 У меня работает PHP скрипт, который запускается по крону ежеминутно. Он снимает данные со счётчиков PF, пишет базы и рисует графики, если пришло время их обновлять. PHP - потому что только на нём умею писать относительно сложные вещи. Рисует графики по двум направлениям. Скрипт использует список "IP имя" из текстового файла, для которых надо рисовать графики. Если добавляешь новое имя - запускается внешний скрипт по созданию новой базы. На 30 юзерах в онлайне скрипт пишет базы 4 секунды (если не надо рисовать графики). Большинство времени занимает сама работа RRD. Если он рисует ещё и графики - вообще получается около 17 секунд. В общем накладное это занятие - делать графики для всех юзеров. Проц пенёк 2.4. Может быть можно всё это ещё оптимизировать, но я не программер и не знаю как. Так... Файло не прикрепляется. Качать тут. Внутри файлы: create_custom_base - создание новой rrd базы. Аргументом передаётся имя пользователя (базы). user_day_graph - нарисовать график за день. Аргументом передаётся имя пользователя (базы). user_month_graph - нарисовать график за месяц. Аргументом передаётся имя пользователя (базы). user_update_rrd.php - основной скрипт. user_week_graph - нарисовать график за неделю. Аргументом передаётся имя пользователя (базы). Скрипт писался под свои специфические настройки, но думаю общий принцип пригодится. Графики будут выглядеть как тут, только будет чёткое разделение Ukraine&World, а не Total&World. Будут вопросы - с удовольствием отвечу. Link to post Share on other sites
Kucher2 122 Posted 2010-02-17 21:36:59 Author Share Posted 2010-02-17 21:36:59 Блин... у меня в онлайне уже больше 50-ти человек бывает. Файлы качнул, спасибо. Гляну завтра. А зачем pf? Это ж для каждого надо правила держать. Есть же готовые цифры в файлах юзеров. Проблема только в их корректной обработке. И вообще, Если эта штука так грузит машину - может ну её? Или сунуть скрипты в очередь с низким приоритетом, пусть себе малюются когда машине делать нечего... а потом готовые графики разом копируются... Вот что rrdtool делает хорошо и автоматически - снимает данные и сохраняет. Может и правда разобраться и самому строить графики? Надо подумать. Жаль, совсем не знаю английского. Link to post Share on other sites
Queeq 0 Posted 2010-02-18 07:25:03 Share Posted 2010-02-18 07:25:03 С PFом сложилось исторически, т.к. изначально я снимал с него только общие графики загрузки. Плюс я вижу фактический график, тогда как при съёме с биллинга он может быть неточным (в связи с ошибками конфигурации либо сбоями). Тем более PF всё равно используется для выпускания в инет и не надо писать правила специально для снятия статистики - они есть изначально. Может быть и не стоит графики рисовать каждые 5 минут (как это у меня), но мне приятнее заходить и сразу видеть весь комплект юзерских графиков, чем ждать, пока они все отрисуются. Link to post Share on other sites
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now