Date: Mon, 12 Feb 2007 10:20:19 +0100 From: Anders Nordby <anders@FreeBSD.org> To: Jorge Evangelista <netsecuredata@gmail.com> Cc: freebsd-isp@FreeBSD.org Subject: Re: Per virtualhost bandwidth/hitrate statistics for Apache Message-ID: <20070212092019.GB8025@fupp.net> In-Reply-To: <de85c96f0702070733k5ec7e729t3a30b21dfab5dcca@mail.gmail.com> References: <20070207130614.GA15328@fupp.net> <200702070934.34074.lists@jnielsen.net> <de85c96f0702070733k5ec7e729t3a30b21dfab5dcca@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi, Thanks. But this is to limit bandwidth. I didn't want that. I just want to measure how much bandwidth is used (and other things), per virtual host, in real time. On Wed, Feb 07, 2007 at 10:33:06AM -0500, Jorge Evangelista wrote: > A days ago I have configured a web server with bandwidth manager > (module bwmod) compile with apache web server. It works fine. You > could try install this module http://bwmod.sourceforge.net/index.html > and test with your virtualhosts. > > Here, my small guide install, it made in spanish. > > Instalando el bwmod, primero comentar las lineas mencionadas abajo > > vi mod_bw.c > > /* Compatibility for APR < 1 */ > #if (APR_MAJOR_VERSION >= 1) > #define apr_atomic_inc32 apr_atomic_inc > #define apr_atomic_dec32 apr_atomic_dec > #define apr_atomic_add32 apr_atomic_add > #define apr_atomic_cas32 apr_atomic_cas > #define apr_atomic_set32 apr_atomic_set > #endif > > > Compilar con el siguiente comando > > /usr/local/apache2/bin/apxs -i -a -c mod_bw.c > > > Habilitar en apache httpd.conf > > BandWidthModule On > > > Para bandwitdh ilimitado a una IP > BandWidth 200.168.190.6 0 > > > Para colocar el bandwidth a los virtual hosts > > Limit al internal users to 1000 kb/s with a minimum of 50kb/s > > <Virtualhost *> > BandwidthModule On > ForceBandWidthModule On > Bandwidth all 1024000 > MinBandwidth all 50000 > LargeFileLimit * 500 50000 > Servername www.example.com > </Virtualhost> > > Limit every user to a max of 10Kb/s on a vhost : > > <Virtualhost *> > BandwidthModule On > ForceBandWidthModule On > Bandwidth all 10240 > MinBandwidth all -1 > Servername www.example.com > </Virtualhost> > > > Examples : > BandWidth all 102400 > MinBandWidth all 50000 > > The example above, will have a top speed of 100kb for the 1ยบ > client. If more clients come, it will be splitted accordingly but > everyone will have at least 50kb (even if you have 50 clients) > > BandWidth all 50000 > MinBandWidth all -1 > > This example, makes everyone have 50kb as top speed. > > > > > > > > On 2/7/07, John Nielsen <lists@jnielsen.net> wrote: > >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 > >_______________________________________________ > >freebsd-isp@freebsd.org mailing list > >http://lists.freebsd.org/mailman/listinfo/freebsd-isp > >To unsubscribe, send any mail to "freebsd-isp-unsubscribe@freebsd.org" > > > > > -- > "The network is the computer" > _______________________________________________ > freebsd-isp@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-isp > To unsubscribe, send any mail to "freebsd-isp-unsubscribe@freebsd.org" -- Anders.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070212092019.GB8025>