forum.bitel.ru
http://forum.bitel.ru/

Ip-статистика (dialup)
http://forum.bitel.ru/viewtopic.php?f=5&t=2219
Страница 1 из 1

Автор:  Феанор [ 20 апр 2009, 21:29 ]
Заголовок сообщения:  Ip-статистика (dialup)

Еще раз здравствуйте =)
Итак, радует то, что на тестовой машине весь существующий функционал мы сегодня подняли. Скрипты поведения - замечательная вещь, осталось научиться их писать самому, а не копировать и изменять из вики.
Поэтому теперь вопрос не критичный, по рюшечкам так сказать =)
В модуле IPN есть возможность вывода статистики по часам в виде графика:
http://bgbilling.ru/program/screen/cs_14.gif
Логично, что при работе без авторизаций, сесии отсутсвуют и такая статистика оправдана и удобна.
А вот в диалапе детализация по сессиям выдается в виде таблицы только. Копаясь и разбираясь со структурой базы данных и ее оптимизацией увидел таблицу session_detail_X_yyyyMM, где х - код модуля диалап. В котором хранится детализированная статистика не только по сессиям, но и автоматом разбитая по часам(!).
Можно ли как-то организовать подобный графический вывод по часам? Т.е. если сессий несколько за час, то просуммировать по одинаковой услуге - и нарисовать график, нигде не храня (не так часто будут эти графики запрашивать, я думаю).

зы а то прикручивать к договорам модуль ipn с его отдельной лицензий ради одного графика - как-то нецелесообразно =)

Автор:  skn [ 21 апр 2009, 02:03 ]
Заголовок сообщения: 

Все можно... вопрос только во времени и целесообразности...

Автор:  survivor [ 07 дек 2009, 18:10 ]
Заголовок сообщения:  Re:

skn писал(а):
Все можно... вопрос только во времени и целесообразности...


Целесообразность налицо. Разве нет?
Мой голос однозначно за график dialup трафика (его же и для PPPoE используют, а там график трафика очень нужен).

Автор:  snark [ 17 дек 2009, 20:44 ]
Заголовок сообщения:  Re: Ip-статистика (dialup)

IMHO - в сад! пусть БГБ правильно считает траффик, а лампочки и прочие свистелки можно и самому прикрутить ;)

Автор:  survivor [ 17 дек 2009, 21:11 ]
Заголовок сообщения:  Re: Ip-статистика (dialup)

snark писал(а):
IMHO - в сад! пусть БГБ правильно считает траффик, а лампочки и прочие свистелки можно и самому прикрутить ;)


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

Автор:  snark [ 17 дек 2009, 21:59 ]
Заголовок сообщения:  Re: Ip-статистика (dialup)

survivor писал(а):
я то уже эту свистульку прикрутил из rrd

тыц! ну Вы поняли ;)

в общем и целом графики оно конечно хорошо, оно красиво, но я не думаю что:
1. от их наличия/отсутствия зависит выбор провайдера
2. разработчики это реализуют в некоей перспективе ... может разве что в 6.х или 7.х ... хотя некий, не к ночи будет помянутый, биллинг из 3-х букв (нет, не БГБ) использует rrd для того чтобы рисовать графики в вебе

Автор:  skyb [ 18 дек 2009, 06:11 ]
Заголовок сообщения:  Re: Ip-статистика (dialup)

Вообще я тоже за это, даже в целях сохранение времени мне и отделу техподдержки. Обычные пользователи до такой степени стадный народ, что увидели - ой у меня скорость маленькая и понеслась...все причитают, начинаем проверять, а они толком и не разбираются вообще во всем. И соответственно много времени уходит в пустую. А вот если бы рисовались графики, темболее что есть из чего их делать, с возможностью выставления их а кабинете...было очень даже хорошо. Я только за такую возможность, я думаю нас много кто поддержет.

Автор:  survivor [ 18 дек 2009, 15:37 ]
Заголовок сообщения:  Re: Ip-статистика (dialup)

