forum.bitel.ru http://forum.bitel.ru/ |
|
No close calculate period при настроенном detail.compress http://forum.bitel.ru/viewtopic.php?f=5&t=3239 |
Страница 1 из 1 |
Автор: | Ivanov_AP [ 25 ноя 2009, 14:55 ] |
Заголовок сообщения: | No close calculate period при настроенном detail.compress |
при наличии в БД более 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 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |