accounting scripts ?
Frank Bonnet
f.bonnet at esiee.fr
Fri Oct 21 11:58:33 CEST 2005
Miguel wrote:
> Frank Bonnet wrote:
>
>> Hello
>>
>> I'm searching for scripts that are able to parse the
>> radacct/xxx.xxx.xxx.xxx/detail-xxxxxxx file to perform
>> some simple statistics ?
>>
>> Thanks
>>
>> - List info/subscribe/unsubscribe? See
>> http://www.freeradius.org/list/users.html
>>
> what do you mean with parsing?, i got this, i call it summarize.pl, just
> change the attributes that you want to extract, the result is a csv file,
> the output is to your screen, so you have to redirecte it to a file,
> etc, with that csv file you can dump it to a db, or wharever. ej:
>
> for standar output: # ./summarize.pl name_of_detail_file
>
> for csv file: # ./summarize.pl name_of_detail_file > name_of_csv_file
>
>
> ### BEGIN ###
>
> #!/usr/bin/perl
> #
>
>
> # define caracter de separacion para lineas
> $/ = "\n\n";
>
> open(SUM,$ARGV[0]) or die "No se encontro archivo detalle";
>
> print "h323-call-origin,h323-call-type,out-intrfc-desc,h323-connect-time,";
> print "Acct-Session-Time,h323-disconnect-time,h323-disconnect-cause,";
> print "Cisco-NAS-Port,Calling-Station-Id,Called-Station-Id\n";
>
> while (<SUM>){
> s/\t+//g;
> @campos = split(/\n/);
> foreach $c (@campos) {
> ($cpo, $vlr) = split(/ = /, $c);
> $vlr =~ s/^ |\"//g;
> #print $cpo,$vlr,"\n";
> if ($cpo eq "h323-call-origin") {$h323_call_origin = $vlr;}
> if ($cpo eq "h323-call-type") {$h323_call_type = $vlr;}
> if ($cpo eq "Cisco-AVPair") {
> if ($vlr =~ /out-intrfc-desc/) {
> $out_intrfc_desc = (split("=",$vlr))[1];
> }
> }
> if ($cpo eq "h323-connect-time") {$h323_connect_time = $vlr;}
> if ($cpo eq "Acct-Session-Time") {$Acct_Session_Time = $vlr;}
> if ($cpo eq "h323-disconnect-time") {$h323_disconnect_time = $vlr;}
> if ($cpo eq "h323-disconnect-cause") {$h323_disconnect_cause =
> $vlr;}
> if ($cpo eq "Cisco-NAS-Port") {$Cisco_NAS_Port = $vlr;}
> if ($cpo eq "Calling-Station-Id") {$Calling_Station_Id = $vlr;}
> if ($cpo eq "Called-Station-Id") {$Called_Station_Id =
> $vlr;} }
> print
> "$h323_call_origin,$h323_call_type,$out_intrfc_desc,$h323_connect_time,";
> print
> "$Acct_Session_Time,$h323_disconnect_time,$h323_disconnect_cause,";
> print "$Cisco_NAS_Port,$Calling_Station_Id,$Called_Station_Id\n";
> }
> close SUM;
>
> ### END ###
> - List info/subscribe/unsubscribe? See
> http://www.freeradius.org/list/users.html
thanks also a lot !
More information about the Freeradius-Users
mailing list