Jump to content
Local
MorS

Первое число каждого месяца

Recommended Posts

Здравствуйте! 1-го числа каждого месяца, видимо, из-за процесса закрытия учетного периода "падает" радиус сервер:

 

May  1 00:00:15 billing kernel: [466821.810836] freeradius[15947]: segfault at 2012 ip 00007f7a9586f5da sp 00007f7a427fac60 error 4

May  1 00:00:15 billing kernel: [466821.810849] freeradius[15991]: segfault at 2012 ip 00007f7a9586f5da sp 00007f7a1a7f2c60 error 4 in rlm_perl-2.2.6.so[7f7a9586c000+6000]

May  1 00:00:15 billing kernel: [466821.811111]  in rlm_perl-2.2.6.so[7f7a9586c000+6000]

May  1 00:00:15 billing kernel: [466821.812848]  in rlm_perl-2.2.6.so[7f7a9586c000+6000] in rlm_perl-2.2.6.so[7f7a9586c000+6000]

 

Информация о системе:

-  OC Debian-7.11.0 Linux  2.6.32-3-amd64

- Версия биллинга ABillS 0.56b/20140807

- freeradius: FreeRADIUS Version 2.2.6

- mysqld  Ver 5.1.47-1

- сервера доступа Mikrotik (12 шт.)

- абонентов on-line на 1.05.2019 00:00:00 - 5570

Большинство тарифных планов с помесячной абонентской платой, с распределением абонплаты, макс. время сессии - 65535 сек.

 

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

1 вариант 

- выставить в параметрах сервера доступа !Session-Timeout=0,  макс. время сессии - 0 сек, отключить  в crontab (1    0  *  *  *  root   /usr/abills/libexec/periodic daily

1    1  *  *  *  root   /usr/abills/libexec/periodic monthly)

- 1-го числа каждого месяца (или каждые сутки?) воспользоваться программой autozh.pl и по очереди по одному насу переинициализировать сессии для сбора статистики.

 

2 вариант

В дополнении к первому пересобрать радиус на более свежий из второй ветки - 2.2.10. Возможно. проблема в нем. Плюс доработать скрипт, что следит за состоянием радиус-сервера (типа if [ -z "$(ps x | grep free[rad])" ]; then date >> /root/die.log;rm -f /var/run/freeradius/freeradius.pid;/etc/init.d/freeradius stop;/etc/init.d/freeradius start; fi)

 

3 вариант

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

 

4 вариант 

Апгрейд биллинга до последней версии  - возможно модуль rlm_perl будет работать стабильнее. Интересует целесообразность и цена обновления.

 

Возможно, у есть другие варианты, с удовольствием с ними ознакомлюсь.

P.S. Может у кого есть autozh.pl для 0.5x версии биллинга? Скиньте, пожалуйста!

Edited by MorS

Share this post


Link to post
Share on other sites

Я бы сказал что падает он от криво настроенного log rotate, а не от роста нагрузки.

Проверяйте как он hup отрабатывает.

Share this post


Link to post
Share on other sites
3 часа назад, MorS сказал:

OC Debian-7.11.0 Linux  2.6.32-3-amd64

Не пора ли обновить? Debian 7 протух год назад.

 

Правильно выше про logrotate. Добавлю, проверьте еще задания cron которые выполняются в это время.

Edited by foreverok

Share this post


Link to post
Share on other sites
14 часов назад, zulu_Radist сказал:

а раньше не падал?

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

Share this post


Link to post
Share on other sites

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

Edited by zulu_Radist

Share this post


Link to post
Share on other sites
17 часов назад, zulu_Radist сказал:

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

То есть вариант перейти на последнюю версию биллинга не рассматривается, как ненужный? B 0.5x уже не поддерживается разработчиками с 2018 года.

Edited by MorS

Share this post


Link to post
Share on other sites
1 час назад, MorS сказал:

B 0.5x уже не поддерживается разработчиками с 2018 года.

Да ладно!!!??? Рілі? 

 

Share this post


Link to post
Share on other sites
1 час назад, MorS сказал:

То есть вариант перейти на последнюю версию биллинга не рассматривается, как ненужный? B 0.5x уже не поддерживается разработчиками с 2018 года.

можете конечно, только на выходе можете получить вполне себе НЕрабочий биллинг

