BiTel

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

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




Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
 Заголовок сообщения: session_detail
СообщениеДобавлено: 10 авг 2011, 19:25 
Не в сети

Зарегистрирован: 30 ноя 2006, 02:00
Сообщения: 186
Откуда: N.Novgorod
Карма: 12
Вопрос к разработчикам
если бахнуть session_detail
и запустить обсчет сессий данные в этой таблице востоновятся или нет ?)


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

Зарегистрирован: 30 ноя 2006, 02:00
Сообщения: 186
Откуда: N.Novgorod
Карма: 12
просто был написан скриптик который востонавливает информацию из
log_server в log_session


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: session_detail
СообщениеДобавлено: 12 авг 2011, 09:26 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
anred писал(а):
Вопрос к разработчикам
если бахнуть session_detail
и запустить обсчет сессий данные в этой таблице востоновятся или нет ?)


Нет . Им неоткуда браться . Такое возможно в модуле inet - там хранятся первичные логи (radius-пакеты).


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

Зарегистрирован: 30 ноя 2006, 02:00
Сообщения: 186
Откуда: N.Novgorod
Карма: 12
тоесть я захожу в базу зачищаю таблицы
согласно ману
http://wiki.bgbilling.ru/index.php/%D0%9F%D0%B5%D1%80%D0%B5%D1%81%D1%87%D0%B5%D1%82_%D1%82%D1%80%D0%B0%D1%84%D0%B8%D0%BA%D0%B0_%D0%BF%D0%BE_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D0%BC_Radius_%28%D0%BF%D1%80%D0%B8_%D0%BF%D0%BE%D1%82%D0%B5%D1%80%D1%8F%D0%BD%D0%BD%D1%8B%D1%85_Netflow-%D0%BB%D0%BE%D0%B3%D0%B0%D1%85%29

session_detail_MID_YYYYMM
log_session_MID_YYYYMM
запускаю свой скриптик который переносит инфу из
log_server_MID_YYYYMM
и потом переобсчет netflow


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: session_detail
СообщениеДобавлено: 15 авг 2011, 13:02 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
anred писал(а):
тоесть я захожу в базу зачищаю таблицы
согласно ману
...
session_detail_MID_YYYYMM
log_session_MID_YYYYMM
запускаю свой скриптик который переносит инфу из
log_server_MID_YYYYMM
и потом переобсчет netflow


Про этот способ я забыл .Да, можно так


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: session_detail
СообщениеДобавлено: 15 авг 2011, 21:56 
Не в сети

Зарегистрирован: 30 ноя 2006, 02:00
Сообщения: 186
Откуда: N.Novgorod
Карма: 12
если в log_session_MID_YYYYMM
поле id сделать автоинкрементным
как к этому отнесется биллинг ?)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: session_detail
СообщениеДобавлено: 15 авг 2011, 22:16 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
Он же там по дефолту такой:
Код:
CREATE TABLE log_session_1_201108 (
  id int(11) NOT NULL AUTO_INCREMENT,
...
  PRIMARY KEY (id),
...
);


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

Зарегистрирован: 30 ноя 2006, 02:00
Сообщения: 186
Откуда: N.Novgorod
Карма: 12
ага не заметил =)
ладно буду пробовать скриптинку
чуть позже выложу если все ок!


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

Зарегистрирован: 30 ноя 2006, 02:00
Сообщения: 186
Откуда: N.Novgorod
Карма: 12
Код:
<?php
  $day = "08";
  $db_host = "IP";
  $db_database = "bgbilling";
  $db_user     = "root";
  $db_password = "PASS";
  $db_connect=mysql_connect($db_host,$db_user,$db_password) or die(mysql_error());
  mysql_select_db($db_database,$db_connect) or die(mysql_error());
  $table = 'log_server_3_201108';
  $mass = '';
  $query = mysql_query("SELECT * FROM `$table` WHERE `requests` LIKE '\n$day %'") or die(mysql_error());
  while($r = mysql_fetch_array($query)){
      $id = $r[0];
      $requests = $r[1];
      if (strpos($requests, 'Acct-Session-Time')){
   $requests = explode ("\n", $requests);
   $start = 0;
   foreach ($requests as $key => $val){
     if ($start == 1){
      if (trim($val) != ''){
        $temp = explode('=',$val);
        if (isset($temp[1]))
        if ((trim($temp[0]) != 'CHAP-Password') or (trim($temp[1]) != ''))
      $attrib[$id][trim($temp[0])] = $temp[1];
      }
      else{
        $start = 0;
      }
     }
     if (ereg("([0-9]{1,2}) ([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2})", $val, $regs)) $attrib[$id]['date'] = $val;
     if (strpos($val, 'Attributes') !== false) $start = 1;
   }
      }
  }
