PDA

Bekijk Volledige Versie : Bandbreedte berekenen



Deimos
17/07/02, 18:39
Ik vraag me af hoe de meeste hosts nou precies de bandbreedte meten van een Virtual Host, want naar mijn inzicht is dit niet echt mogelijk. In dit topic wil ik het dus gaan hebben over het monitoren van bandbreedte door een virtual host.

En dan bedoel ik dus hoe kan je ervoor zorgen dat de hoeveelheid dataverkeer zoveel mogelijk overeenkomt met de werkelijkheid. Eventuele tips e.d. Zal ik proberen te verpakken in een leuk php script, dat dataverkeer kan berekenen op basis van virtual host.

Domenico
17/07/02, 18:48
Je hebt natuurlijk Multi Router Traffic Grapher (http://people.ee.ethz.ch/~oetiker/webtools/mrtg/) met al zijn plugins maar dat is waarschijnlijk niet wat je wil hebben.

Je moet maar eens kijken naar het programma bandmin wat je kunt vinden op ftp://ftp.cpanel.net/pub/sysup/generic/bandmin/ of op http://diff.cpanel.net/pub/sysup/generic/bandmin/

Werkt perfect hoor :)

Succes!
Domenico

Deimos
17/07/02, 19:07
Zoals je wellicht wel weet, is bandmin voor sites met een eigen IP. En dat is dus juist niet het geval bij een virtualhost. Verder is het zo, dat met MRTG je leuke stats kan krijgen van bijv mod_watch voor apache, maar dan krijg je dus alleen www verkeer.

Wat ik met topic wil bereiken is juist om een script te ontwikkelen dat "al" het dataverkeer meet van een specifieke virtualhost.

Domenico
17/07/02, 23:01
Ok, ik wist niet dat het moest gaan om verschillende sites met hetzelfde IP aangezien je ook makkelijk ieder een eigen IP kan hebben met een virtual host account.

Of hebben wij misschien ieder een verschillende definitie over wat een virtual host nu is of wat jij bedoelt ;)

Webalizer en Analog gebruiken de weblogs maar die meten ook alleen maar www traffic en je wil dus alle traffic meten begrijp ik.

Er bestaat een pakket voor de Cobalt Raq machines die naast www ook ftp en email verkeer meet dus mogelijk is het wel.
http://www.raqsupport.net/trafficlight.html

Ik zal in ieder geval ook even navragen over wat jij vraagt...

cb3rob
18/07/02, 17:03
apache stored de filesize van een flink aantal transfers gewoon in de logfile...
gecached'e spullen en 304's etc uitgezonderd.
wat je kan doen is gewoon apache modificeren om een bytecounter bij te houden of alles dmv SetHandler door een externe counter parsen als dat niet voldoende is.

als je eea zo modificeerd dat alle services (pop3/www/ftp) gewoon de uid/gid van die user aannemen kan je ook met UserIPacct (die wel ff aangepast moet worden voor moderne kernels) dat we met success (in redelijk gemodificeerde vorm) enige jaren op onze shellbakken gebruikt hebben gebruiken. (dit telt de traffic per uid, en kan ook access blocken, redelijk accuraat..) iptables schijnt dit nu ook te kunnen maar wij gebruiken het niet meer omdat traffic toch geen drol meer kost nu we toch wel rond de 50mbit average zitten ;)

cb3rob
18/07/02, 17:06
voor rommel met een eigen ip kan je ook netflow of ipac gebruiken maar ipac vereist een monitor port en "vergeet" wel eens wat traffic te tellen... (maarja je kan je klanten dan ook gewoon semi-dedicated servers aansmeren.. array doosjes aan je san hangen en klaar dan betalen ze maar wat meer hoor.. ;) dan kan je ut gewoon met mrtg/snmp tellen..

xs2
18/07/02, 17:18
Voor berekenen van de bandbreedte kan je Webalizer laten draaien voor de gehele server (alle virtuele domeinen). Een totaal overzicht van al het (web) verkeer over die server toont dan het exact aantal verzonden bytes per (virtueel) domein.

Dit overzicht parsen met perl of php en je hebt het verkeer per domein.

