From: Amos Jeffries Date: Sun, 12 Jul 2009 03:32:39 +0000 (+1200) Subject: Author: Adrian Chadd X-Git-Tag: SQUID_3_2_0_1~891 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=db6ebab86a4507d15ec0af57af6b0edfeabdf943;p=thirdparty%2Fsquid.git Author: Adrian Chadd Add a simple script to summarise traffic use per user. And, summarise the user list accessing the proxy. Allows the user to override the aggregation term. By default its "username" but there are other options (eg try "clientip"). --- diff --git a/scripts/PerUser.pl b/scripts/PerUser.pl new file mode 100644 index 0000000000..26d70a85e0 --- /dev/null +++ b/scripts/PerUser.pl @@ -0,0 +1,34 @@ +#!/usr/bin/perl -w + + +use strict; + +# This is a simple script that will summarise per-user traffic +# statistics. +# +# Adrian Chadd +# $Id: PerUser.pl,v 1.2 2007/01/24 08:03:52 adrian Exp $ + +use Squid::ParseLog; + +my %u; +my $wh; + +$wh = "username"; +if (scalar @ARGV >= 1) { + $wh = $ARGV[0]; + shift @ARGV; +} + +while (<>) { + chomp; + my $l = Squid::ParseLog::parse($_); + if (! defined $u{$l->{$wh}}) { + $u{$l->{$wh}}->{"traffic"} = 0; + } + $u{$l->{$wh}}->{"traffic"} += $l->{"size"}; +} + +foreach (keys %u) { + printf "%s\t\t%lu\n", $_, $u{$_}->{"traffic"}; +}