Перейти до

Билинг для 300-500 абонентов.


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

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

Вот за это убивать надо.
Ссылка на сообщение
Поделиться на других сайтах
  • Відповіді 248
  • Створено
  • Остання відповідь

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

Не поленитесь и сделайте нормально. Не нужно никакких pppoe. Только гемороя себе добавите и тех. поддержке. Стройте простой ipoe на unnumbered, влан на дом или на пользователя.

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

Нет ни одного универсального биллинга. Каждый биллинг рассчитан на своего клиента. Самый простой показатель - к-во абонентов. Какие-то биллинги уверенно нацелены на сегмент в 0-5000 абонентов, другие

Posted Images

 

 

Вопрос открыт. Какие тренды сейчас в биллингах?

Зачем переезжать ? Есть с ноденни серьёзные проблемы ?

Перестал он удовлетворять нашим (моим) требованиям. Хочется значительно большего. Пока смотрели на Нодени+, но есть многооооо вопросов к нему.

 

Почему бы не огласить список потребностей ? А то както ни о чем.

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

 

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

Вот за это убивать надо.

 

 

 

во первых из исходников собирается только одна программа и то только на линуксе это  freeradius,  а собирается она потому что perl собран в дистрибутиве с потоками а freeradius без потоков, так что с убийством обращайтесь к создателям дистрибутивов

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

 

стандартная ситуация для серверов доступа которые не могу делать Accounting-On / Accounting-Off

для решить эту проблему есть утилита autozh.pl  её устанавливаете в автозагрузке и она при поднятии сервера скидывает сессии в зап

 

http://abills.net.ua/wiki/doku.php/abills:docs:faq:ru?posle_perezagruzki_servera_dostupa_sessii_vse_esche_visjat_v_billinge

хм. а когда мы были у вас на ком поддержке (где то год-полтора назад), об этом скрипте никто ничего не сказал/не сделал.....

 

 

 

 

возможно у Вас было какое то другое решение  этой проблемы

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

~AsmodeuS~,

FreeRADIUS в git-е лежит готовый для сборки пакетов. В Debian, например, можно прямо в исходниках FreeRADIUS сказать dpkg-buildpackage -b и получить на выходе пакеты.

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

~AsmodeuS~,

FreeRADIUS в git-е лежит готовый для сборки пакетов. В Debian, например, можно прямо в исходниках FreeRADIUS сказать dpkg-buildpackage -b и получить на выходе пакеты.

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

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

~AsmodeuS~,

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

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

 

 

Ммм, я говорил таблица пустая. Наполним, будем смотреть.

dv_calls не наполняется... dv_log - да, но туда записи попадают уже сильно опосля...

 

 

 

если они пропали с мониторинга, то на следующем алайве они опять там будут если за это время были выданы эти ип еще кому то они тоже появятся в мониторинге и система скинет дубликаты ип все ь процесс заёмёт 1 алайв период (это для провайдеров до 5 тис онлайн 5 минут больше 5 тис 10 минут) в любом случае єто быстрее чем перезагружать демон и всех скопом заставлять по новому авторизоваться

Давно появился сброс клиентов с дублирующимися адресами? Я что-то не замечал такого в коде...

 

 

 

во первых из исходников собирается только одна программа и то только на линуксе это freeradius, а собирается она потому что perl собран в дистрибутиве с потоками а freeradius без потоков, так что с убийством обращайтесь к создателям дистрибутивов

CentOS - все прекрасно работает искаропки. Debian - тоже все завелось искаропки в более-менее актуальной версии (в старых типа 0.51 - там да, радиус крашился по причине того что используются глобальные переменные типа $db, в то время как $db должна быть уникальной для каждого потока).

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

 

Ммм, я говорил таблица пустая. Наполним, будем смотреть.

dv_calls не наполняется... dv_log - да, но туда записи попадают уже сильно опосля...

 

 

 

если они пропали с мониторинга, то на следующем алайве они опять там будут если за это время были выданы эти ип еще кому то они тоже появятся в мониторинге и система скинет дубликаты ип все ь процесс заёмёт 1 алайв период (это для провайдеров до 5 тис онлайн 5 минут больше 5 тис 10 минут) в любом случае єто быстрее чем перезагружать демон и всех скопом заставлять по новому авторизоваться

