Детализация трафика сверх 4Gb

Модуль организации Diulup и VPN доступа
Ответить
KLuG
Сообщения: 2
Зарегистрирован: Чт янв 14, 2010 11:40 am

Детализация трафика сверх 4Gb

Сообщение KLuG »

ABillS 0.53b (слит с CVS)
В детализации трафика наблюдается следующая картина:

Код: Выделить всё

2011-05-05 18:28:47   240.81 MB   43.96 MB
2011-05-05 18:27:47   239.22 MB   13.18 MB
2011-05-05 18:26:47   236.69 MB   3.98 GB
2011-05-05 18:25:46   235.56 MB   3.96 GB
В detail логах радиуса вроде всё норм приходит:

Код: Выделить всё

...
Acct-Input-Gigawords = 1
Acct-Output-Gigawords = 3
...
Вот как занесение реализовано в Acct.pm:

Код: Выделить всё

if ($conf->{s_detalization}) {
  if($NAS->{NAS_TYPE} ne 'exppp') {
    $RAD->{INTERIUM_INBYTE}  = $RAD->{INBYTE};
    $RAD->{INTERIUM_OUTBYTE} = $RAD->{OUTBYTE};
    $RAD->{INTERIUM_INBYTE2} = $RAD->{INBYTE2}  || 0;
    $RAD->{INTERIUM_OUTBYTE2}= $RAD->{OUTBYTE2} || 0;
   }
  $self->query($db, "INSERT into s_detail (acct_session_id, nas_id, acct_status, last_update, 
    sent1, recv1, sent2, recv2, id, sum)
  VALUES ('$RAD->{ACCT_SESSION_ID}', '$NAS->{NAS_ID}',
   '$acct_status_type', UNIX_TIMESTAMP(),
   '$RAD->{INTERIUM_INBYTE}', '$RAD->{INTERIUM_OUTBYTE}', 
   '$RAD->{INTERIUM_INBYTE2}', '$RAD->{INTERIUM_OUTBYTE2}', 
   '$RAD->{USER_NAME}', '$self->{SUM}');", 'do');
Не лучше ли было бы добавить учет gigawords? Например так:

Код: Выделить всё

my $INBYTES = $RAD->{INBYTE} + $RAD->{ACCT_INPUT_GIGAWORDS} * 4294967296;
my $OUTBYTES = $RAD->{OUTBYTE} + $RAD->{ACCT_OUTPUT_GIGAWORDS} * 4294967296;
$self->query($db, "INSERT into s_detail (acct_session_id, nas_id, acct_status, last_update, sent1, recv1, sent2, recv2, id, sum)
VALUES ('$RAD->{ACCT_SESSION_ID}', '$NAS->{NAS_ID}',
'$acct_status_type', UNIX_TIMESTAMP(),
'$INBYTES', '$OUTBYTES', 
'$RAD->{INTERIUM_INBYTE2}', '$RAD->{INTERIUM_OUTBYTE2}', 
'$RAD->{USER_NAME}', '$self->{SUM}');", 'do');
И в талице s_detail использовать допустим тип bigint unsigned для полей sent и recv
Или это может на что-то повлиять?

~AsmodeuS~
Site Admin
Сообщения: 5746
Зарегистрирован: Пт янв 28, 2005 3:11 pm
Контактная информация:

Re: Детализация трафика сверх 4Gb

Сообщение ~AsmodeuS~ »

давно уже както так хотел сделать не доходили руки

KLuG
Сообщения: 2
Зарегистрирован: Чт янв 14, 2010 11:40 am

Re: Детализация трафика сверх 4Gb

Сообщение KLuG »

У себя так и сделал, теперь всё красиво :) может, стоит добавить в код?
В той же версии: libexec/periodic, строка 25, лишний перевод каретки:

Код: Выделить всё

Abills::Base->import(qw{ check_time parse_arguments in_array mk_unique_value sen
dmail });

~AsmodeuS~
Site Admin
Сообщения: 5746
Зарегистрирован: Пт янв 28, 2005 3:11 pm
Контактная информация:

Re: Детализация трафика сверх 4Gb

Сообщение ~AsmodeuS~ »

KLuG писал(а): В той же версии: libexec/periodic, строка 25, лишний перевод каретки:

Код: Выделить всё

Abills::Base->import(qw{ check_time parse_arguments in_array mk_unique_value sen
dmail });

уже поправленно

Ответить