snark писал(а):
survivor писал(а):
я то уже эту свистульку прикрутил из rrd

тыц! ну Вы поняли ;)

в общем и целом графики оно конечно хорошо, оно красиво, но я не думаю что:
1. от их наличия/отсутствия зависит выбор провайдера
2. разработчики это реализуют в некоей перспективе ... может разве что в 6.х или 7.х ... хотя некий, не к ночи будет помянутый, биллинг из 3-х букв (нет, не БГБ) использует rrd для того чтобы рисовать графики в вебе


Вот как у меня это сейчас выглядит (см. аттачи).
Конечно, для рисования параметров линии без сервера статистики не обойтись, но вот график трафика сделанный по данным netflow с разбивкой по типам - смотрелся бы еще лучше :-)

Автор:  survivor [ 12 мар 2010, 14:33 ]
Заголовок сообщения:  Re: Ip-статистика (dialup)

прошло порядочно времени с последнего поста, все сказали что хотели, можно узнать планы разработчиков - все-таки будет когда-нибудь этот функционал? ждать его в версиях 5.X или пусть все будут snark'ами ;-) пишут себе все сами (меня это не особо пугает, просто не люблю костыли, извиняйте...)

Автор:  skyb [ 16 мар 2010, 15:10 ]
Заголовок сообщения:  Re: Ip-статистика (dialup)

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

Автор:  survivor [ 16 мар 2010, 15:28 ]
Заголовок сообщения:  Re: Ip-статистика (dialup)

skyb писал(а):
survivor а не подскажите какая у вас система мониторинга? она для каждого пользователя собирает трафик по snmp и рисует это в графиках-потом вы перевели это в личный кабинет так?


по snmp с помощью mrtg собираю с дсламов статистику по портам, кладу данные в rrd. Есть еще табличка соответствия порт/контракт, она заполняется в полуавтоматическом режиме (отдельный скрипт по snmp снимает с дсламов табличку mac/порт и в логах pppoe подключений находит соответствие mac/логин и логин/контракт и предлагает это подтвердить оператору). Ну и имея эти данные - рисую с помощью rrd в домашнем кабинете пользователя красивые :-) графики.
Понятно, что для snr, скорости подключений и attenuation'а без этой схемы не обойтись, но ведь для картинок трафика ВСЕ есть в биллинге! А используя данные нетфлоу можно забабахать такие графики с разделением по типам! Да и не все дсламы поддерживают RFC'шный снмп...

Автор:  skyb [ 16 мар 2010, 16:01 ]
Заголовок сообщения:  Re: Ip-статистика (dialup)

survivor писал(а):
skyb писал(а):
survivor а не подскажите какая у вас система мониторинга? она для каждого пользователя собирает трафик по snmp и рисует это в графиках-потом вы перевели это в личный кабинет так?


по snmp с помощью mrtg собираю с дсламов статистику по портам, кладу данные в rrd. Есть еще табличка соответствия порт/контракт, она заполняется в полуавтоматическом режиме (отдельный скрипт по snmp снимает с дсламов табличку mac/порт и в логах pppoe подключений находит соответствие mac/логин и логин/контракт и предлагает это подтвердить оператору). Ну и имея эти данные - рисую с помощью rrd в домашнем кабинете пользователя красивые :-) графики.
Понятно, что для snr, скорости подключений и attenuation'а без этой схемы не обойтись, но ведь для картинок трафика ВСЕ есть в биллинге! А используя данные нетфлоу можно забабахать такие графики с разделением по типам! Да и не все дсламы поддерживают RFC'шный снмп...

Табличка соответствия - это что за зверь? она гдето отдельно добавлена? У нас реализована dhcp options 82 и есть zenos который рисует графики(бд - mysql) тоесть можно просто брать из таблицы в zenos ip адрес и сравнивать его с тем что указано в параметрах договора(главное заполнять правильно :) ). И последний вопрос - а как это у вас добавленно в личный кабинет? что подредактированно?

Автор:  survivor [ 25 мар 2010, 21:14 ]
Заголовок сообщения:  Re: Ip-статистика (dialup)

