BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 27 апр 2024, 21:41

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ 1 сообщение ] 
Автор Сообщение
СообщениеДобавлено: 25 ноя 2009, 14:55 
Не в сети

Зарегистрирован: 14 июн 2009, 17:17
Сообщения: 63
Карма: 0
при наличии в БД более 3000 активных пользовательских vpn-сессий очень быстро заполняется таблица session_detail, но если настроить в соответстивии с документацией detail.compress.2.0-23=0 или SKIP,
то все, казалось бы, хорошо, таблицы не заполняются.
Но при перезапуске биллинга (при обновлении конфигурации его же приходится перезапускать),
биллинг скидывает произвольную часть пользователей с ошибкой "No close calculate period" -

connection.log после перезагрузки сервера:
Код:
10-20/06:17:49  INFO [Thread-33] connections - Restore Connections NAS: 87.xx.xx.6
10-20/06:17:50  INFO [Thread-31] connections - [ 31178; user103; 70814 ] DialUpNASConnection startConnection mode=1
10-20/06:17:50  INFO [Thread-31] connections - [ 31178; user103; 70814 ] DialUpNASConnection set STATUS=1
10-20/06:17:50  INFO [Thread-31] connections - [ 31178; user103; 70814 ] IP address register on collector
10-20/06:17:50  INFO [Thread-31] connections - 87.xx.xx.6 Session restored for login: user103; contract: 31178; ipaddr: 68.xx.xx.165
10-20/06:18:38  INFO [pool-2-thread-31] connections - [ 31178; user103; 70814 ] DialUpNASConnection update connection..
10-20/06:18:38  INFO [pool-2-thread-31] connections - [ 31178; user103; 70814 ] No close calculate period..
10-20/06:18:38  INFO [pool-2-thread-31] connections - [ 31178; user103; 70814 ] Set connection to KILL
10-20/06:18:38  INFO [pool-2-thread-31] connections - [ 31178; user103; 70814 ] DialUpNASConnection killing connection after UPDATE
10-20/06:18:38  INFO [pool-2-thread-31] connections - [ 31178; user103; 70814 ] DialUpNASConnection set STATUS=1
10-20/06:18:39  INFO [Thread-14] connections - [ 31178; user103; 70814 ] sendKillRequest
10-20/06:18:39  INFO [Thread-14] connections - [ 31178; user103; 70814 ] SNMP reset request:  set 1.3.6.1.4.1.2021.255.1 i 16642
10-20/06:18:39  INFO [pool-2-thread-34] connections - [ 31178; user103; 70814 ] IP address unregistred from collector
10-20/06:18:39  INFO [pool-2-thread-34] connections - [ 31178; user103; 70814 ] DialUpNASConnection stoppingConnection
10-20/06:18:39  INFO [pool-2-thread-34] connections - [ 31178; user103; 70814 ] DialUpNASConnection has stop Packet => true
10-20/06:18:39  INFO [pool-2-thread-34] connections - [ 31178; user103; 70814 ] DialUpNASConnection set STATUS=3
10-20/06:18:39  INFO [pool-2-thread-34] connections - [ 31178; user103; 70814 ] DialUpNASConnection sessionTime => 68102
10-20/06:18:53  INFO [pool-2-thread-28] connections - [ 31178; user103; 33154 ] DialUpNASConnection startConnection mode=1
10-20/06:18:53  INFO [pool-2-thread-28] connections - [ 31178; user103; 33154 ] DialUpNASConnection set STATUS=1
10-20/06:18:53  INFO [pool-2-thread-28] connections - [ 31178; user103; 33154 ] IP address register on collector

Как только сессия была restored, ей за что-то биллинг сделал KILL.
Последний update-пакет, пришедший ДО перезагрузки сервера (взято из radius.log):
Код:
10-20/06:13:38  INFO [pool-2-thread-9] radius -  ACCOUNT:
Type=ACCOUNTING_REQUEST
Attributes:
        User-Name=user103
        NAS-Identifier=87.xx.xx.6
        NAS-Port=322
        Service-Type=2
        Framed-Protocol=1
        Framed-IP-Address=68.xx.xx.165
        Acct-Input-Octets=2433973614
        Acct-Output-Octets=2143171227
        Acct-Status-Type=3
        Acct-Delay-Time=0
        Acct-Session-Time=67801
        Acct-Input-Packets=14253618
        Acct-Session-Id=4ADC13F9410200
        Acct-Authentic=1
        Acct-Output-Packets=9647418
        Acct-Output-Gigawords=0
        Acct-Input-Gigawords=3
        NAS-Port-Type=0
        Calling-Station-Id=172.xx.xx.176