Share this post


Link to post
Share on other sites
18 часов назад, zulu_Radist сказал:

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

У нас два мікротіка Х86 на серверах. Для них радіус відпрацьовує добре. Розвернув Ацель. При авторизації на Ацелі (1000+ абонів) Радіус падає до рестарта. Аббілс 0.59

Share this post


Link to post
Share on other sites

В ацеле без проблем лимит делается. И ничего не падает.

Edited by Dimkers
  • Like 1

Share this post


Link to post
Share on other sites
5 часов назад, Digital_storm сказал:

У нас два мікротіка Х86 на серверах. Для них радіус відпрацьовує добре. Розвернув Ацель. При авторизації на Ацелі (1000+ абонів) Радіус падає до рестарта. Аббілс 0.59

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

Share this post


Link to post
Share on other sites
7 часов назад, MorS сказал:

То есть вариант перейти на последнюю версию биллинга не рассматривается, как ненужный? B 0.5x уже не поддерживается разработчиками с 2018 года.


поправочка: 0.59 - 2016 год
Насколько помню у абиллса всегда политика поддержки = обновитесь до последней и тогда уже поехали по багам.
Работать-то оно будет, но "разбирайтесь сами". Подсмотреть в новые версии публичные никто никогда не мешает.

 

Share this post


Link to post
Share on other sites
В 03.05.2019 в 20:26, zulu_Radist сказал:

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

Зулу я с этим посуточным мучаюсь уже лет 8. Есть две сети, разные места. Везде биллинг стг, так вот тариф допустим 150-170 грн. Хорошо когда месяц 30 дней и тариф 150 грн - снимается по 5 грн в сутки абонки и все. А вот когда 31 день и тариф 150-170, вот тогда ничинаются фокусы. стг делит 150 на 31 и естественно сутки не целое число. И в последний день месяца вылазят какие минимальные копейки в минусе и абона отключает не 1 числа а 31го числа. Делали фокус-скрипт, который в конце месяца сравнивает абонплату за месяц и смотрит остаток в последний день, а потом обнуляет минус. Но он вроде как работает только если абонент вовремя пополнил счет (до конца месяца заплатил за следующий). Если же абонент завтыкал и платит 1-2-3 числа, абонка уже в минусе + месячная абонка и в конце этого нового месяца у него уже копейки в минусе. Уточню что абонов приучил, что месяц у нас с 1 числа по 31 и вариант с 4го по 4 не катит. Может есть у кого идеи как победить мою беду? а то у меня 31-1 число каждый месяц танцы с бубном

Edited by Romeshik

Share this post


Link to post
Share on other sites
22 minutes ago, Romeshik said:

Зулу я с этим посуточным мучаюсь уже лет 8. Есть две сети, разные места. Везде биллинг стг, так вот тариф допустим 150-170 грн. Хорошо когда месяц 30 дней и тариф 150 грн - снимается по 5 грн в сутки абонки и все. А вот когда 31 день и тариф 150-170, вот тогда ничинаются фокусы. стг делит 150 на 31 и естественно сутки не целое число. И в последний день месяца вылазят какие минимальные копейки в минусе и абона отключает не 1 числа а 31го числа. Делали фокус-скрипт, который в конце месяца сравнивает абонплату за месяц и смотрит остаток в последний день, а потом обнуляет минус. Но он вроде как работает только если абонент вовремя пополнил счет (до конца месяца заплатил за следующий). Если же абонент завтыкал и платит 1-2-3 числа, абонка уже в минусе + месячная абонка и в конце этого нового месяца у него уже копейки в минусе. Уточню что абонов приучил, что месяц у нас с 1 числа по 31 и вариант с 4го по 4 не катит. Может есть у кого идеи как победить мою беду? а то у меня 31-1 число каждый месяц танцы с бубном

 

Как правильно сделать расчет фиксированной абоненты при разной длине месяца я подробно объяснял автору стг еще... дай бог памяти, году эдак в 1997. Не сложилось. Видимо, никак это не исправить в стг.

Share this post


Link to post
Share on other sites
В 04.05.2019 в 23:47, vop сказал:

 

Как правильно сделать расчет фиксированной абоненты при разной длине месяца я подробно объяснял автору стг еще... дай бог памяти, году эдак в 1997. Не сложилось. Видимо, никак это не исправить в стг.

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

Share this post


Link to post
Share on other sites
В 04.05.2019 в 23:21, Romeshik сказал:

Зулу я с этим посуточным мучаюсь уже лет 8. Есть две сети, разные места. Везде биллинг стг, так вот тариф допустим 150-170 грн. Хорошо когда месяц 30 дней и тариф 150 грн - снимается по 5 грн в сутки абонки и все. А вот когда 31 день и тариф 150-170, вот тогда ничинаются фокусы. стг делит 150 на 31 и естественно сутки не целое число. И в последний день месяца вылазят какие минимальные копейки в минусе и абона отключает не 1 числа а 31го числа. Делали фокус-скрипт, который в конце месяца сравнивает абонплату за месяц и смотрит остаток в последний день, а потом обнуляет минус. Но он вроде как работает только если абонент вовремя пополнил счет (до конца месяца заплатил за следующий). Если же абонент завтыкал и платит 1-2-3 числа, абонка уже в минусе + месячная абонка и в конце этого нового месяца у него уже копейки в минусе. Уточню что абонов приучил, что месяц у нас с 1 числа по 31 и вариант с 4го по 4 не катит. Может есть у кого идеи как победить мою беду? а то у меня 31-1 число каждый месяц танцы с бубном

это "размазанная" оплата, сделайте посуточную (т.е. к примеру 5 грн сутки, мес 30 д - 150 грн, 31 день - 155 грн), и проблем не будет.

Share this post


Link to post
Share on other sites
3 часа назад, Romeshik сказал:

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

вся суть идеи vop простая

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

всё

 

В 04.05.2019 в 21:15, mixtery сказал:

2016 год

сегфолтится rlm_perl и этим всё сказано

либо бага в перловом колбеке либо в либе радиуса

без трейса вряд ли можно отловить кто из двух уиноват

Share this post


Link to post
Share on other sites
4 hours ago, Romeshik said:

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

 

Попробую, хотя я уже давно занимаюсь другими вещами.

 

У вас есть абонплата - фиксированная цена за - один календарный месяц - период переменной длительности (31, 30,29 или 28  дней). Т.е. у вас есть расчетный период - один месяц. Независимо от его длительности. Это значит, что в лицевом счет должна появляться одна-единственная запись по окончанию расчетного периода - начисление за этот период.

 

С другой стороны, у вас услуга _непрерывного_ характера. Следовательно, самый естественный способ определения стоимости услуги тоже является непрерывным. Например, пропорционально доли абонплаты в зависимости времени предоставления услуги. Считать можно по-секндно, поминутно, по-часово. А проще - посуточно.

 

Вы же сможете двумя арифметическими операциями определить, сколько стоит услуга, предоставлявшаяся 1 день в месяц, 12, 23 или 30? Для любой длительности месяца? Эта стоимость является свойством продаваемой вам услуги. Точнее, свойством ресурса, который вы продаете. И это свойство попадет в лицевой счет, как выше писалось, только в конце расчетного периода.

 

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

 

Я не знаю, как это сделать в стг.

 

56 minutes ago, l1ght said:

вся суть идеи vop простая

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

всё

 

Про два поля - интересно. :) Что вы имели в виду?

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

 

Share this post


Link to post
Share on other sites
34 минуты назад, vop сказал:

Про два поля - интересно. :) Что вы имели в виду?

Очевидно для поля в РСУДБ. Бабло ж в надежной базе храним.

34 минуты назад, vop сказал:

Учет ведется в единицах, в 10 раз меньших минимальной денежной единицы

Я помню просто был тема что нужно единицы хранить отдельно от "копеек" в двух разных целочисленных полях.

Share this post


Link to post
Share on other sites
1 hour ago, l1ght said:

Очевидно для поля в РСУДБ. Бабло ж в надежной базе храним.

 

Понятно. Бабло храним в надежной базе. :)

 

1 hour ago, l1ght said:

Я помню просто был тема что нужно единицы хранить отдельно от "копеек" в двух разных целочисленных полях.

 

Видимо, это было без меня.

Share this post


Link to post
Share on other sites
7 часов назад, vop сказал:

Видимо, это было без меня.

Ну может память подводит, придется тред поискать.

Share this post