в main.xsl добавил:

<xsl:template name="ShowLineGraphs">
<xsl:variable name="contract_name" select="/data/@contract"/>
<xsl:variable name="quot">'</xsl:variable>
<xsl:variable name="query" select="concat('SELECT title, pswd FROM contract where title=',$quot,$contract_name,$quot)"/>
<xsl:variable name="contract_details" select="sql:select( $query )"/>

<xsl:variable name="graph_name_snr" select="concat( 'http://statistics.provider.net/cgi-bin/graph.cgi?id=', $contract_details/row/@title, ':', $contract_details/row/@pswd, '&amp;type=snr&amp;mode=monthly')"/>
<xsl:variable name="graph_name_rate" select="concat( 'http://statistics.provider.net/cgi-bin/graph.cgi?id=', $contract_details/row/@title, ':', $contract_details/row/@pswd, '&amp;type=rate&amp;mode=monthly')"/>
<xsl:variable name="graph_name_atn" select="concat( 'http://statistics.provider.net/cgi-bin/graph.cgi?id=', $contract_details/row/@title, ':', $contract_details/row/@pswd, '&amp;type=atn&amp;mode=monthly')"/>
<table cellspacing='0' width="100%">
<tr>
<td align="left">
<img>
<xsl:attribute name="src">
<xsl:value-of select="$graph_name_snr" />
</xsl:attribute>
</img>
</td>
</tr>
<tr>
<td align="left">
<img>
<xsl:attribute name="src">
<xsl:value-of select="$graph_name_atn" />
</xsl:attribute>
</img>
</td>
</tr>
<tr>
<td align="left">
<img>
<xsl:attribute name="src">
<xsl:value-of select="$graph_name_rate" />
</xsl:attribute>
</img>
</td>
</tr>
</table>
</xsl:template>

<xsl:template name="Memo">
<xsl:call-template name="ShowLineGraphs"/>
</xsl:template>

скрипт graph.cgi аутентифицирует запрос на рисование картинки по login/pass затем находит дслам и порт по табличке соответствия, рисует с помощью rrd картинку и выдает ее на output.

Автор:  skyb [ 13 апр 2010, 07:31 ]
Заголовок сообщения:  Re: Ip-статистика (dialup)

survivor писал(а):
в main.xsl добавил:

<xsl:template name="ShowLineGraphs">
<xsl:variable name="contract_name" select="/data/@contract"/>
<xsl:variable name="quot">'</xsl:variable>
<xsl:variable name="query" select="concat('SELECT title, pswd FROM contract where title=',$quot,$contract_name,$quot)"/>
<xsl:variable name="contract_details" select="sql:select( $query )"/>

<xsl:variable name="graph_name_snr" select="concat( 'http://statistics.provider.net/cgi-bin/graph.cgi?id=', $contract_details/row/@title, ':', $contract_details/row/@pswd, '&amp;type=snr&amp;mode=monthly')"/>
<xsl:variable name="graph_name_rate" select="concat( 'http://statistics.provider.net/cgi-bin/graph.cgi?id=', $contract_details/row/@title, ':', $contract_details/row/@pswd, '&amp;type=rate&amp;mode=monthly')"/>
<xsl:variable name="graph_name_atn" select="concat( 'http://statistics.provider.net/cgi-bin/graph.cgi?id=', $contract_details/row/@title, ':', $contract_details/row/@pswd, '&amp;type=atn&amp;mode=monthly')"/>
<table cellspacing='0' width="100%">
<tr>
<td align="left">
<img>
<xsl:attribute name="src">
<xsl:value-of select="$graph_name_snr" />
</xsl:attribute>
</img>
</td>
</tr>
<tr>
<td align="left">
<img>
<xsl:attribute name="src">
<xsl:value-of select="$graph_name_atn" />
</xsl:attribute>
</img>
</td>
</tr>
<tr>
<td align="left">
<img>
<xsl:attribute name="src">
<xsl:value-of select="$graph_name_rate" />
</xsl:attribute>
</img>
</td>
</tr>
</table>
</xsl:template>

