Биллинговая система Nodeny

Главная категория => Общий раздел => Тема начата: Dimasik от 21 Сентября 2010, 09:46:57



Название: раздельная статистика с нескольких независимых роутеров
Отправлено: Dimasik от 21 Сентября 2010, 09:46:57
Всем привет!
есть 2 сети с двумя точками подключения от провайдеров.
Нодени стоит на одном из роутеров, второй роутер  по инету ломится в нодени и таким образом авторизирует клиентов из общей БД.
в сетях используются как серые так и белые адреса.
есть 3 направления:
1.Global-net(0.0.0.0/0)
2.City-IX (подсети тянет из файла)
3.UA-IX (подсети тянет из файла)
нужно видеть графики загрузки направлений, но по каждому роутеру отдельно.
и (желательно) ститистику в разрезе сайтов, т.е. образно говоря ТОП-10 посещаемости.
на роутерах стоит FreeBSD
поставили НТОП но чето не пойму как его настроить...
может есть альтернативные решения?
сразу скажу почему нельзя смотреть в нодени: нодени суммирует статистику по направлениям с обоих роутеров.


Название: Re: раздельная статистика с нескольких независимых роутеров
Отправлено: Aivanzipper от 21 Сентября 2010, 10:00:30
Если поразделять направления на логические линки (вланы) то можно будет снимайть с них snmp-статистику и рисовать графики rrdtool. Насчет ТОП-10 сайтов - копайте в сторону парсинга логов бинда (на 1-м месте все равно вконтакт будет ;))


Название: Re: раздельная статистика с нескольких независимых роутеров
Отправлено: ser970 от 21 Сентября 2010, 11:34:10
Если поразделять направления на логические линки (вланы) то можно будет снимайть с них snmp-статистику и рисовать графики rrdtool.
зачем так сложно?
в базе есть все данные.
разделяешь по районам клиетом и  получаешь даные для каждого канала инета


Название: Re: раздельная статистика с нескольких независимых роутеров
Отправлено: Aivanzipper от 21 Сентября 2010, 12:32:10
тут вот в чем соль:

Цитировать
нужно видеть графики загрузки направлений, но по каждому роутеру отдельно.


Название: Re: раздельная статистика с нескольких независимых роутеров
Отправлено: stix от 21 Сентября 2010, 12:57:47
тут вот в чем соль:

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


Название: Re: раздельная статистика с нескольких независимых роутеров
Отправлено: ser970 от 21 Сентября 2010, 13:08:26
тут вот в чем соль:

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


Название: Re: раздельная статистика с нескольких независимых роутеров
Отправлено: Aivanzipper от 21 Сентября 2010, 14:04:08
Во, супер! Хочу и себе так нарисовать )
Подскажите, в какой таблице хранятся данные о трафике?


Название: Re: раздельная статистика с нескольких независимых роутеров
Отправлено: ser970 от 21 Сентября 2010, 16:15:54
Во, супер! Хочу и себе так нарисовать )
Подскажите, в какой таблице хранятся данные о трафике?

гдето так
$sdb - таблица x2010x9x9 #тоесть таблица направлений за текущее число
$ussat вьюха таблиці users (там где группа клиетов обслуживаеміх данім сателитом
можно и не только сателитом

тут можно и вьюху создать.
select sum(`in`) as sin,sum(`out`) as sout,time from $sdb join $ussat on $ussat.id=$sdb.mid where class=1 group by time;

можно и скриптик написать что бі отдельно складівало в отдельную таблицу да и не обязательно ртулс использовтаь


Название: Re: раздельная статистика с нескольких независимых роутеров
Отправлено: Aivanzipper от 21 Сентября 2010, 16:27:10
$sdb и $ussat это переменные nodeny?

Хочу подать эти данные в кактус.


Название: Re: раздельная статистика с нескольких независимых роутеров
Отправлено: ser970 от 21 Сентября 2010, 16:43:14
$sdb и $ussat это переменные nodeny?

Хочу подать эти данные в кактус.
нет конечно
яже их описал


Название: Re: раздельная статистика с нескольких независимых роутеров
Отправлено: Aivanzipper от 21 Сентября 2010, 16:53:18
Ага, понятно.

Хочу спросить знающих, например, написал скрипт который из таблицы будет вынимать total-трафик за текущие сутки (начиная с 0:00 AM). Для RRDTool подаю эти данные с типом COUNTER (увеличивающиеся данные). Так вот собственно вопрос: как поведет себя RRDTool в момент начала новых суток, т.е. когда total-трафик обнулится?


Название: Re: раздельная статистика с нескольких независимых роутеров
Отправлено: blackjack от 21 Сентября 2010, 19:26:24
пилкоподібний графік мабуть буде, щось на зразок цього  http://hojeon.co.id/rrdtool/system/uptime.html ,але так буде якщо тип буде GAUGE, якшо COUNTER , то то буде якась крива що залежатиме від активності юзерів, і ордината дорывнюватиме нулю в 0 годин.


Название: Re: раздельная статистика с нескольких независимых роутеров
Отправлено: Dimasik от 21 Сентября 2010, 21:36:36
ну тут вообщем можно и не привязываться к нодени....
по ВЛАНам  неудобно делать....

есть еще какие идеи???
вообще интересует софт который бы разбирал netflow поток или с ipcad(оптимальней) данные тянул бы...


Название: Re: раздельная статистика с нескольких независимых роутеров
Отправлено: blackjack от 22 Сентября 2010, 10:39:10
напишите сами себе такой скриптик, или обратитесь к людям коотры смогут это сделать для вас за вознаграждение.


Название: Re: раздельная статистика с нескольких независимых роутеров
Отправлено: Dimasik от 22 Сентября 2010, 13:38:14
напишите сами себе такой скриптик, или обратитесь к людям коотры смогут это сделать для вас за вознаграждение.
ну я так понимаю что вы можете написать такое))))
скока будет стоить?


