BiTel

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

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




Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
СообщениеДобавлено: 03 авг 2011, 12:40 
Не в сети

Зарегистрирован: 06 окт 2010, 11:41
Сообщения: 11
Карма: 0
bgbilling 5.1.393, dialup 5.1.161
nas cisco 3945
uptime 68 days, общая работа без изменений конфигов с дек.2009

обнаружилась проблема, radius авторизует пользователей а в биллинге не светиться, у 5 клиентов, трафик за июль 0 (нет сессий), за 1-3 августа 0 (нет сессий), в мониторе PPPoE нет в текущих. При этом интернет у них работает (вроде у всех маршрутизаторы). За июнь трафик был, и 1 июля ~00:03 была закрыта сессия.

вопросы: 1) можно ли восстановить сессии/трафик за июль и начало августа ?
2) что случилось, как избежать такого ?

немного логов/конфигов:
radius.properties
Код:
processor.class=ru.bitel.bgbilling.modules.dialup.radius.DialUpRadiusProcessor
processor.mid=1

db.driver=com.mysql.jdbc.Driver
db.url=jdbc:mysql://192.168.60.10/bgbilling?useUnicode=true&characterEncoding=Cp1251&zeroDateTimeBehavior=convertToNull&jdbcCompliantTruncation=false&elideSetAutoCommits=true&cachePrepStmts=true
db.user=bill
db.pswd=xxxxxxxxxx
db.maxIdle=20
db.maxActive=300

mq.url=failover:(nio://192.168.60.10:61616)
mq.user=bill
mq.pswd=xxxxxxxxx

auth.port=1812
acct.port=1813
admin.port=1955

auth.thread.count=110
acct.thread.count=110
auth.thread.must.be.free.count=10
acct.thread.must.be.free.count=10

collector.capture.flow.port.1=2001
collector.capture.flow.port.1.type=netflow
collector.capture.flow.port.1.thread.count=10

collector.capture.flow.buffer.capacity=4194304
collector.capture.flow.socket.buffer.capacity=524288
collector.capture.flow.thread.count=10


radius.log
Код:
Process time update: 2

08-02/13:43:35  INFO [radiusListener-p-4-t-13] update - REQUEST:
Packet type: Accounting-Request
Identifier: 252
Authenticator: {53 5E 1B C5 BF E0 0F AF B7 98 67 FF C8 89 8F A1}
Attributes:
  User-Name=pe_clientbad
  NAS-IP-Address=192.168.60.5
  NAS-Port=67187
  Service-Type=2
  Framed-Protocol=1
  UNKNOWN[-1-197]={3B 9A CA 00}
  Framed-IP-Address=xx.xx.17.9
  UNKNOWN[-1-196]={00 00 00 3C}
  UNKNOWN[-1-198]={00 00 00 00}
  UNKNOWN[-1-193]={00 00 00 04}
  UNKNOWN[-1-192]={00 00 00 04}
  NAS-Port-Id=0/0/0/61
  Acct-Input-Octets=693845523
  Acct-Output-Octets=-763979484
  Acct-Status-Type=3
  Acct-Delay-Time=0
  Acct-Session-Time=2813946
  Acct-Input-Packets=12879556
  Acct-Session-Id=00010673
  Acct-Authentic=1
  UNKNOWN[-1-255]={3B 9A CA 00}
  Acct-Output-Packets=21612757
  UNKNOWN[-1-190]={00 00 00 47}
  UNKNOWN[-1-191]={00 00 00 35}
  Acct-Output-Gigawords=5
  Acct-Input-Gigawords=0
  NAS-Port-Type=15
  cisco-avpair=connect-progress=LAN Ses Up
  cisco-avpair=nas-tx-speed=1000000000
  cisco-avpair=nas-rx-speed=1000000000
  cisco-avpair=client-mac-address=1caf.f719.d139

08-02/13:43:35  WARN [radiusListener-p-4-t-13] DialUpNas - Not found connection for update packet:
Packet type: Accounting-Request
Identifier: 252
Authenticator: {53 5E 1B C5 BF E0 0F AF B7 98 67 FF C8 89 8F A1}
Attributes:
  User-Name=pe_clientbad
  NAS-IP-Address=192.168.60.5
  NAS-Port=67187
  Service-Type=2
  Framed-Protocol=1
  UNKNOWN[-1-197]={3B 9A CA 00}
  Framed-IP-Address=xx.xx.17.9
  UNKNOWN[-1-196]={00 00 00 3C}
  UNKNOWN[-1-198]={00 00 00 00}
  UNKNOWN[-1-193]={00 00 00 04}
  UNKNOWN[-1-192]={00 00 00 04}
  NAS-Port-Id=0/0/0/61
  Acct-Input-Octets=693845523
  Acct-Output-Octets=-763979484
  Acct-Status-Type=3
  Acct-Delay-Time=0
  Acct-Session-Time=2813946
  Acct-Input-Packets=12879556
  Acct-Session-Id=00010673
  Acct-Authentic=1
  UNKNOWN[-1-255]={3B 9A CA 00}
  Acct-Output-Packets=21612757
  UNKNOWN[-1-190]={00 00 00 47}
  UNKNOWN[-1-191]={00 00 00 35}
  Acct-Output-Gigawords=5
  Acct-Input-Gigawords=0
  NAS-Port-Type=15
  cisco-avpair=connect-progress=LAN Ses Up
  cisco-avpair=nas-tx-speed=1000000000
  cisco-avpair=nas-rx-speed=1000000000
  cisco-avpair=client-mac-address=1caf.f719.d139

08-02/13:43:35  INFO [radiusListener-p-4-t-13] update - RESPONSE:
Packet type: Accounting-Response
Identifier: 252
Authenticator: {B6 0D A2 48 3F 59 D0 6D 33 90 A9 25 A5 21 C1 8D}
Attributes:

Process time update: 1

08-02/13:43:35  INFO [radiusListener-p-4-t-80] update - REQUEST:
Packet type: Accounting-Request
Identifier: 253
Authenticator: {BC B9 29 85 99 9B 5B 4D 4F 9B 91 CC A7 5F B3 CD}
Attributes:
  User-Name=pe_clientgood
  NAS-IP-Address=192.168.60.5
  NAS-Port=85364
  Service-Type=2
  Framed-Protocol=1
  UNKNOWN[-1-197]={3B 9A CA 00}
  Framed-IP-Address=xx.xx.17.6
  UNKNOWN[-1-196]={00 00 00 3C}
  UNKNOWN[-1-198]={00 00 00 6D}
  UNKNOWN[-1-193]={00 00 00 05}
  UNKNOWN[-1-192]={00 00 00 0E}
  NAS-Port-Id=0/0/0/61
  Acct-Input-Octets=68367113
  Acct-Output-Octets=49583813
  Acct-Status-Type=3
  Acct-Delay-Time=0
  Acct-Session-Time=135422
  Acct-Input-Packets=184662
  Acct-Session-Id=00014D74
  Acct-Authentic=1
  UNKNOWN[-1-255]={3B 9A CA 00}
  Acct-Output-Packets=170402
  UNKNOWN[-1-190]={00 00 01 90}
  UNKNOWN[-1-191]={00 00 00 63}
  NAS-Port-Type=15
  cisco-avpair=connect-progress=LAN Ses Up
  cisco-avpair=nas-tx-speed=1000000000
  cisco-avpair=nas-rx-speed=1000000000
  cisco-avpair=client-mac-address=1cdf.0f27.cb3a

08-02/13:43:35  INFO [radiusListener-p-4-t-80] update - RESPONSE:
Packet type: Accounting-Response
Identifier: 253
Authenticator: {73 0E 71 62 25 5C DE 04 A8 8A 82 57 ED F2 DC 00}
Attributes:


конфигурация NAS
Код:
nas.port_time.default.*=3
nas.port_traffic.default.*=1:RADIN;2:RADOUT;4:COLLECTOR;5:COLLECTOR
card.activate.service=0
callback.support=0
month.break=1
nas.inspector.sleep_time=60
nas.inspector.kill.max_messages=5
drop.sleep.timeout=3600
nas.inspector.snmp.port=161
nas.inspector.snmp.community=public
nas.inspector.snmp.buffer.in=4
nas.inspector.snmp.buffer.out=4
snmp.version=2
nas.inspector.class=ru.bitel.bgbilling.kernel.network.radius.inspectors.SNMPNasConnectionInspectorCisco
nas.inspector.snmp.kill.oid=1.3.6.1.4.1.9.9.150.1.1.3.1.5
nas.inspector.snmp.check.oid=1.3.6.1.4.1.9.9.150.1.1.3.1.5
collector.agent.address=192.168.60.5
collector.agent.ports=2001
ipn.module.id=2
ipn.source.id=1
netflow.log.path=/mnt/nfs-bgb/netflowlog/source_1


p.s. пока планирую перезапустить сервер и обновить.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 04 авг 2011, 13:01 
Не в сети

Зарегистрирован: 06 окт 2010, 11:41
Сообщения: 11
Карма: 0
может возможно на основании лога radius добавить вручную запись о сессии и сделать перерасчет по детализации ?
если да, подскажите пример sql запроса к базе, например по следующему логину:
Код:
08-02/16:21:29  WARN [radiusListener-p-4-t-108] DialUpNas - Not found connection for update packet:
Packet type: Accounting-Request
Identifier: 202
Authenticator: {1A 62 C8 37 94 AE 46 0B 3B 80 DE BD AA EE CD 87}
Attributes:
  User-Name=pe_centro1
  NAS-IP-Address=192.168.60.5
  NAS-Port=67100
  Service-Type=2
  Framed-Protocol=1
  UNKNOWN[-1-197]={3B 9A CA 00}
  Framed-IP-Address=x.x.17.216
  UNKNOWN[-1-196]={00 00 00 3C}
  UNKNOWN[-1-198]={00 00 00 61}
  UNKNOWN[-1-193]={00 00 00 04}
  UNKNOWN[-1-192]={00 00 00 0D}
  NAS-Port-Id=0/0/0/61
  Acct-Input-Octets=1990242501
  Acct-Output-Octets=-1382030950
  Acct-Status-Type=3
  Acct-Delay-Time=0
  Acct-Session-Time=2823421
  Acct-Input-Packets=11116725
  Acct-Session-Id=0001061C
  Acct-Authentic=1
  UNKNOWN[-1-255]={3B 9A CA 00}
  Acct-Output-Packets=22410879
  UNKNOWN[-1-190]={00 00 01 2E}
  UNKNOWN[-1-191]={00 00 00 3B}
  Acct-Output-Gigawords=1
  Acct-Input-Gigawords=0
  NAS-Port-Type=15
  cisco-avpair=connect-progress=LAN Ses Up
  cisco-avpair=nas-tx-speed=1000000000
  cisco-avpair=nas-rx-speed=1000000000
  cisco-avpair=client-mac-address=dc7b.9478.4466


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 04 авг 2011, 17:49 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
Думаю Вам частично поможет эта статья. Частично - потому что для Вашего случая это не пошаговая инструкция!
Вам надо руками вставить отсутствующую сессию в log_session, например как нить так:
Код:
INSERT INTO log_session_{mid}_yyyyMM SET
lid           = <id логина>,
nas_id        = <id nasа>,
nas_port      = <порт nasa>,
session_id    = <id сессии>,
session_start = <время начала>,
session_stop  = <время конца>,
session_time  = <длительность>,
session_cost  = 0,
input_octets  = <входящие байты>,
output_octets = <исходящие байты>,
status        = 1,
lr            = SELECT id FROM log_server_{mid}_yyyyMM WHERE requests LIKE '%User-Name=<алиас юзера>\n%Acct-Terminate-Cause=1',
ipaddr        = <SELECT INET_ATON('ip адрес')>,
login_name    = <логин (алиас)>,
sid_time      = <код услуги "время">

стоимость сессии = 0 потому что Вы ее всеравно пересчитывать будете
lr = <id лога> - чтобы проверить правильно вставили или нет, да и вообще пригодится


Вставить инфу в таблицу детализации наработки сессий:
Код:
INSERT INTO session_detail_{mid}_yyyyMM SET
session_id = <id сессии которую Вы вставили в log_session_{mid}_yyyyMM>,
sid = <код услуги>

и только потом уже попробывать сделать как в статье.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 04 авг 2011, 19:27 
Не в сети

Зарегистрирован: 06 окт 2010, 11:41
Сообщения: 11
Карма: 0
Спасибо.
правда подсказки не дождался, и уже сделал что-то похожее. после переобработки netflow трафика наработки за месяц появились.

сделал следующее:
посмотрел сессии у которых up-time > 4d (show sss session brief), сбросил их (они пересоединились и нормально стали считаться уже с 4.августа).
скопировал с прошлого месяца (log_session_1_201106) записи по нужным логинам, подправив nas_port, session_start=2011-07-01 00:02:01, session_stop=2011-08-01 00:02:01, session_time=2678400, session_id (похожий, на единицу больше)
запустил переобработку netflow за месяц.
записи в session_detail_{mid}_yyyyMM сами появились.


не понял, что за значения session_id (char(32)) таблица log_session_1_201107 (пример: 00014D20, 00014D22, 00014D26)
для новых записей я поставил номера на единицу больше.


p.s. второй вопрос, что случилось, как избежать такого, все ещё актуален.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 04 авг 2011, 20:33 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
PSob писал(а):
что случилось

Я думаю что мускул не справился и поэтому сессия(и) не создалась.

PSob писал(а):
как избежать такого

Переводите мускул на InnoDB и получите не только построчную блокировку, которая, возможно, и не дала сделать инсерт старта сессии, а еще и бОльшую надежность и скорость работы.
У меня с MyISAM то мускул то радиус, то они оба порой усирались не справлялись, а на InnoDB, в абсолютно той-же ситуации (настройки БГБ, кол-ве юзеров, в общем - нагрузка на БГБ) - все нормально, что не может не радовать.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 05 авг 2011, 18:04 
Не в сети

Зарегистрирован: 06 окт 2010, 11:41
Сообщения: 11
Карма: 0
спасибо, перевел на InnoDB.


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

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


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

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


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

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