Link to post
Share on other sites
7 hours ago, l1ght said:

Ну может память подводит, придется тред поискать.

 

Вопрос не столь принципиален, но если желание есть, было бы интересно почитать. :)

Edited by vop

Share this post


Link to post
Share on other sites
50 минут назад, vop сказал:

 

Вопрос не столь принципиален, но если желание есть, было бы интересно почитать. :)

Не смог найти.

Может это был плод моей подбитой фантазии.

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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.

  • Similar Content

    • By ilcergio
      I share this wordpress application that allows you to log in to the wordpress page with ubilling users  https://wordpress.org/plugins/miniorange-radius-client/
    • By vector_zuriel
      Абиллс выпустили андроид приложение для клиентского кабинета. Достаточно удобное приложение. Тестирую уже вторую неделю его и хочу сказать, что когда нужен моментальный доступ к клиенськой информации клиенський кабинет всегда под рукой.
      На данный момент есть следующие функции:
      Просмотр личной информации, Просмотр информации по тарифным планам, Возможность распечатать договор клиента, Просмотр личных сообщений (Help Desk), Пуш уведомления. Приложение насколько мне известно планируют развивать и в будущем есть планы выпустить данный продукт под платформу iOS Вот несколько скриншотов этого приложения (Скриншты взяты из Play Market)
      Вот сылка на приложения - https://play.google.com/store/apps/details?id=com.abillsmobile.abillsclient (Советую. Буду тестировать новые функции и буду рассказывать о них)






    • By ~AsmodeuS~
      Релиз ABillS Infinity 0.80
       
      ABillS Infinity
       
      Долгожданная open source версия биллинга ABillS 0.80! 
      Новые возможности, дополнения, исправления и улучшения выполнены в частности в  модулях:
       
      Internet+
      Поддержка Huawei ME60 Поддержка ZTE M6000 Добавлена фильтрация по меткам в Internet мониторинге Переход на следующий тарифный план со статусом “Недостаточно средств” Параметр игнорирования MAC-авторизации Поиск сессий по CPE_MAC  
      Equipment
      Поиск дублирующихся серийных номеров ONU Просмотр количества свободных и занятых ONU Сбор прошивок с оборудования Интеграция с GPON Eltex и OLT V-Solution Графики скорости пользователя в реальном времени Быстрый отчет по оборудованию Paysys
      Новые платежные системы E-Pul, Payme, Concord  
      Iptv
      Новые модули Microimpuls, Omega TV  
      Msgs
      Добавлен чат, нотификация сообщений в чате, глобальные оповещения Добавлены новые отчеты по сообщениям  
      Crm
      Автоматизированный расчет выплаты зарплат Добавлены нормы рабочего времени Работа с лидами — визуальное отображение воронки продаж  
      Storage
      Добавлена возможность перемещения товара со склада на склад Добавлены печатные формы Приходной накладной, Расходной накладной Добавлен фильтр по партии на складе  
      Добавлен docker контейнер с базовой конфигурацией Abills, v.0.80
      Скачать: https://sourceforge.net/projects/abills/files/abills/0.8/
      Автоустановка: http://abills.net.ua:8090/pages/viewpage.action?pageId=1278106
       
    • By Tiesto
      Добрый день!
      Хотел у вас узнать отзывы (для пппое) про Python Radius:
      Кто то из вас создал свой радиус под питон? Как работает? Объем запроса производительности? С микротиком конфликты есть или нет?
      Кажется радиус биллинга ExpertBilling тоже на питон радиусе.
      Провайдеры или кто то доволен?
      Зарание благодарен.
       
    • By Sweduk
      Здравствуйте.
      Возможно кто то испытывал такие же проблемы как у меня на сервере. 
      Каждые пол часа у всех абонентов пропадает интернет, при этом в роутерах значение IP адреса вместо назначенного DHCP сервером становится 0.0.0.0
      Если статически задать IP адрес абоненту,интернет работает стабильно.
      На сколько я знаю (настраивал не я) у нас стоит такая связка - ISC DHCP для ABillS.
      По какой причине могут отваливаться IP адреса у абонентов а затем через 3-5 минут они снова их получают и интернет возобнавляется и так циклично?
      В настройках сервера срок аренды адреса указан был изначально 300 сек,поменял на 600,ничего не дало.
×