Перейти до

Рекомендованные сообщения

Здраствуйте снова. :lol:

Коротко: юзаю rrdtool. Данные снимаются кажлые 5 минут, рисуется график суточной загрузки.

В общем, всё устраивает, кроме момента, когда обновляются правила ipfw (например после ребута) и в count по захвату мы имеем значение байт меньше, чем в базе rrdtool.

В итоге приблуда у меня не рисует график и приходится пересоздавать базу rrdtool. Как следствие - теряется картинка за сутки, всё начинается заново. :)

Я конечно сунул создание базы в автозагрузку, всё делается автоматом, но...

Может возможно заставить утилиту рисовать график на основе уже имеющихся данных, пусть даже "с провалом"?

Ссылка на сообщение
Поделиться на других сайтах

Та же байда. :)

Загрузка порядка 10-50Мбит, 50-150 ГГБ в сутки, а рисует после сброса правил - вот такую хрень.

e14f17857977.png

 

Нашёл такое:

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

Спасибо. :lol:

Ссылка на сообщение
Поделиться на других сайтах
  • 2 weeks later...

Пытаюсь намалевать графики для юзеров и запихнуть это всё в вэб-иф.

Показания трафика беру из базы СТГ. Уже почти получилось, кроме того что рисует он немного привирая. Но основная проблема - провалы в графике.

Думаю причина в том, что обновляемость по сравнению с ipfw count - редкая, раз в несколько минут. И rrdtool просто не считает нужным это прорисовывать. Как победить? Изменять немного данные каждый раз, когда добавляю их в базу? Там, единичку прибавлять... попробую - отпишусь. :blink:

f648378a5183.jpg

Ссылка на сообщение
Поделиться на других сайтах

Ну, из файлов вида /var/stargazer/users/test/stat - поля D0, U0...

Как тут: http://local.com.ua/forum/topic/10919-stg-mrtg/page__hl__rrdtool

Только выходит почему-то как на рисунке.

Приращивание по единичке не помогло. Буду копать. :/

post-3670-1263117818,8646_thumb.jpg

Ссылка на сообщение
Поделиться на других сайтах
  • 2 weeks later...

Народ, хелп! Проблема как в посте выше - rrdtool "рвёт" графики. :(

Всё делаю по манам. Такая же связка работает для локалки, а для юзера - получается бяка.

Может кто-то скинет конфиги rrdtool, если делали, для юзеров?

Ссылка на сообщение
Поделиться на других сайтах

А всё-таки из-за чего это происходит?

Может как-то можно обойтись без таких костылей, убрав глюк на этапе построения графика или занесения данных в базу?

Ссылка на сообщение
Поделиться на других сайтах

Все зависит от типа счетчика в rrd.

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

Можно следить за этим самостоятельно,а в rrd сделать тип счетчика gauge, а не counter, ну и придется за ребутами следить самому (например при возникновении такого большолго значения усреднять по последним 10-20).

Ссылка на сообщение
Поделиться на других сайтах

У меня другая ситуация. Для случая рисования графиков на всю сеть - да, так и происходит, но я нашёл как это обойти, о чём написал выше: тут всё ок.

А во втором случае - данные берутся из файла статистики юзера: там величина всегда нарастает. Кроме конца месяца конечно, но сейчас это неактуально.

Ссылка на сообщение
Поделиться на других сайтах
  • 5 weeks later...

Может таки кто-то сделал сие на базе rrdtool + данные из файловой базы юзеров? Поделитесь пожалуйста.

А то разбираться ещё как в rrdtool значения усреднять и рисовать графики - откровенно некогда, и так хватает чем заняться.

Не могу побороть проблему рваных графиков.

Ссылка на сообщение
Поделиться на других сайтах

БЛИН! Столько писал, потом файлы не прикрепились, нажал "Простой менеджер загрузки" и всё пропало нахрен! РРРРРРР! Ладно, щас напишу ещё раз.

Ссылка на сообщение
Поделиться на других сайтах

У меня работает 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.

 

Будут вопросы - с удовольствием отвечу.

Ссылка на сообщение
Поделиться на других сайтах

Блин... у меня в онлайне уже больше 50-ти человек бывает. :blink:

Файлы качнул, спасибо. Гляну завтра.

А зачем pf? Это ж для каждого надо правила держать. Есть же готовые цифры в файлах юзеров. Проблема только в их корректной обработке.

 

И вообще, Если эта штука так грузит машину - может ну её?

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

 

Вот что rrdtool делает хорошо и автоматически - снимает данные и сохраняет. Может и правда разобраться и самому строить графики? :huh:

 

Надо подумать. Жаль, совсем не знаю английского.

Ссылка на сообщение
Поделиться на других сайтах

С PFом сложилось исторически, т.к. изначально я снимал с него только общие графики загрузки. Плюс я вижу фактический график, тогда как при съёме с биллинга он может быть неточным (в связи с ошибками конфигурации либо сбоями). Тем более PF всё равно используется для выпускания в инет и не надо писать правила специально для снятия статистики - они есть изначально.

 

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

Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Вхід

Уже зарегистрированы? Войдите здесь.

Войти сейчас
  • Зараз на сторінці   0 користувачів

    Немає користувачів, що переглядають цю сторінку.

×
×
  • Створити нове...