<xsl:template name="Memo">
<xsl:call-template name="ShowLineGraphs"/>
</xsl:template>

скрипт graph.cgi аутентифицирует запрос на рисование картинки по login/pass затем находит дслам и порт по табличке соответствия, рисует с помощью rrd картинку и выдает ее на output.



А не могли бы вы выложить main.xsl а то скока не пытаюсь, чета не работает :(

Не могли бы выложить файлы common.xsl main.xsl и dialup.xsl И конечно было бы не плохо посмотреть как реализован cgi скрип, можно в личку.

Автор:  skyb [ 20 июл 2010, 07:12 ]
Заголовок сообщения:  Re: Ip-статистика (dialup)

Есть желание написать это на яве, возможно ли как то графики вытягивать из сторонней системы?
Как передать параметры на то чтоб залогиниться?? Логин и пароль статические

Автор:  skyb [ 21 июл 2010, 05:51 ]
Заголовок сообщения:  Re: Ip-статистика (dialup)

Как я понял, в биллинге непостоишь эти таблички(выдирая данные из бд) потому как это все работать (рисовать графики) будет только в момент формирования, тоесть если добавить свой action и написать класс который будет рисовать графики, то при нажатии на подменю "графики" (например) в личном кабинете, будет формироваться только на данный момент времени :(

1-возмонжо как то постоянно рисовать эти графики(хотяб интервал 5 минут)
2-Как можно вытягивать из сторонней системы? Просто я не могу понять, как реализовать таблицу соответствия, потому как непонятно как ее заполнять вновь подключившимися абонентами, руками формировать ссылки до их графиков и заносить в мускул...ппц..этож замучаемся

Автор:  snark [ 21 июл 2010, 10:25 ]
Заголовок сообщения:  Re: Ip-статистика (dialup)

skyb писал(а):
Как я понял, в биллинге непостоишь эти таблички(выдирая данные из бд) потому как это все работать (рисовать графики) будет только в момент формирования, тоесть если добавить свой action и написать класс который будет рисовать графики, то при нажатии на подменю "графики" (например) в личном кабинете, будет формироваться только на данный момент времени :(

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

skyb писал(а):
возмонжо как то постоянно рисовать эти графики(хотяб интервал 5 минут)

а) зачем их рисовать постоянно, а не динамикой???
б) если использовать rrd базу то так или иначе ее надо заполнять раз в N времени (5 минут IMHO оптимально)

skyb писал(а):
Как можно вытягивать из сторонней системы?

CGI ? ;) или ты хочешь через API дергать? если через API то тогда надо будет XML рисовать, чтоб его на статистику впихнуть

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

чего мучится то? id в contract = id/имя rrd базы (файла) = у каждого договора свои графики ... или я чего-то не понял?

Автор:  skyb [ 21 июл 2010, 11:05 ]
Заголовок сообщения:  Re: Ip-статистика (dialup)

snark писал(а):
skyb писал(а):
Как я понял, в биллинге непостоишь эти таблички(выдирая данные из бд) потому как это все работать (рисовать графики) будет только в момент формирования, тоесть если добавить свой action и написать класс который будет рисовать графики, то при нажатии на подменю "графики" (например) в личном кабинете, будет формироваться только на данный момент времени :(

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

skyb писал(а):
возмонжо как то постоянно рисовать эти графики(хотяб интервал 5 минут)

а) зачем их рисовать постоянно, а не динамикой???
б) если использовать rrd базу то так или иначе ее надо заполнять раз в N времени (5 минут IMHO оптимально)

skyb писал(а):
Как можно вытягивать из сторонней системы?

CGI ? ;) или ты хочешь через API дергать? если через API то тогда надо будет XML рисовать, чтоб его на статистику впихнуть

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

чего мучится то? id в contract = id/имя rrd базы (файла) = у каждого договора свои графики ... или я чего-то не понял?