Давно появился сброс клиентов с дублирующимися адресами? Я что-то не замечал такого в коде...

 

 

 

во первых из исходников собирается только одна программа и то только на линуксе это freeradius, а собирается она потому что perl собран в дистрибутиве с потоками а freeradius без потоков, так что с убийством обращайтесь к создателям дистрибутивов

CentOS - все прекрасно работает искаропки. Debian - тоже все завелось искаропки в более-менее актуальной версии (в старых типа 0.51 - там да, радиус крашился по причине того что используются глобальные переменные типа $db, в то время как $db должна быть уникальной для каждого потока).

 

 

1  проверка дубликатов ИП появилась ее летом billd смотрите

2  было более десятка прицидентов по этому решили сделать так, если кто то хочет завести свой реппозиторий  то может сделать но как показала практика собирать радиус и из исходников пока самый оптимальный вариант

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

 

 

dv_calls не наполняется...

Там активные сессии и не только.

И вот пример:

mysql> explain SELECT c.framed_ip_address
    ->   FROM dv_calls c
    ->   INNER JOIN nas_ippools np ON (c.nas_id=np.nas_id)
    ->   WHERE np.pool_id in ( 1 )
    ->   GROUP BY c.framed_ip_address;
+----+-------------+-------+-------+---------------+------+---------+------+-------+-----------------------------------------------------------+
| id | select_type | table | type  | possible_keys | key  | key_len | ref  | rows  | Extra                                                     |
+----+-------------+-------+-------+---------------+------+---------+------+-------+-----------------------------------------------------------+
|  1 | SIMPLE      | np    | index | nas           | nas  | 6       | NULL |     1 | Using where; Using index; Using temporary; Using filesort |
|  1 | SIMPLE      | c     | ALL   | NULL          | NULL | NULL    | NULL | 30062 | Using where; Using join buffer                            |
+----+-------------+-------+-------+---------------+------+---------+------+-------+-----------------------------------------------------------+
 

А потом такие запросы

INSERT INTO dv_calls SET started=now(),
       lupdated        = UNIX_TIMESTAMP(),
       status          = '11',
       acct_session_id = 'IP',
       nas_ip_address  = INET_ATON('127.0.0.1'), tp_id='100', uid='10001', user_name='10001', framed_ip_address=167772311, nas_id='1';

И следом маленький фикс разработчика =)

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

во первых из исходников собирается только одна программа и то только на линуксе это  freeradius,  а собирается она потому что perl собран в дистрибутиве с потоками а freeradius без потоков, так что с убийством обращайтесь к создателям дистрибутивов

во всех дистрах такое ? (centos, debian, ubuntu)

возможно у Вас было какое то другое решение  этой проблемы

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

 

 

Вопрос открыт. Какие тренды сейчас в биллингах?

Зачем переезжать ? Есть с ноденни серьёзные проблемы ?

Перестал он удовлетворять нашим (моим) требованиям. Хочется значительно большего. Пока смотрели на Нодени+, но есть многооооо вопросов к нему.

 

Добавлю еще. Техподдержки просто нету.

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

А озвучте, пожалуйста, если не большой секрет, ваши требования. Хотя бы тезисно. И нам интересно, насколько ваши требования совпадают с нашими (как вы говорите - "в тренде"), ну и людям совет вам дать наверное легче будет.

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

 

 

Там активные сессии и не только.

Угу, активные сессии. 2-3к записей для БД - пшик... Даже если бы вообще индексов не было.

 

 

 

И следом маленький фикс разработчика =)

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

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

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

IP ищется при авторизации, а вносится при первом аккаунтинге. Возможен вариант, когда авторизация придёт, а аккаунтинг - нет (NAS по каким-либо причинам не поднял сессию - например, в случае PPP не согласовал с клиентом шифрование, в случае DHCP - клиент не откликнулся на OFFER).
Ссылка на сообщение
Поделиться на других сайтах

IP ищется при авторизации, а вносится при первом аккаунтинге.

