Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 7 Feb 2007 10:33:06 -0500
From:      "Jorge Evangelista" <netsecuredata@gmail.com>
To:        freebsd-isp@freebsd.org
Subject:   Re: Per virtualhost bandwidth/hitrate statistics for Apache
Message-ID:  <de85c96f0702070733k5ec7e729t3a30b21dfab5dcca@mail.gmail.com>
In-Reply-To: <200702070934.34074.lists@jnielsen.net>
References:  <20070207130614.GA15328@fupp.net> <200702070934.34074.lists@jnielsen.net>

next in thread | previous in thread | raw e-mail | index | archive | help
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 >=3D 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=C2=
=BA
            client. If more clients come, it will be splitted accordingly b=
ut
            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 (Apach=
e
> > 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 virtualhos=
t. 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=3D`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 conta=
ins 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 direct=
ory
> 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 e=
ach
> 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"
>


--=20
"The network is the computer"



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?de85c96f0702070733k5ec7e729t3a30b21dfab5dcca>