Перейти до

Stg+mrtg


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

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

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

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

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

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

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

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

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

c7e188518a34.png

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

a58567b50c8e.png

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Вхід

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

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

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

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