Смотри, если дергать чисто с базы биллинга то получиться так....так как пишется свой экшн, то графики будут рисоваться только при нажатии кнопки подменю "графики" график будет нарисован постоянно см изображения. rrd рисует в сторонней системе мониторинга....она использует мускул..но...вообще не могу понять как, тоесть там нет базы при заходе клиентом мускула ,так же она не создается и в диретории бд, как от туда выдирать .. понять бы....используем zenoss. Да у каждого договора свои графики, но, как к ним получить доступ то....вообще картину представляю так


делается таблица соответствия вида

id договора - ссылка на картинку для этого договра

пишется экшн который будет смотреть на id договора в базе выбирать ссылку которая ему соответствует, и логиньться в системе и передавать картинку в ЛК....как заполнять поля соответствия...

Автор:  snark [ 21 июл 2010, 11:45 ]
Заголовок сообщения:  Re: Ip-статистика (dialup)

skyb писал(а):
графики будут рисоваться только при нажатии кнопки подменю "графики"

правильно

skyb писал(а):
график будет нарисован постоянно см изображения

на скринах график рисуется CGI скриптом, откуда там "постоянно"??? CGI == динамика != постоянно

skyb писал(а):
rrd рисует в сторонней системе мониторинга

rrd рисует в статистике БГБ - это видно на скринах ;)

skyb писал(а):
тоесть там нет базы при заходе клиентом мускула

базы где? в rrd? rrd и есть БД ;)

skyb писал(а):
используем zenoss

че тут всех надо за язык тянуть а? неужели сложно было сказать:
я использую zenoss и думаю как бы прикрутить его графики к статистике
это нереально сложно да?

Автор:  skyb [ 21 июл 2010, 11:53 ]
Заголовок сообщения:  Re: Ip-статистика (dialup)

с cgi мало знаком, поэтому и сказать мло что могу :( просто если это делать какой то выборкой с помощюя явы то выходит нечто вида...

Эм..а это просто?? подскажи как...с этим сталкиваюсь первый раз, поэтому и вообще незнаю что делать...Буде признателен :)

Автор:  snark [ 21 июл 2010, 12:48 ]
Заголовок сообщения:  Re: Ip-статистика (dialup)

собсно тут все описано
survivor писал(а):
Код:
<xsl:variable name="graph_name_snr" select="concat( 'http://statistics.provider.net/cgi-bin/graph.cgi?id=', $contract_details/row/@title, ':',  $contract_details/row/@pswd, '&amp;type=snr&amp;mode=monthly')"/>
<xsl:variable name="graph_name_rate" select="concat( 'http://statistics.provider.net/cgi-bin/graph.cgi?id=', $contract_details/row/@title, ':',  $contract_details/row/@pswd, '&amp;type=rate&amp;mode=monthly')"/>
<xsl:variable name="graph_name_atn" select="concat( 'http://statistics.provider.net/cgi-bin/graph.cgi?id=', $contract_details/row/@title, ':',  $contract_details/row/@pswd, '&amp;type=atn&amp;mode=monthly')"/>

скрипт graph.cgi
...
рисует с помощью rrd картинку и выдает ее на output.


более подробно:
а) есть rrd БД (читай "rrd файлы") в которые раз в N времени складывается необходимая инфа
б) есть CGI скрипт который выдирает из rrd инфу и рисует графики
п. а и б делаются с помощью пакета rrdtool
собсно все что надо - нарисовать CGI скрипт, который, при обращении к страничке, будет выводить на нее графики рисуя их на основе имеющихся в zenoss rrd файлах ... как связать файлы с юзерами? да лехко! в договоре наверняка есть либо объект описывающий свич и порт, либо, что при использовании ipn просто наверняка - шлюз (читай: IP адрес свича) и порт юзера - увязать в CGI скрипте это дело с данными zenoss совершенно не сложно, ящитаю

и даже на яве ничего рисовать не надо ;)

Автор:  skyb [ 21 июл 2010, 13:07 ]
Заголовок сообщения:  Re: Ip-статистика (dialup)

пошел читать про CGI

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/