/////////////////////////////////////////////////////////////////////////////////////////////
    $table2 = 'log_session_3_201108';
  foreach ($attrib as $key => $val){
      $q = mysql_query("SELECT * FROM user_alias_3 WHERE login_alias = '{$val['User-Name']}'");
      if (mysql_num_rows($q) > 0 ) {
   $r = mysql_fetch_array($q);
   $lid = $r[0];
   $login_name = $r[1];
      }
      else{
      }

if ($val['NAS-IP-Address'] == "94.X.X.X"){
$nas_id = "8";
}
elseif ($val['NAS-IP-Address'] == "94.X.X.X")
{
$nas_id = "3";
}
elseif ($val['NAS-IP-Address'] == "95.X.X.X")
{
$nas_id = "11";
}
elseif ($val['NAS-IP-Address'] == "94.X.X.X")
{
$nas_id = "1";
}
elseif ($val['NAS-IP-Address'] == "94.100.88.2")
{
$nas_id = "10";
}
elseif ($val['NAS-IP-Address'] == "94.100.90.30")
{
$nas_id = "9";
}
      $nas_por = $val['NAS-Port'];
      $session_id = $val['Acct-Session-Id'];
      $session_start = '2011-08-'.$val['date'];
      $day = explode(' ', $val['date']);
      $time = @explode(':', $day[1]);
      $session_stop = date("Y-m-d H:i:s", mktime($time[0], $time[1], $time[2], 8, $day[0], 2011) + $val['Acct-Session-Time']);
      $session_time = $val['Acct-Session-Time'];
      $session_cost = 0.00000;
      $from_number = $val['Calling-Station-Id'];
      $to_number = '';
      $input_octets = $val['Acct-Input-Octets'];
      $output_octets = $val['Acct-Output-Octets'];
      $status = 1;
      $lr = $key;
      $ipaddr =  $val['Framed-IP-Address'];
      $sid_time = 13;
      $fake = 0;
      mysql_query("INSERT INTO $table2 SET
           id = '',
           lid = '$lid',
           nas_id = '$nas_id',
           nas_port = '$nas_por',
           session_id = '$session_id',
           session_start = '$session_start',
           session_stop = '$session_stop',
           session_time = '$session_time',
           session_cost = '$session_cost',
           from_number = '$from_number',
           to_number = '$to_number',
           input_octets = '$input_octets',
           output_octets = '$output_octets',
           status = '$status',
           lr = '$lr',
           ipaddr =  INET_ATON('$ipaddr'),
           login_name = '$login_name',
           sid_time = '$sid_time',
           fake = '$fake'
         ");
  }
?>


может кому пригодится )


Последний раз редактировалось anred 23 авг 2011, 15:07, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: session_detail
СообщениеДобавлено: 19 авг 2011, 16:55 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 08 мар 2007, 20:44
Сообщения: 1570
Откуда: Челябинск
Карма: 18
в викки!

_________________
Интернет и телефония оптом со склада, или в розницу


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

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

Вот это???
anred писал(а):
Код:
<?php
...
mysql_query("SET NAMES utf8");
...
?>


Пожалуйста, скажите что Вы шутите.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: session_detail
СообщениеДобавлено: 23 авг 2011, 15:07 
Не в сети

Зарегистрирован: 30 ноя 2006, 02:00
Сообщения: 186
Откуда: N.Novgorod
Карма: 12
Пережитки прошлого скрипта не удалил забыл )
да и не суть важно! работать всеравно будет !
русского нет в таблице и кодировка не поедит!
но всеравно поправлю!


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

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


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

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


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

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