Ну сессия создается при авторизации, занимая ип. Если аккаунтинг не пришел - сессия умирает. Если я ничего не попутал в алгоритме (давно ковырял код). Відредаговано NiTr0
Ссылка на сообщение
Поделиться на других сайтах

 

во первых из исходников собирается только одна программа и то только на линуксе это  freeradius,  а собирается она потому что perl собран в дистрибутиве с потоками а freeradius без потоков, так что с убийством обращайтесь к создателям дистрибутивов

во всех дистрах такое ? (centos, debian, ubuntu)

.

 

 

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

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

 

IP ищется при авторизации, а вносится при первом аккаунтинге.

Ну сессия создается при авторизации, занимая ип. Если аккаунтинг не пришел - сессия умирает. Если я ничего не попутал в алгоритме (давно ковырял код).

 

А должна создаваться при первом Accounting.

Когда-то с этим была проблема; был даже от тебя патч.

У я себя решил так: есть с IP-адресами, где записывается время последней выдачи адреса. Адрес считается свободным, если его нет в dv_calls и последняя выдача была больше n секунд назад.

Таблица полностью сразу заполняется адресами и update-ится только время выдачи.

Из всех рассмотренных вариантов этот оказался самым быстрым. Коллизии возможны, но крайне маловероятны.

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

в дебиан и в убунту так в других были прицеденты

В дебиане все как раз вполне хорошо. Прецеденты были из-за глобальных переменных БД, которые несовместимы с многопоточным перлом. Из-за чего и собирался радиус без потоков вручную.

 

А должна создаваться при первом Accounting.

Почему? Почему бы не внести сессию в БД, со статусом "в процессе"?

 

У я себя решил так: есть с IP-адресами, где записывается время последней выдачи адреса. Адрес считается свободным, если его нет в dv_calls и последняя выдача была больше n секунд назад. Таблица полностью сразу заполняется адресами и update-ится только время выдачи.

А теперь ситуация - клиент начинает долбить авторизацию в 100500 потоков, но не согласовывается с сервером и режектится. В случае с записями таблице сессий - в худшем варианте займется N адресов по кол-ву брасов (при реконнекте на брас клиента с тем же CID/логином ему выдается старый ип), в твоем случае - засирается временный пул адресов.

 

Коллизии возможны, но крайне маловероятны.

А чтобы их не было - и используется лок.
Ссылка на сообщение
Поделиться на других сайтах
Угу, активные сессии. 2-3к записей для БД - пшик... Даже если бы вообще индексов не было.

Вы так не шутите. Для одного запроса в секунду вернет 2-3к строк, а для 300 запросов в секунду 300*2к или 3к , то есть не мало. Не самый оптимальный алгоритм, постоянно дёргать базу, ей и так есть чем заниматься.

И вопрос, какова вероятность образования deadlock?

 

 

А чтобы их не было - и используется лок.

Я уже писал про качественный код, и судя по всему, я не один с этим не согласен. Вы же не придерживаетесь мнения - если есть 16 ядер, надо их всех заставить работать на пределе?

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

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

Получается, что вы даже не пытались. А достаточно 2 дистра основных проверить - и все.

А в результате имеем сервак, который хрен обновишь, потому что кому что-то лень делать.

Это похоже на профессионализм? Это у вас такая "реклама"?

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

 

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

Получается, что вы даже не пытались. А достаточно 2 дистра основных проверить - и все.

 

 

 

Мы пытались но список дистрибутивов не вели так как ситуация когда не стратует  или после обновление все просто падает, а клиенты в большинстве случаев не разбераются в проблеме, а сразу наезд идёт что все плохо биллинг не работает и все и клиент звонит 10 раз в "час что всепропало"  потом оказывается он просто переустановил биллинг или обновил его и не посмотрел как все собрано. И это у каждого 3 клиента с линуксом такая ситуация. И выходило что по пару часов день нужно просто объяснять клиентам что они не правы, на что слышать это все фигня давайте чтобы все работало.

 

 

 

А в результате имеем сервак, который хрен обновишь, потому что кому что-то лень делать.

Это похоже на профессионализм? Это у вас такая "реклама"?

 

 

 

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

