Date: Wed, 7 Feb 2007 09:34:33 -0500 From: John Nielsen <lists@jnielsen.net> To: freebsd-isp@freebsd.org Cc: Anders Nordby <anders@fupp.net> Subject: Re: Per virtualhost bandwidth/hitrate statistics for Apache Message-ID: <200702070934.34074.lists@jnielsen.net> In-Reply-To: <20070207130614.GA15328@fupp.net> References: <20070207130614.GA15328@fupp.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wednesday 07 February 2007 08:06, Anders Nordby wrote: > I just wonder if anyone has any good hints about software to use (Apache > module?) for fetching per-virtualhost statistics about bandwidth usage > and hitrates (hits per second) from Apache. I've been using mod_watch > for a while, to graph this with MRTG, but it's discontinued it seems. > > What do people use to measure statistics per virtualhost? I use Apache's logrotate and a separate log directory for each virtualhost. I have a script that runs from cron every day that runs the logs through webalizer and then cleans up logs older than a specified number of days. In fact (since I'm feeling like sharing), here it is: #!/bin/sh for path in `cat /usr/local/scripts/logpaths.txt` ; do for log in `find ${path} -name access\* | sort -n` ; do if [ -r ${path}/hostname.txt ]; then host=`cat ${path}/hostname.txt` /usr/local/bin/webalizer -Q -p -n ${host} \ -o ${path} ${log} else /usr/local/bin/webalizer -Q -p -o ${path} ${log} fi done find ${path} -name \*.log\* ! -newermt '1 month ago' -delete done The script depends on the existence of a "logpaths.txt" file, which contains a list of directories to scan, one per line. It also supports an optional "hostname.txt" for each directory so webalizer can use the right one in the title of its reports. Webalizer output is stored in the log directory but that could easily be changed. The output is plain HTML, so you can publish it on a (presumably private) webserver somewhere. Since I give certain clients access to their reports I use webmin for this. However I just point webmin to a dummy file within each log directory and don't let it actually run webalizer (since my script already takes care of that). So just the "View report" button works, but it gets the job done. JN
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200702070934.34074.lists>