rtrt Опубликовано: 12 лютого, 2008 Опубликовано: 12 лютого, 2008 Кто может подсказать, возможна ли связка? Допустим чтобы смотреть графики всех абонентов(не одновременно, а по выбору). Спасибо!
fredik Опубліковано: 12 лютого, 2008 Опубліковано: 12 лютого, 2008 ну мртг рисует общий график на интерфейс а вот Bandwidth может рисовать свой график для каждого айпи... но и нагрузка на сервер тоже идет соответсвующая
Neelix Опубліковано: 12 лютого, 2008 Опубліковано: 12 лютого, 2008 та и мртг тож немало валит, когда то хотел тоже сделать на мртг графики для каждого юзера, но представь когда тысячу пользователей будет перекидывать каждые 5 минут с учетом того. что данных немало в логах
napTu Опубліковано: 12 лютого, 2008 Опубліковано: 12 лютого, 2008 у меня рисовало на 50юзерах, правда данные с ipfw я брал. далее убрал из-за тормозов
Cell Опубліковано: 12 лютого, 2008 Опубліковано: 12 лютого, 2008 у меня реализовано для 20 человек (тех кто юзает анлимит). Вобщем-то не очень сложно, но юзаю не mrtg а rrdtool Выглядит вот так для одного юзера: Для всей сети вот так: Для сети, трафик снимается с интерфейса, а для каждого юзера еще проче - маленьким скриптом прямо из базы stg )))) Пересчитывается все это у меня раз в 5 минут по крону, рисунки рисуются раз в 15 минут тоже по крону - поэтому количество просмотров не очень то влияет на загрузку самого сервера.
BABAY Опубліковано: 12 лютого, 2008 Опубліковано: 12 лютого, 2008 А ещё можно скриптом снимать счетчики с правил фаервола, пихать это все в базу. А на другом сервачке рисовать графики.
Колян Опубліковано: 12 лютого, 2008 Опубліковано: 12 лютого, 2008 А детейлстат не база? Ну так юзать ее для рисования, есть мод в алферовской одминке для этого, чтобы юзверь графег видел.
911 Опубліковано: 12 лютого, 2008 Опубліковано: 12 лютого, 2008 ну мртг рисует общий график на интерфейс а вот Bandwidth может рисовать свой график для каждого айпи... но и нагрузка на сервер тоже идет соответсвующая а можно про Bandwidth поподробней?
Cell Опубліковано: 12 лютого, 2008 Опубліковано: 12 лютого, 2008 ну мртг рисует общий график на интерфейс а вот Bandwidth может рисовать свой график для каждого айпи... но и нагрузка на сервер тоже идет соответсвующая а можно про Bandwidth поподробней? Можно, ставил я его. Никому не советую. Графики не красивые, не точные, не информативные, показывают цену на кукурузу в Африке в засушливый год. Кроме всего прочего работает эта шняга как демон, и грузит соответсвенно проц. Дисковое пространство занимается безбашенными логами под это дело и в конце концов игра перестает стоить свечь. В отличие от этого RRDTOOL имеет для каждого графика файловую базу строго определенного размера (сейчас не помню сколько килобайт) которая не зависит от времени, за которое ризуется график и сколько там данных отображается. Все это происходит благодаря хитрому алгоритму работы этой утилиты и хитрому формату этой базы.
Cell Опубліковано: 12 лютого, 2008 Опубліковано: 12 лютого, 2008 А детейлстат не база? Ну так юзать ее для рисования, есть мод в алферовской одминке для этого, чтобы юзверь графег видел. По деталстатам выборки делать тупо бо это сильно нагружает базу запросами. Т.к. таблицы даталстатов безбашенного размера, то и нагрузочка на мускул получается нехилая. Я помница какой-то график прикручивал к stg-web но получилось не очень красиво бо мну не очень хорошо програмирует на php (вернее почти никак) и Алферов продинамил эту тему. Ко всему прочему как быть тем кто юзает файловую базу? - поверьте, таких большинство т.к. с мускулем работа еще не стабильна и находится скорее в бетта тестироватии чем в реальной эксплуатации.
Neelix Опубліковано: 13 лютого, 2008 Опубліковано: 13 лютого, 2008 2 Cell, довольно неплохо RRD прикрутил, твой скрипт берет из SQL базы stg или файла?
Cell Опубліковано: 13 лютого, 2008 Опубліковано: 13 лютого, 2008 2 Cell, довольно неплохо RRD прикрутил, твой скрипт берет из SQL базы stg или файла? У меня из файла, но никакой проблемы сделать sql запрос к базе данных вместо того чтобы парсить файл я не вижу ))) Если интересно, могу в кратце рассказать как все прикручивается. Единственный минус - что все делается руками, поэтому абсолютно не подходит для большого количества юзеров. Вернее об автоматизации процесса я просто не думал ))
point Опубліковано: 13 лютого, 2008 Опубліковано: 13 лютого, 2008 напиши в краце если руки дойдут автоматизацию присобачу
Cell Опубліковано: 14 лютого, 2008 Опубліковано: 14 лютого, 2008 Создаем базу rrd: rrdtool create /var/rrdtool/90.100.rrd --step 300 DS:input:COUNTER:600:0:600000 DS:output:COUNTER:600:0:600000 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 где 90.100.rrd - имя файла базы (для удобства так названо) Далее пишем скрипт для заполнения этой базы: #=================10.20.90.100======================== D0=`cat /var/stargazer/users/NAME/stat | grep D0 | cut -d"=" -f2` D1=`cat /var/stargazer/users/NAME/stat | grep D1 | cut -d"=" -f2` D2=`cat /var/stargazer/users/NAME/stat | grep D2 | cut -d"=" -f2` D3=`cat /var/stargazer/users/NAME/stat | grep D3 | cut -d"=" -f2` U0=`cat /var/stargazer/users/NAME/stat | grep U0 | cut -d"=" -f2` U1=`cat /var/stargazer/users/NAME/stat | grep U1 | cut -d"=" -f2` U2=`cat /var/stargazer/users/NAME/stat | grep U2 | cut -d"=" -f2` U3=`cat /var/stargazer/users/NAME/stat | grep U3 | cut -d"=" -f2` let "inbytes=D0+D1+D2+D3" let "outbytes=U0+U1+U2+U3" /usr/bin/rrdtool update /var/rrdtool/90.100.rrd N:$inbytes:$outbytes #==================================================== Где количество строк D и U равняется количеству направлений (или то что надо показывать вобщем т.к. в итоге все складывается) Ну и последнее - нарисовать картинку: #!/bin/sh # Рисуем графики по анлимитным юзерам export LANG=ru_RU.CP1251 export LC_ALL= WWWPREFIX=/var/www/stat RRDPREFIX=/var/rrdtool #=========================10.20.90.100======================================= /usr/bin/rrdtool graph $WWWPREFIX/day_90_100.png --width 800 --start -1d \ --end now --title "Загрузка канала для IP 10.20.90.100" \ DEF:inoctets=$RRDPREFIX/90.100.rrd:input:AVERAGE \ DEF:outoctets=$RRDPREFIX/90.100.rrd:output:AVERAGE \ "CDEF:inbits=inoctets,8,*" "CDEF:outbits=outoctets,8,*" \ VDEF:sumin=inbits,TOTAL \ VDEF:sumout=outbits,TOTAL \ VDEF:avgin=inbits,AVERAGE \ AREA:inbits#00FF00:"Принято" \ LINE1:avgin#FF0000 \ GPRINT:sumin:"Sum=%lf%s" \ LINE1:outbits#0000FF:"Отправлено" \ GPRINT:sumout:"Sum=%lf%s" \ GPRINT:avgin:"Средняя загрузка =%lf%s" #============================================================================ Где -1d время за которое рисовать график (1 день) 1m - месяц, 1y - один год )) day_90_100.png - имя создаваемого рисунка Далее скрипты засовываются в крон - обновление счетчика на срабатывание через каждые 5 минут (это важно! т.к. база rrd создана под этот параметр) и скрипт рисования графика - как будет душе угодно )))) А дальше уже простой html - думаю все справятся сами.
S_ergey Опубліковано: 14 лютого, 2008 Опубліковано: 14 лютого, 2008 ну мртг рисует общий график на интерфейс а вот Bandwidth может рисовать свой график для каждого айпи... но и нагрузка на сервер тоже идет соответсвующая а можно про Bandwidth поподробней? Уменя "Bandwidthd" прекрасно работает главное его с PostgreSQL настроить.
Max Опубліковано: 14 лютого, 2008 Опубліковано: 14 лютого, 2008 а я ваще какти прикрутил, зато получился отдельный центр управления сетью.
Maxxx Опубліковано: 14 лютого, 2008 Опубліковано: 14 лютого, 2008 Можно, уважаемый тезка, с этого места подробнее?
den68 Опубліковано: 14 лютого, 2008 Опубліковано: 14 лютого, 2008 Можно, уважаемый тезка, с этого места подробнее? Лучше тогда netmond - это намного более функционально...
Neelix Опубліковано: 15 лютого, 2008 Опубліковано: 15 лютого, 2008 Имхо для графиков к конечному абоненту кроме загрузки канала во временном интервале больше ничего не нужно, потому большая фунциональность как бы не требуется. Для загрузки процессора, памяти и прочего на роутере лучше использовать cacti, хотя опять же, это не панацея...
fredik Опубліковано: 19 лютого, 2008 Опубліковано: 19 лютого, 2008 кто подскажет как получить данные о D0 D1 U0 U1 с базы мускуля...
Колян Опубліковано: 19 лютого, 2008 Опубліковано: 19 лютого, 2008 В темке веб админка от алферова, там на 3-й или 4-й страничке есть мод для нее с графиками. строит графики на странице юзеров.
fredik Опубліковано: 19 лютого, 2008 Опубліковано: 19 лютого, 2008 попробыва, неполучилось, хочю заюзать то что предложил Cell довольно неплохо получается.... но вот проблемка как получить ети данные, гдето видил пример но где найти немогу..
Cell Опубліковано: 19 лютого, 2008 Опубліковано: 19 лютого, 2008 попробыва, неполучилось, хочю заюзать то что предложил Cell довольно неплохо получается.... но вот проблемка как получить ети данные, гдето видил пример но где найти немогу.. Ну чем я могу помочь так это тем что запрос будет выглядеть вот так: SELECT `U0` , `D0` , `U1` , `D1` , `U2` , `D2` , `U3` , `D3` , `U4` , `D4` FROM `stat` WHERE `login` LIKE 'user' где user - это логин вашего юзера для которого вы делаете выборку
fredik Опубліковано: 29 березня, 2008 Опубліковано: 29 березня, 2008 все хорошо научился получать данные но вот проблемка график рисовать не хочет.... если руками запускать то все ок. Заметил еще одно что данные нада брать с базы только тогда когда они записываются, тоесть если на конфиге стоит раз в 15 минут их туда писать то нада получтаь их раз в 16 минут.... руками запускаю скрипт то все ок работает график рисует а вот по крону не получается нарисовать у него в чем может быть проблемка? зделал все как Cell писал вышке
Рекомендованные сообщения
Создайте аккаунт или войдите в него для комментирования
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВхід
Уже зарегистрированы? Войдите здесь.
Войти сейчас