Toon posts:

[dataverkeer] Per gebruiker (van web+ftp+mail)

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo Tweakers!

Ik ben bezig met plannen voor een bedrijfje, maar daar heb ik wel nog een paar dingen voor nodig... Aangezien ik die krengen niet op het Internet kon vinden, probeer ik ze maar ff zelf te maken :)

Het volgende is het probleem: ik wil per gebruiker (hun public_html staat in de /home/[user] dir), het dataverkeer loggen van web, ftp en mail, omdat ze een bepaalde limiet krijgen :)

Hoe doe ik dit? (en dan voornamelijk met het uitpluizen van de logfiles per user, dus dat ik precies weet hoeveel dataverkeer / user er is )...

Ik heb wel al wat (gevonden in een andere topic in GoT :)):
code:
1
2
3
4
5
$log=file('/var/log/apache/trafic.log');
while (list ($val,$line) = each ($log)) { 
   list ($domein,$a,$ip,$a,$bestand,$a,$filesize,$a, $datum,$a,$procestijd)=split('[##]',$line);
   $bestand=addslashes($bestand);
}

In Aapche heb ik dit gezegd:
code:
1
2
LogFormat "%v##%a##%U##%B##%{%Y%m%d%H%M}t##%T" trafic
CustomLog /var/log/apache/trafic.log trafic

Zo logt ie dus de virtual host (ik wil eigenlijk niet met VHosts gaan werken, gewoon met www.mijndomein.nl/~[user] ), het ip-adres, page, filesize en tijd... Iemand suggesties voor nog meer opties? :D

Verwijderd

Op zaterdag 23 maart 2002 09:08 schreef CowMike het volgende:
Hallo Tweakers!

Ik ben bezig met plannen voor een bedrijfje, maar daar heb ik wel nog een paar dingen voor nodig... Aangezien ik die krengen niet op het Internet kon vinden, probeer ik ze maar ff zelf te maken :)

Het volgende is het probleem: ik wil per gebruiker (hun public_html staat in de /home/[user] dir), het dataverkeer loggen van web, ftp en mail, omdat ze een bepaalde limiet krijgen :)

Hoe doe ik dit? (en dan voornamelijk met het uitpluizen van de logfiles per user, dus dat ik precies weet hoeveel dataverkeer / user er is )...

Ik heb wel al wat (gevonden in een andere topic in GoT :)):
code:
1
2
3
4
5
$log=file('/var/log/apache/trafic.log');
while (list ($val,$line) = each ($log)) { 
   list ($domein,$a,$ip,$a,$bestand,$a,$filesize,$a, $datum,$a,$procestijd)=split('[##]',$line);
   $bestand=addslashes($bestand);
}

In Aapche heb ik dit gezegd:
code:
1
2
LogFormat "%v##%a##%U##%B##%{%Y%m%d%H%M}t##%T" trafic
CustomLog /var/log/apache/trafic.log trafic

Zo logt ie dus de virtual host (ik wil eigenlijk niet met VHosts gaan werken, gewoon met www.mijndomein.nl/~[user] ), het ip-adres, page, filesize en tijd... Iemand suggesties voor nog meer opties? :D
mihciel, heb je ook rekening geouden met disk quota's per gebruiker voor hun diskruimte limiet? en het vraag op je antwoord staat geloof ik hier ergens: http://httpd.apache.org/

Verwijderd

Topicstarter
Hmm, oh ja, maar die quota's zijn geen probleem ;) Daar hebben we nl. een handig proggie voor :D

Verwijderd

kijk is op www.freshmeat.net

verder is het niet zo moeilijk toch ? je kunt toch gewoon idd per logfile per user uitlezen en optellen, vervolgens in mysql stoppen en klaar.... tis ff werk om te maken maar kan heel goed.... je kunt overgens ook (zie freshmeat) op ip basis gaan meten icm ipchains, dat is een stuk exacter (en minder werk)

Verwijderd

Topicstarter
Ja ok, met ipchains, maar dan gebruik ik de users achter mijn server... Ik heb een server waar mensen hun site op hosten, dus zo wil ik t maken :D

Verwijderd

Op zaterdag 23 maart 2002 18:20 schreef CowMike het volgende:
Ja ok, met ipchains, maar dan gebruik ik de users achter mijn server... Ik heb een server waar mensen hun site op hosten, dus zo wil ik t maken :D
dan kan ook, je moet ze wel allemaal een eigen ip geven, maar kijk nou is op freshmeat.net, daar staat 1001 tools hiervoor met tig varianten

Verwijderd

Inderdaad je zegt het goed h\je moet ze ieder een eigen ip-adres geven. En met het huidige beleid van Ripe gaat dat niet meer zo simpel als een aantal jaren terug. of te wle is het geen oplossing.


Verdere software oplossingen ben ik persoonlijk nog niet tegen gekomen op freshmeat of andere gelerateerde websites. Dus een url zou wel leuk / handig zijn.

Verwijderd

Op maandag 25 maart 2002 13:35 schreef Rats het volgende:
Inderdaad je zegt het goed h\je moet ze ieder een eigen ip-adres geven. En met het huidige beleid van Ripe gaat dat niet meer zo simpel als een aantal jaren terug. of te wle is het geen oplossing.


Verdere software oplossingen ben ik persoonlijk nog niet tegen gekomen op freshmeat of andere gelerateerde websites. Dus een url zou wel leuk / handig zijn.
ik heb zo niet 1 2 3 een url of een proggie waarvan ik zeg, dat is wat je zoekt.... maar zo moeilijk kan het niet zijn op heel precies te gaan benaderen hoeveel dataverkeer er nou per gebruiker overgaat. je moet gewoon een tool hebben/maken die de logfiles doorspit...thats it

  • MikeN
  • Registratie: April 2001
  • Laatst online: 02-05 19:18
HTTPD stats heb je al.
FTP stats kun je volgens mij wel uit een xferlog e.d. halen.
Mail stats kun je wel uit de desbetreffende logs halen.
Dan ben je er toch? Als het echt nodig is kun je dat allemaal wel een beetje scripten. Je zou er misschien een boek over kunnen komen oid.

Verwijderd

Topicstarter
Hmm, die web-stats werken wel, maar het duurt een enorm lange tijd voordat al die logs zijn ingelezen... (ca 15 mb aan logfiles)... Zou je het niet kunnen maken dat ie het in een database zet, en dan vervolgens op dat punt waar het in de database staat, weer verder gaat ?

Een eigen IP gaat niet, aangezien ik maar 8 IP-adressen tot mijn beschikking krijg :(

Naja, dan maar aan het scripten he :)

Verwijderd

Topicstarter
Hmm, niemand die weet hoe ik dat kan fixen met die database :?

Verwijderd

je zou trouwens eens kunnen kijken naar 'AccessProbe', die app genereerd stats dynamisch, zeer uitgebreid.

<edit>
..en je ziet traffic totalen per site.
</edit>

Verwijderd

Je kunt je logs van apache ook pipen naar een script, dan hoef je niet eens per dag 150Mb te processen maar kan het on the fly.. zal wel iets meer load kweken overall..

Je kunt webalizer ook voor FTP logs in stellen, het is dus ook goed mogelijk om voor FTP een soort gelijk scripsel te bouwen.

Mail is niet te doen om dat bij te houden en FTP verkeer is ook ongebruikelijk. Beter is om gewoon een leuke prijs te berekenen voor het HTTP verkeer dat de rest ook wel compenseerd.

:)

  • FaZe
  • Registratie: Maart 2000
  • Laatst online: 02-05 08:25
Weet niet zeker hoor.. maaruh. mod_watch? Kun je het in ieder geval zien.. en mod_throttle zou je het mee moeten kunnen beperken.
Heb er nog nooit zelf mee gewerkt, maar ga ik binnekort wel doen.
Dit is trouwens ALLEEN van web dus.
suc6

  • jep
  • Registratie: November 2000
  • Laatst online: 02-05 15:27

jep

Met iptables kun je dataverkeer over een account meten, dit gaat volgens mij (kan 't niet helemaal nagaan) niet om http traffic (dat gaat niet als die user :+ ) maar bijvoorbeeld wel om FTP traffic. Zoals ik 't nu zie een tijdje, werkt het erg leuk.

Ik heb er wat scripts voor geschreven (die je een overzicht geven van alle users op het systeem oa.). Mail maar als je die wil hebben.

Mail via logfiles analyzen, dat wil je niet ;(

  • twixx
  • Registratie: April 2000
  • Niet online
Op zaterdag 30 maart 2002 01:07 schreef FaZe het volgende:
Weet niet zeker hoor.. maaruh. mod_watch? Kun je het in ieder geval zien.. en mod_throttle zou je het mee moeten kunnen beperken.
Heb er nog nooit zelf mee gewerkt, maar ga ik binnekort wel doen.
Dit is trouwens ALLEEN van web dus.
suc6
mod_trottle? Is dat niet net zoiets als mod_bandwidth? Lijkt me meer een QOS dan een stats-gen. Anyway Webalizer roelt gewoon voor 't counten van je traffic, ook easy op ftp toe te passen, maar zoals sproggle zei: gewoon http tellen en de rest in de avg prijs verrekenen.

9x Canadian Solar + Enphase IQ7+ 3,4 kWp ZZW 20º
4x Yingli + Enphase IQ7 1 kWp ZZW 25º
4x Yingli + Enphase IQ7 1 kWp ZZW 90º

Pagina: 1