Первый update-пакет, пришедший ПОСЛЕ перезагрузки сервера
(спустя 300 секунд, т.к. Acct-Interim-Interval = 300 )
После этого пакета пользователь и был за что-то сброшен:
Код:
10-20/06:18:38  INFO [pool-2-thread-31] radius -  ACCOUNT:
Type=ACCOUNTING_REQUEST
Attributes:
        User-Name=user103
        NAS-Identifier=87.xx.xx.6
        NAS-Port=322
        Service-Type=2
        Framed-Protocol=1
        Framed-IP-Address=68.xx.xx.165
        Acct-Input-Octets=2481549944
        Acct-Output-Octets=2144846577
        Acct-Status-Type=3
        Acct-Delay-Time=0
        Acct-Session-Time=68101
        Acct-Input-Packets=14298932
        Acct-Session-Id=4ADC13F9410200
        Acct-Authentic=1
        Acct-Output-Packets=9675440
        Acct-Output-Gigawords=0
        Acct-Input-Gigawords=3
        NAS-Port-Type=0
        Calling-Station-Id=172.xx.xx.176


конфигурация радиус-сервера
Код:
#вендоры - производители оборудования и их коды
vendors=9=Cisco;2011=Huawei;2021=Unix PPP;529=Lucent;6618=Quintum;529=Ascend;311=Microsoft;12341=MPD;14988=Mikrotik
#минимальная и максимальная длина пароля
password.length.min=5
password.length.max=15
#длина автоматически генерируемого пароля
password.length.auto=8
#допустимые в пароле символы
##password.chars=1234567890
password.chars=1234567890QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm
#сколько лет отображать в просмотре сессий через web
showyears=5
#XSL для печати и отправки на почту сессий
xslt.1=dialup_login_sessions.xsl
xslt.1.csv=dialup_login_sessions_csv.xsl
reportTitle.1=Отчет по сессиям DialUp
#XSL для печати и отправки на почту наработки по логинам
xslt.2=dialup_login_amount.xsl
xslt.2.csv=dialup_login_amount_csv.xsl
reportTitle.2=Отчет по наработке на логины DialUp
#коды услуг, не затрагиваемых при перерасчёте, например, если услуга используется для занесения наработки скриптом
#service.recalc.ignore=
#############################################
detail.compress.3.0-23=SKIP
detail.compress.2.0-23=SKIP
#############################################
##2 - код услуги "Исходящий траффик", не тарифицируем
##3 - код услиги "Время", согласно документации,можно добавить в skip, если не тарифицируется
#в просмотре сессий в на Web странице кол-во выводимых на странице сессий
show.sessions.on.page=30
#пункты Web - меню
web.menuItem1=Просмотр сессий DialUp
web.menuItem2=Наработка по логинам DialUp
web.menuItem3=Смена пароля на логины DialUp
###web.menuItem4=Учётные периоды
###web.menuItem5=Управление динамическим ДНС
#граница не карточных логинов
top.nocard.login=10000
#адрес и порт управления RADIUS сервера для возможности завершения сессий в мониторе модуля
#адрес должен совпадать с адресом где стоит RADIUS сервер, порт с admin.port из radius.properties
radius.manage=127.0.0.1:1955

