PDA

Bekijk Volledige Versie : Virtuozzo - geautomatiseerd traffic uitlezen



TotallyHosted
23/12/08, 14:45
Sinds enige tijd zijn wij, naar volle tevredenheid, aan het experimenteren met Virtuozzo onder Linux. Binnen enige tijd willen we VPS-huur onder Virtuozzo als dienst gaan aanbieden.

Onder Plesk kunnen wij op eenvoudige wijze via het uitlezen van de MySQL-database achterhalen hoeveel traffic iedere klant heeft gegenereerd. Onder Virtuozzo wordt dit natuurlijk heel anders; mits de klant Plesk draait lukt het ons nog steeds wel, maar draaien ze geen Plesk dan wordt het een ander verhaal.

Nu heeft Virtuozzo een SOAP- en een XML-API. Het inloggen op de API via een perl-bestand lukt me prima, maar daar houdt het helaas op wat betreft onze XML/SOAP-kunsten. Ook op andere manieren lukt het ons niet goed om uit Virtuozzo een overzichtje van verstookte GB'tjes te krijgen.

Vanuit de hoofdnode is het op te vragen:
/usr/sbin/vzstat -o id,txt,ip -t -b
Echter als de node herstart is, is dit ook gereset.

Grafiekjes en tellingen e.d. zitten natuurlijk in Virtuozzo, maar het gaat ons er om om het geautomatiseerd uit te lezen. Liefst in PHP, desnoods in Perl.

Iemand die hier meer ervaring mee heeft, en tips (of wellicht een kant-en-klaar stukje code) heeft? Een vergoeding is natuurlijk bespreekbaar.

Kreft
23/12/08, 16:16
Ik had hetzelfde probleem beetje met Xen. Ook in Xen kan je dus mooi de trafiek aflezen, dit via xen top commando of rechtstreeks via de virtuele netwerkinterface. Maar zelfde principe, bij reboot wordt dit gereset.

Ik heb dit behoorlijk simpel opgelost. Ik doe elke 15 minuten een read naar de virtuele netwerkinterfaces en haal de huidige stand op in bytes. Op dit moment houd ik de trafiek bij per dag, al plan ik dit later ook per uur te gaan doen.

Dan moeten 2 gevallen onderscheiden worden, namelijk enerzijds de VPS is niet gereboot en dus moeten we het verschil berekenen tussen de huidige meting en de vorige. Dat geeft ons de hoeveelheid die er is bijgekomen.

Anderzijds, de VPS is tussen de 2 metingen gereboot en dus moet de volledige hoeveelheid van de meting toegevoegd worden. Het bepalen van reboot kan in eerste instantie door te checken of de huidige gelezen waarde kleiner is dan de vorige, aangezien het cumulatief is verraadt dit dus de reboot. Anderzijds kan dit in Xen ook perfect achterhaald worden aan de hand van het Xen ID, geen idee echter hoe dit in Virtuozzo zit..

Finaal heb je dus een database tabel die per dag de verbruikte trafiek per VPS bevat. Bedenking hierbij is wel dat mijn tijdsperiode van 15 minuten in principe wat lang is, in principe kan je 14 minuten vollenbak trafiek erdoor sluizen en dan rebooten en de meting zal daar niks van gemerkt hebben aangezien die enkel de cijfers ziet van na de reboot.

Nuja ik gebruikt dit in een particulieren omgeving, helemaal niet commercieel en het was voor mij gewoon belangrijk dat ik een goed idee had van het verbruik. Heb er dan een webinterface bijgemaakt met grafiekjes en kon het me niet beter wensen, behalve dan misschien het opslaan per uur ipv per dag, al is dit maar een kleine wijziging. En verder is ook het opdrijven van de meetfrequentie geen probleem, is gewoon uitvoer van PHP (cli) scriptje dat telkens met at gepland wordt 15 minuten later.

t.bloo
23/12/08, 16:38
Gewoon vaker uitlezen en in je eigen database schrijven. Als je het vaak genoeg doet, dan maakt het ook niet uit dat er een restart is geweest. Zo vaak gebeurt dat nou ook weer niet neem ik aan.

We hebben zelf ergens een cli php scriptje voor dat een meting doet en dan met sleep een minuut onder zeil gaat. Dit heeft als (klein) voordeel dat je het herstarten niet tegenkomt in je logfiles.

TotallyHosted
24/12/08, 11:14
Bedankt voor het meedenken/raadgeven, ik denk dat ik er inderdaad maar aan moet gaan geloven om dat zo op te lossen.


Finaal heb je dus een database tabel die per dag de verbruikte trafiek per VPS bevat. Bedenking hierbij is wel dat mijn tijdsperiode van 15 minuten in principe wat lang is, in principe kan je 14 minuten vollenbak trafiek erdoor sluizen en dan rebooten en de meting zal daar niks van gemerkt hebben aangezien die enkel de cijfers ziet van na de reboot.
Ik denk niet dat ik klanten heb die dat snel zullen doen ;)

Het stomme is eigenlijk wel dat het in Virtuozzo helemaal ingebouwd is met grafiekjes e.d., maar dat je daar verder niets mee kunt (behalve opvragen).

Bedankt in elk geval!