Хотя если  честно не могу онять что у Вас с обновлением не работает, все должно чётко обновиться без проблем

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

... Не самый оптимальный алгоритм, постоянно дёргать базу, ей и так есть чем заниматься.

Да ну? А разве это не задача базы - слушать вопросы и отвечать на них? Чем это ей еще заниматься?

 

И вопрос, какова вероятность образования deadlock?

...

Дедлоки или есть (что фатально плохо), или их нет (что хорошо). Раз вы говорите о вероятности появления дедлоков, значит они есть и ваша архитектура - говно.
Ссылка на сообщение
Поделиться на других сайтах

 

 

IP ищется при авторизации, а вносится при первом аккаунтинге.

Ну сессия создается при авторизации, занимая ип. Если аккаунтинг не пришел - сессия умирает. Если я ничего не попутал в алгоритме (давно ковырял код).

 

А должна создаваться при первом Accounting.

Когда-то с этим была проблема; был даже от тебя патч.

У я себя решил так: есть с IP-адресами, где записывается время последней выдачи адреса. Адрес считается свободным, если его нет в dv_calls и последняя выдача была больше n секунд назад.

Таблица полностью сразу заполняется адресами и update-ится только время выдачи.

Из всех рассмотренных вариантов этот оказался самым быстрым. Коллизии возможны, но крайне маловероятны.

 

 

Занесения адресса при аккаунтенге плохой пример, может работать у маленьких провайдеров до 1000-2000 абонентов. У провайдеров с 10 тис онлайн за время между авторизацией и аккаунтингом может пролезть десяток абонентов с уже занятыми адреса.  И всем им в лучшем случае напишет что  не могу подключиться в худшем будет по несколько абонентов с одним и тем же адресом и будут разрывать тех поддержку с вопросом почему у меня нет интернета. А тех поддержка не очень скоро как показал практика может отследить такую проблему. В ABillS такие ситуации исключены  но если даже и возникает дубликаті адресов отмечаются для удобства понимания ситуации.

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

 

У я себя решил так: есть с IP-адресами, где записывается время последней выдачи адреса. Адрес считается свободным, если его нет в dv_calls и последняя выдача была больше n секунд назад. Таблица полностью сразу заполняется адресами и update-ится только время выдачи.

А теперь ситуация - клиент начинает долбить авторизацию в 100500 потоков, но не согласовывается с сервером и режектится. В случае с записями таблице сессий - в худшем варианте займется N адресов по кол-ву брасов (при реконнекте на брас клиента с тем же CID/логином ему выдается старый ип), в твоем случае - засирается временный пул адресов.

 

Коллизии возможны, но крайне маловероятны.

А чтобы их не было - и используется лок.

 

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

Не проблема, записывай вместе с блокировкой IP сразу и UID, кем он заблокирован. При повторной попытке авторизации если за пользователем (или наверное правильнее за UID+CID) есть уже заблокированный, но не используемый IP - выдавай его же повторно.

Занесения адресса при аккаунтенге плохой пример, может работать у маленьких провайдеров до 1000-2000 абонентов. У провайдеров с 10 тис онлайн за время между авторизацией и аккаунтингом может пролезть десяток абонентов с уже занятыми адреса.

Чукча не читатель, чукча писатель. Вы читали выше о блокировке адресов на определённое время после авторизации?
Ссылка на сообщение
Поделиться на других сайтах

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

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

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

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

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