############### опции RADIUS сервера #######################
#1 - проверять наличие в договоре всех требуемых услуг при авторизации, иначе ошибка авторизации "Услуга запрещена"
check.service=0
#код модуля "карточки", 0 - модуль "карточки" не используется
card.module.id=0
#количество одновременных сессий, разрешённых карточным логинам
#card.login.session.count=1
#интервал, с которым запускается проверяльщик
killer.sleep=10
#время в сек., через которое происходит пересчёт в режимеCHECKER
update.time=60
#время в сек., через которое проверяется необходимость пересчёта  в режиме CHECKER
run.sleep=3
#глобальный пул адресов (не использ)
pools.global=192.168.169.3-192.168.170.0;192.168.150.0
#для DialUP - режим работы
#1 - режим UPDATE - пересчёт во время прохождения UPDATE  пакетов
#2 - режим CHECKER - пересчёт по таймеру, UPDATE пакеты используются для получения
#информации о трафике
dialup.workmode=1
#для режима UPDATE - время после последнего UPDATE пакета, по истечении которого сессия считается неактивной
#(не учитывается в подсчёте числа одновременных соединений)
max.update.timeout=600
#сколько максимально секунд соединение в статусе wait ждёт Start пакета
max.wait.timeout=600
#параметры отсылальщика ошибок (в данной версии не используется)
#mailer.period=1800
#mailer.to=???
#разрешение пользователям без определённой группы REALM ов использовать группу default
realmgr.default=default
#частота отправки Update пакетов
realm.default=Acct-Interim-Interval=300;Service-Type=2;Framed-Protocol=1
#Атрибуты радиуса доступные в списке атрибутов в редактировании логина
radius.attributes=Service-Type;Framed-Protocol;Framed-IP-Address;Framed-IP-Netmask;Framed-Pool;Framed-Routing;Filter-Id;Framed-MTU;Framed-Compression;Login-IP-Host;Login-Service;Login-TCP-Port;Old-Password;Reply-Message;Callback-Number;Callback-Id;Expiration;Framed-Route;Framed-IPX-Network;State;Class;Session-Timeout;Idle-Timeout;Termination-Action;NAS-Identifier;Proxy-State;PPPD-Downstream-Speed-Limit;PPPD-Upstream-Speed-Limit;Framed-Pool
#Наборы атрибутов, доступные при редактировании логина
#attrset.1.title=
#attrset.1.attributes=
attrset.1.title=bezlimit256
attrset.1.attributes=PPPD-Upstream-Speed-Limit=256;PPPD-Downstream-Speed-Limit=256
attrset.2.title=bezlimit512
attrset.2.attributes=PPPD-Upstream-Speed-Limit=512;PPPD-Downstream-Speed-Limit=512
##здесь еще несколько строк с атрибутами разных скоростей, skipped
attrset.6.title=INET-POOL
attrset.6.attributes=Framed-Pool=ExtPool
#игнорировать длительность соединения в Acct-Session-Time атрибуте с NASа, вычислять самостоятельно
#ignore.acct.session.time=1
#если установлено в 1 - принудительная передача Service-Type=2;Framed-Protocol=1 (рекомендуется передача этих атрибутов иными способами, см. выше realm.default)
add.service.type.and.framed.protocol=0
#если установлено в 1 - добавление в Auth Accept при MPPE-128 авторизации атрибутов MS_mppe_encryption_types (поддержка 128 битного шифрования) и MS_mppe_encryption_policy=1 (шифрование поддерживается)
#согласно http://rfclibrary.hosting.com/rfc/rfc2548/rfc2548-25.asp
add.mppe.enc.types.and.policy=1
#задержка закрытия сессий, используется при тарификации по данным NetFlow
#для исключения потери "хвостов" сессий, т.е. информации о трафике, пришедшей после завершения сессии
#delay.stop=5

конфиг одного из насов (все конфиги одинаковые)
Код:
#телефоны по портам, * - все порты (если параметр не указан, вызываемый номер берется из Calling-Station-Id)
#nas.port_phone.*=900111
#числовые коды услуг времени, трафика входящего и исходящего
nas.port_time.default.*=3
nas.port_traffic.default.*=1:RADIN;2:RADOUT
#разрешение активировать все типы карточек на этом NASе
card.activate.service=0
#поддержка CallBack (1-включите)
callback.support=0
#принудительный разрыв соединений на границе месяца
month.break=1
#интервал между посылками на проверку либо сброс соедиенения
nas.inspector.sleep_time=60
#максимальное число попыток сброса соединения
nas.inspector.kill.max_messages=5
##
drop.sleep.timeout=3600
##
nas.pools.ExtPool=xx.xx.xx.xx-xx.xx.xx.xx и еще много пулов адресов
##
#SNMP порт и пароль (не нужны для PoD инспектора)
nas.inspector.snmp.port=161
nas.inspector.snmp.community=ххххххххх
#входящий буфер в мегабайтах
nas.inspector.snmp.buffer.in=4
#исходящий буфер в мегабайтах
nas.inspector.snmp.buffer.out=4
#Unix PPP
snmp.version=2
#возможные значения 2.4.2 и 2.4.3, для 2.4.4 указывается версия 2.4.3
pppd.version=2.4.3
#nas.inspector.class=bitel.billing.server.processor.SNMPNASConnectionInspectorType2
nas.inspector.class=bitel.billing.server.processor.SNMPNASConnectionInspectorPPPD
nas.inspector.snmp.kill.oid=1.3.6.1.4.1.2021.255.1
nas.inspector.snmp.check.oid=1.3.6.1.4.1.2021.255

Скидывает в основном обладателей безлимитных ТП (есть на скриншоте)

Любой перезапуск заканчивается сбросом около 200-300 пользователей, всегда разных;
если строки detail.compress в конфиге радиуса закомментировать, то все работает нормально.
И в связи с этим возникает вопрос - если занесение записей в БД невозможно избежать, то можно ли удалять таблицу sessiod_detail за предыдущий месяц при использовании приложенных на скриншоте тарифных планов?
биллинг версии 4.6


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ 1 сообщение ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
POWERED_BY
Русская поддержка phpBB
[ Time : 0.832s | 20 Queries | GZIP : On ]