PDA

Bekijk Volledige Versie : Webcluster: stats / monitoring per vhosts



easy2host
07/12/11, 22:43
Hallo,

Ik heb een cluster draaien met twee loadbalancers (varnish) en daarachter 2 webservers (apache). Dit werkt uitstekend.

Nu draaien er verschillende vhosts op het platform. Wat is nu de beste manier om deze vhosts te monitoren. Vragen waar ik tegen aan loop zijn o.a hoe meet ik het dataverkeer per vhosts, kan ik monitoren wat een vhost aan cpu gebruikt (byte werkt bv met BPU's zie: http://www.byte.nl/wiki/BPU ). Zo ja, hoe?

Ik zou natuurlijk stats deels uit de logs kunnen halen van het cluster, maar zijn er betere oplossingen? Kan varnish hierin iets betekenen?

Stel ik zet 100 vhosts op het cluster, hoe zorg je ervoor dat 1 vhosts niet alle resources in gebruik neemt? Probleem is dat je met meerdere apache bakken te maken hebt waardoor ook het een en ander samen moet werken.

Ik heb me rot lopen zoeken op internet maar kan niks vinden over een mogelijke oplossing.

Iemand een idee / hint waar ik naar moet zoeken?

Mvg Ron

redbeenl
08/12/11, 02:00
Je kan dit denk ik op twee manieren doen. Ten eerste zou je bijvoorbeeld met suphp elke vhost onder een eigen user kunnen laten draaien en via process accounting het cpu verbruik kunnen meten. Dit kijkt echter niet naar mysql cpu gebruik. Daarnaast kan je dit ook met Cloudlinux doen: http://cloudlinux.com/docs/workingwithlve.php . Met Cloudlinux kan je niet alleen monitoren, maar het CPU gebruik ook beperken om overlast te voorkomen. Cloudlinux is wel een betaald OS.

Eflicta
08/12/11, 06:45
Hint: http://gitweb.byte.nl/gitweb/?p=libapache2-mod-accounting.git;a=summary

Dat is een van de modules die we bij Byte gebruiken. Schrijft het aantal CPU seconden gebruikt per request weg in de accesslog.

Bij ons zit er nog een algoritme achter omdat we verschillende hardware gebruiken (mix van oudere en nieuwere servers) en het CPU gebruik/belasting dus anders is.

Ook hebben we 'n dashboard gemaakt die near-realtime (2 min vertraging) inzicht geeft in de belasting per cluster; op basis van bovengenoemde module.


Voor MySQL gebruik hebben we 'n percona build gebruikt. Kijk maar naar de feature comparisation: http://www.percona.com/software/percona-server/feature-comparison/

Je zal zien, daar staan een aantal nuttige dingen tussen ;)

Toon
13/02/12, 16:27
Mooie module Eflicta, enige idee hoe deze toepasbaar is? Ik heb geprobeerd een berekening te maken met de output die de module geeft in een logfile, maar kom er helaas niet uit.

dennis0162
13/02/12, 17:22
Hint: http://gitweb.byte.nl/gitweb/?p=libapache2-mod-accounting.git;a=summary

Dat is een van de modules die we bij Byte gebruiken. Schrijft het aantal CPU seconden gebruikt per request weg in de accesslog.

Bij ons zit er nog een algoritme achter omdat we verschillende hardware gebruiken (mix van oudere en nieuwere servers) en het CPU gebruik/belasting dus anders is.

Ook hebben we 'n dashboard gemaakt die near-realtime (2 min vertraging) inzicht geeft in de belasting per cluster; op basis van bovengenoemde module.


Voor MySQL gebruik hebben we 'n percona build gebruikt. Kijk maar naar de feature comparisation: http://www.percona.com/software/percona-server/feature-comparison/

Je zal zien, daar staan een aantal nuttige dingen tussen ;)

Ziet er goed uit, v/d week is naar kijken.