Вхід

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

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

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

  • Схожий контент

    • Від Firelli
      Снова решил начать заниматься сетями. (в прошлом году сеть продал, и сижу скучаю)
      Билинг был Nodeny+, но как-то маловато, или перерос его. Еще раз его покупать не хочется. (хотя и отработал своих 1000+ клиентов без замечаний)
       
      В идеале утроил бы с  с трекингом для машины/машин и встроенным складом.
      Может подскажете варианты. Те что были в работе и стабильные.
       
    • Від pavlabor
      Продолжение темы
      В основу проекта "Firstprov" положен билинг.
      В данной теме предлагаю обсудить технические требования к билингу.
      1. В перспективе сертификация.
      2. Масштабируемость.
      3. Уровневая система доступа.
      Предусматривает три уровня
      - Дирекция (администрация),
      - оператор (реселлер), реселлер должен иметь два уровня доступа, доступ для постоянных и для временных участников.
      - пользователь.
      Дирекция(администрация) имеет самый высокий статус и имеет доступ ко всем объектам для внесения, редактирования, удаления информации.
      Оператор (реселлер) имеет возможность просматривать всю информацию но доступ к объектам для несения, редактирования, удаления информации имеет исключительно в своем разделе.
      Пользователь имеет стандартный доступ к своему кабинету.
      4. Перевод абона от реселлера к реселлеру.
      5. Билинг должен интегрироваться с платежными системами.
      6. Иметь возможность работать с картами, схемами сетей, показывать активность абонов.
      7. Возможность бекапирования, распределения нагрузки, синхронизация данных.
      8. Возможность доработок, создания дополнительных модулей.
       
      Цена и условия приобретения.
      На первом этапе требуется билинг для тестирования для дирекции и нескольких участников.
      Допустим если проект начнется с пяти реселлеров по 100 клиентов, а потом разростется до двадцати реселлеров и 50 тыс клиентов то хотелось бы увидеть ценник на динамику развития.
      Лично мое пожелание это стартовый взнос и абонка 25 копеек с абона (на 1000 абонов, это 250 грн. в месяц).
       
      Вносите свои предложения по тех условиям, но текущие билинги в стандартном состоянии предлагают довольно широкий ассортимент сервисов.
      К выбору билинга, формированию ТУ прошу подойти ответственно, так как выбранный билинг станет ВАШИМ основным инструментом ведения бизнеса, по финансам не стоит забывать золотое правило - "Любой каприз за ВАШИ деньги".
      Также нужно понимать что данное решение подразумевает "белое ведение бизнеса".
       
      Писателей билинга прошу озвучивать свои предложения. По крайней мере если мы даже не выберем Ваше предложение у Вас появилась возможность достойно презентовать свой товар.
       
      Поехали.
      =============================8<---------------------
       
      Сформировавшиеся предложения
       
    • Від 000000002010s
      Помогите настроить сервер для биллинга (ubiling) с нуля. Ето надо сделать удалено через нет.
      Задачак такова:
      1.Стадартная схема отключения клиета при отрицательном балансе.
      2. Страница о пополнение счета, через приват 24 на карточку.
      Регистрация клиентов по методу ip+mac.
      Есть сервер hp proliant G5.
      Все кто шарит в етом пишите мне.
      Разумеєтса ето не за даром.
      Пишите в личку.
    • Від Martin Odym
      Доброго времени суток уважаемые форумчане. Кратко о сути- даю интернет в частном секторе. построение сети- приход канала на медик-сетевая в серваке (старенький гробик 1 гб озу ддр1, проц на два ядра 1.6) сетевая на выход в 16 порт свитч (тупой)- медики на магистрали (оптику подводим к группе людей дальше от свитча витухой к абонам). Роль билинга выполняет Ubilling. На данный момент число абонентов + - 65 чел. (квартиранты и "периодические плательщики" колыхают  статистику). В последний месяц проц начал проседать (загрузка по cacti по вечерам до 80-90% на процессоре). Вопрос: посоветуйте на какую железку перейти, оставлять юбилинг или же присмотреть другой? 
       
      з.ы Бюджет сети как сами понимаете не резиновый хотелось бы подобрать что то не дорогое и функциональное с примерным запасом на человек 300-400. Сеть собирали сугубо по вторичному рынку так что б.у товары будут предпочтительней. В ответах прошу (по возможности) оставлять ссылки (ссылки на локал вообще чудесно). Большая просьба отвечать тем кто действительно может помочь!!!! Спасибо за внимание.
    • Від 49rpam
      Здравствуйте. Читал чтo мoжнo устанoвить билинг на рoутере нo никгда с этим не сталкивался нужнo пoдключить через негo 30-50 челoвек Ктo м0жет мне в эт0м п0м0чь ну или х0тябы п0дсказать (не бесплан0)

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