Ook kan ik je een log-rotator aanraden om de access log op te splitsen in logs per domein. Webalizer kan dan per domein gedraaid worden om de exacte stats voor dat domein te achterhalen.

Success!

Mark
18/07/02, 17:28
xs2; met webalizer meet je vlgs mij alleen het www verkeer. Je laat apache in een logfile toch alleen dat loggen in access_log... de e-mail zit er dan nog niet bij (niet dat e-mail veel voorstelt qua dataverkeer voor de meeste gebruikers trouwens).

Wel denk ik dat je met webalizer inzicht hebt in 75% van het verkeer van je server.

ZuchtJe
18/07/02, 20:25
mwah :) op een virtuele doos met meerdere ip's is het best wel wazig om traffic te berekenen , F.I. je neemt een shell met een BitchX client en je DCC'ed er wat films doorheen , normaal gesproken zie je de traffic gedeeltelijk op het ip waarin je binnen komt maar er gaat altijd traffic over het main ip. om bijvoorbeeld wanneer je traffic genereerd door DiVx films te downloaden met BitchX ( ik vind het een vreemd iets maar toch doen mensen dit) kun je je IRC client laten connecten via aan ander ip wat ook op de server zit [ BitchX <USER> <irc-server> -H <IP van een ander> ] hierdoor wordt de traffic geteld op een ander ip.

cb3rob
19/07/02, 02:10
zuchtje? (ex? widexs zuchtje ?)
(blijkbaar:
Technical Contact:
RGF Bonnema
Phone: ++31 235698080
E-mail: Register@Bor3domSoXX.com
) (hoi btw! ;)

het is mogelijk de kernel op linux te modificeren dat een bind() zonder specifieke host 0.0.0.0 dus gewoon op het ip bind dat je die user hebt toegewezen. een boel software maakt dit ook mogelijk door het sourceip als parameter op te geven (oa BitchX) door de user zelf... verder kan je de traffic gewoon tellen omdat de kernel wel degelijk weet welke UID welke sockets owned. (dit geld NIET voor ping en traceroute daar dit suid root/raw-socket-group _raw_ sockets zijn.

mark:

webalizer is gebaseerd op apache logs en zal dus zonder verdere aanpassing van apache geen inkomend http verkeer tellen (uploads, posts, alles wat in de header staat) en 404/403's fout tellen (%B (of %b) (bytecounter) in de log parameters geven namelijk bij 404/403's redirects en reload spul (oa kleine plaatjes) ofwel size 0 ofwel gewoon foute data (403's hebben ook size 403 volgens apache...)

cb3rob
19/07/02, 02:15
maildaemons (pop3 en imap) droppen root en setuid'en naar de desbetreffende uid, problem solved zie shellverhaal hierboven

smtp (maildrop) kan door een script worden gepiped op vergelijkbare manier als centraal alles door procmail trappen op de maildrop doos dat telnt en database ding verhoogd.

wat fixes aan apache zouden prettig zijn
database driven virtualhosting enzo... en goeie logging die ALLES telt, dus ook headers en errorpages en alles dus..... uiteraard ook in een database want iedere keer die logfiles van alle servers aan elkaar plakken is ook zo'n pokkewerk...
en dan meteen de virtualhosts loggen op het userid van het account waar ze op gehost worden bij voorkeur ;)
en dat alles bijvoorkeur in de standaard distributie uiteraard ;
apache lijkt meer geschikt te zijn voor single-server hostertjes maarja... met wat geknutsel kom je een heel eind en gelukkig is het opensource...

cb3rob
19/07/02, 02:16
hmm dat domme forum denkt dat als je veel ('s en )'s en ;)'s gebruikt je "te veel plaatjes" hebt in je post... ik tel 0 plaatjes ...

Qweb
19/07/02, 09:50
Om per ip-adres bandbreedte te berekenen kun je ook dit gebruiken:
BW ACCT (http://www.linespeed.net/index.php?page=projects&project=bwacct)
Werkt vrij nauwkeurig voor zover wij dat hebben kunnen controleren (tov de mrtg stats)