Jump to content

Recommended Posts

Posted

Кто может подсказать, возможна ли связка? Допустим чтобы смотреть графики всех абонентов(не одновременно, а по выбору). Спасибо!

Posted

ну мртг рисует общий график на интерфейс а вот Bandwidth может рисовать свой график для каждого айпи... но и нагрузка на сервер тоже идет соответсвующая

Posted

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

Posted

у меня рисовало на 50юзерах, правда данные с ipfw я брал. далее убрал из-за тормозов

Posted

у меня реализовано для 20 человек (тех кто юзает анлимит). Вобщем-то не очень сложно, но юзаю не mrtg а rrdtool

Выглядит вот так для одного юзера:

c7e188518a34.png

Для всей сети вот так:

a58567b50c8e.png

 

Для сети, трафик снимается с интерфейса, а для каждого юзера еще проче - маленьким скриптом прямо из базы stg ))))

Пересчитывается все это у меня раз в 5 минут по крону, рисунки рисуются раз в 15 минут тоже по крону - поэтому количество просмотров не очень то влияет на загрузку самого сервера.

Posted

А ещё можно скриптом снимать счетчики с правил фаервола, пихать это все в базу. А на другом сервачке рисовать графики.

Posted

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

Posted
ну мртг рисует общий график на интерфейс а вот Bandwidth может рисовать свой график для каждого айпи... но и нагрузка на сервер тоже идет соответсвующая

а можно про Bandwidth поподробней? :)

Posted
ну мртг рисует общий график на интерфейс а вот Bandwidth может рисовать свой график для каждого айпи... но и нагрузка на сервер тоже идет соответсвующая

а можно про Bandwidth поподробней? :)

Можно, ставил я его. Никому не советую. Графики не красивые, не точные, не информативные, показывают цену на кукурузу в Африке в засушливый год. Кроме всего прочего работает эта шняга как демон, и грузит соответсвенно проц. Дисковое пространство занимается безбашенными логами под это дело и в конце концов игра перестает стоить свечь. В отличие от этого RRDTOOL имеет для каждого графика файловую базу строго определенного размера (сейчас не помню сколько килобайт) которая не зависит от времени, за которое ризуется график и сколько там данных отображается. Все это происходит благодаря хитрому алгоритму работы этой утилиты и хитрому формату этой базы.

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

По деталстатам выборки делать тупо бо это сильно нагружает базу запросами. Т.к. таблицы даталстатов безбашенного размера, то и нагрузочка на мускул получается нехилая. Я помница какой-то график прикручивал к stg-web но получилось не очень красиво бо мну не очень хорошо програмирует на php (вернее почти никак) и Алферов продинамил эту тему.

Ко всему прочему как быть тем кто юзает файловую базу? - поверьте, таких большинство т.к. с мускулем работа еще не стабильна и находится скорее в бетта тестироватии чем в реальной эксплуатации.

Posted
2 Cell, довольно неплохо RRD прикрутил, твой скрипт берет из SQL базы stg или файла?

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

Posted

Создаем базу 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 - думаю все справятся сами.

Posted
ну мртг рисует общий график на интерфейс а вот Bandwidth может рисовать свой график для каждого айпи... но и нагрузка на сервер тоже идет соответсвующая

а можно про Bandwidth поподробней? :)

Уменя "Bandwidthd" прекрасно работает главное его с PostgreSQL настроить.

Posted

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

Posted
Можно, уважаемый тезка, с этого места подробнее?

Лучше тогда netmond - это намного более функционально...

Posted

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

Для загрузки процессора, памяти и прочего на роутере лучше использовать cacti, хотя опять же, это не панацея...

Posted

В темке веб админка от алферова, там на 3-й или 4-й страничке есть мод для нее с графиками. строит графики на странице юзеров.

Posted

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

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

Ну чем я могу помочь так это тем что запрос будет выглядеть вот так:

SELECT `U0` , `D0` , `U1` , `D1` , `U2` , `D2` , `U3` , `D3` , `U4` , `D4` 
FROM `stat` 
WHERE `login` LIKE 'user'

где user - это логин вашего юзера для которого вы делаете выборку

  • 1 month later...
Posted

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

Заметил еще одно что данные нада брать с базы только тогда когда они записываются, тоесть если на конфиге стоит раз в 15 минут их туда писать то нада получтаь их раз в 16 минут.... руками запускаю скрипт то все ок работает график рисует а вот по крону не получается нарисовать у него в чем может быть проблемка?

зделал все как Cell писал вышке

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...