Название: Re: раздельная статистика с нескольких независимых роутеров
Отправлено: ser970 от 22 Сентября 2010, 15:07:28
напишите сами себе такой скриптик, или обратитесь к людям коотры смогут это сделать для вас за вознаграждение.
ну я так понимаю что вы можете написать такое))))
скока будет стоить?

давай ТЗ -посмотрим


Название: Re: раздельная статистика с нескольких независимых роутеров
Отправлено: blackjack от 23 Сентября 2010, 06:40:34
напишите сами себе такой скриптик, или обратитесь к людям коотры смогут это сделать для вас за вознаграждение.
ну я так понимаю что вы можете написать такое))))
скока будет стоить?

давай ТЗ -посмотрим
да, напишите конкрето, мне надо то и то и чтобы выглядело так ....


Название: Re: раздельная статистика с нескольких независимых роутеров
Отправлено: Aivanzipper от 23 Сентября 2010, 09:08:31
Наваял скрипт для вывода трафика за последние 5 мин, если немного изменить SQL-запрос то можно по разным сателлитам выбирать. В качестве параметра передавать номер направления.

Код:
#!/usr/bin/perl

use DBI;

$dbt=`date +x%Yx%-mx%-d`;
chomp $dbt;
$dbh=DBI->connect("DBI:mysql:database=bill;host=localhost;mysql_connect_timeout=3",yourlogin,yourpass);
$dbh or die ("Can't connect to database!");
$sth = $dbh->prepare(qq/SELECT sum(`in`) AS sin,sum(`out`) AS sout FROM $dbt WHERE time BETWEEN unix_timestamp()-300 AND unix_timestamp() AND class=$ARGV[0]/);
$sth->execute();
($sin, $sout)=$sth->fetchrow_array();
print "traffic_in:$sin traffic_out:$sout";


Название: Re: раздельная статистика с нескольких независимых роутеров
Отправлено: ser970 от 23 Сентября 2010, 09:58:47
Наваял скрипт для вывода трафика за последние 5 мин, если немного изменить SQL-запрос то можно по разным сателлитам выбирать. В качестве параметра передавать номер направления.
 unix_timestamp()-300 AND unix_timestamp() ;

так не коретконо будет
дело в том что

не всегда 300  тоетсь тут надо учитівать время віпонения скрипта и не только


Название: Re: раздельная статистика с нескольких независимых роутеров
Отправлено: Aivanzipper от 23 Сентября 2010, 10:22:58
а что еще учитывать?


Название: Re: раздельная статистика с нескольких независимых роутеров
Отправлено: Aivanzipper от 01 Октября 2010, 10:09:45
Почуму у этого запроса в 0:00 трафика нету, а если его запустить утром - есть  ???

Код:
SELECT sum(`sin`) as sin,sum(`sout`) as sout from (SELECT sum(`in`) AS sin,sum(`out`) AS sout FROM x2010x10x1 WHERE time BETWEEN 1285880401-5*60 AND 1285880401 AND class=1 UNION ALL SELECT sum(`in`) AS sin,sum(`out`) AS sout FROM x2010x9x30 WHERE time BETWEEN 1285880401-5*60 AND 1285880401 AND class=1) as temp

нет, я конечно понимаю что создается таблица для следующего дня, но куда пишется трафик в период с 23:55 по 0:00 ? Что за временная таблица?


Название: Re: раздельная статистика с нескольких независимых роутеров
Отправлено: ser970 от 02 Октября 2010, 09:34:26
нет, я конечно понимаю что создается таблица для следующего дня, но куда пишется трафик в период с 23:55 по 0:00 ? Что за временная таблица?
30.09.2010 : 25.59 -> x2010x9x30

1.10.2010 : 0.0.1 x2010x10x1

0:00  єто уже другая таблица - точка отсчета начинается именно с 0,0,0


 


Название: Re: раздельная статистика с нескольких независимых роутеров
Отправлено: Aivanzipper от 06 Октября 2010, 08:28:30
Сделал в скрипте отсылку писем: в 23:55, в 0:00 и в 0:05. Формат письма: принятно отправлено SQL-запрос.

343440265 64691684 SELECT sum(`in`) AS sin,sum(`out`) AS sout FROM x2010x10x5 WHERE time BETWEEN 1286312101-5*60 AND 1286312101 AND class=1

0 0 SELECT sum(`sin`) as sin,sum(`sout`) as sout from (SELECT sum(`in`) AS sin,sum(`out`) AS sout FROM x2010x10x6 WHERE time BETWEEN 1286312401-5*60 AND 1286312401 AND class=1 UNION ALL SELECT sum(`in`) AS sin,sum(`out`) AS sout FROM x2010x10x5
 WHERE time BETWEEN 1286312401-5*60 AND 1286312401 AND class=1) as temp

403599694 64872490 SELECT sum(`in`) AS sin,sum(`out`) AS sout FROM x2010x10x6 WHERE time BETWEEN 1286312701-5*60 AND 1286312701 AND class=1

Во втором запросе (который в 0:00) выборка ведется из 2-х таблиц с UNION ALL. Так вот проблема в том что в 0:00 данных нету а если проверить утром этим-же запросом то есть :) хрень какая-то