Using RadiusSplit
Paul Gregg has also created a utility to make the processing of log files go a bit faster by pre-processing them and splitting logs up into per-user files. When this utility, called RadiusSplit, is used in conjunction with RadiusReport, it’s not uncommon to have a speed boost on the order of a factor of 100+, simply because log files are smaller and have less data irrelevant to the report being generated. For example, if you’re processing a report for all the logins for the user mdunlap in May, the traditional log file would have that data, but also data for all the other users. RadiusReport would have to go record-by-record to determine whether the data pertained to the target user or if it was for another user. By using RadiusSplit, the RadiusReport program can go immediately to the split logs for mdunlap and process his logs immediately, without the extraneous data.
The small, single-file Perl program can be downloaded from Paul Gregg’s web site as well at http://www.pgregg.com/projects/radiussplit/. The program reads the accounting log file and places copies of the relevant log file entries into individual user files in the following path:
/path/to/logfiles/yyyy/mm/username
yyyy and mm are the date on
which the utility was run.
To use the program, use a standard Linux/Unix file display command and pipe the output to RadiusSplit. For example, for a log file stored in /var/adm/radacct/ptmstr-clt-1/detail, use the following command:
tail -f /var/adm/radacct/ptmstr-clt-1/detail ...