Per virtualhost bandwidth/hitrate statistics for Apache

Jorge Evangelista netsecuredata at gmail.com
Wed Feb 7 16:01:14 UTC 2007


Hi Anders,

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 at 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 at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-isp
> To unsubscribe, send any mail to "freebsd-isp-unsubscribe at freebsd.org"
>


-- 
"The network is the computer"


More information about the freebsd-isp mailing list