Come posso vedere la width di banda che each Apache Virtual Host utilizza?

Ho installato Apache per servire diversi host virtuali e vorrei vedere quanto width di banda each sito utilizzi. Posso vedere quanto utilizza l'integer server, ma vorrei più relazioni dettagliate.

La maggior parte delle cose che ho scoperto sono per limitare la width di banda agli host virtuali, ma non voglio farlo; Voglio solo vedere quali siti utilizzano la width di banda.

  • Il proxy inverso Apache2 sembra bloccarsi intermittentemente?
  • Apache / server PHP ritardato per un minuto prima di rispondere
  • La connessione è stata reimpostata
  • Host virtuale "Proibito Non hai l'authorization ad accedere / su questo server" in debian
  • Come eseguire le intestazioni di cache HTTP
  • Utilizzare il ServerName come una variabile nel file httpd.conf
  • Questo non è per scopi di fatturazione, solo per informazioni.

    C'è un module apache che dovrei usare? Oppure c'è un altro modo per farlo?

  • File di troncamento Linux
  • Gestione URL Vanity per Apache Web Server
  • Apache raggiunge MaxClients e blocca il server
  • Come sono questi "cattivi robot" che trovano il mio server web chiuso?
  • Crea sottodominio VHost & Forward ad esso
  • La compressione di mod_jk di Tomcat in Apache httpd
  • 8 Solutions collect form web for “Come posso vedere la width di banda che each Apache Virtual Host utilizza?”

    Le informazioni che stai seguendo sono tutte nei registri, quindi dovresti esaminare un analizzatore di registro, ad esempio AWStats . L'altra opzione è quella di utilizzare Google Analytics.

    Per analizzare i registri, qui è un esempio ruvido che è ansible utilizzare per indicare quanti MB di traffico un file di registro rapporti dalla row di command:

    cat /var/log/apache/access.log | awk '{SUM+=$10}END{print SUM/1024/1024}' 

    Awstats è un modo per farlo ma probabilmente non è il migliore

    Vi suggerisco di utilizzare il meccanismo di logging apache meraviglioso e le sue less note flag di % I e % O :

    Definisci il formato:

    LogFormat "% t% a% v% U% q% I% O" IOFormat

    Usalo nel tuo httpd.conf principale:

    CustomLog /var/log/apache2/all-bw.log IOFormat

    I valori probabilmente non sono contabili di tutte le informazioni di intestazione, ma sono abbastanza precise per avere un'idea precisa del traffico di VirtualHost.

    Esegui la scansione dei registri con uno script perl per aggregarsi per host virtuale each n minuti (5 ad esempio) e invialo a cactus.

    Queste flag sono fornite da mod_logio probabilmente costruite nel tuo Apache (come per il mio Apache di Debian).

    Se decidi di utilizzare awstats con Apache, fuori dalla casella vi mostrerà la width di banda aggregata per l'integer server.

    Per vedere la width di banda su una base per host virtuale, consiglio di installare vlogger .

    Vlogger effettua effettivamente la raccolta delle informazioni di accesso di Apache per ciascuno dei tuoi host virtuali impostati per farlo in directory / file separati.

    Ad esempio se il file di registro Apache è in / var / log / apache2, l'installazione tipica di vlogger creerà qualcosa di simile per i tuoi host virtuali (ad esempio vhost1.com vhost2.com):

     /var/log/apache2/vhost1.com/access.log /var/log/apache2/vhost2.com/access.log 

    Vlogger ti offre l'opzione di ruotare questi registri per te, fornisce un modo per cambiare il model di denominazione del file di registro di accesso (ad esempio aggiungere una data) e afferma di gestire un gran numero di file di registro meglio di Apache.

    Un aspetto negativo a questo proposito è che non avrai più una visualizzazione del server aggregato (dovrai aggregare i registri separatamente o forse utilizzare un'altra impostazione apache o forse un altro metodo?).

    Vorrei preoccupare di utilizzare Google Analytics (o qualsiasi tracking basata su javascript) per il monitoraggio della width di banda del server mentre fai affidamento al client per segnalare tramite il javascript. GA non riferisce a voi persone che hanno il loro javascript distriggersto così come tutti i crawler / spiders / bot.

    Ecco alcuni regex per analizzare il formato di log proposto da Xerxes.

    \ [([0-9] +) / (\ w +) / ([0-9] {4}) [^ \]] + \] \ s (\ d {1,3}. \ D {1, 3}. \ d {1,3}. \ d {1,3}) \ s ([^ /] +) [^ \ s] + \ s (\ d +) \ s (\ d +)

    Esempio di log:

    [12 / gen / 2011: 14: 25: 04 +0000] 157.157.12.206 files.hjaltijakobsson.com / 581 669 [12 / gen / 2011: 14: 25: 04 +0000] 157.157.12.206 files.hjaltijakobsson.com / 624 747 [12 / gen / 2011: 14: 25: 04 +0000] 157.157.12.206 files.hjaltijakobsson.com /icons/blank.gif 687 186 [12 / gen / 2011: 14: 25: 04 +0000] 157.157. 12.206 files.hjaltijakobsson.com /icons/compressed.gif 693 188 [12 / gen / 2011: 14: 25: 04 +0000] 157.157.12.206 file.hjaltijakobsson.com /favicon.ico 592 512

    gli incontri:

    Subpattern 1 (giorno del mese): 12
    Subpattern 2 (mese abbr.): Jan
    Subpattern 3 (anno): 2011
    Subpattern 4 (host visitatore): 157.157.12.206
    Subpattern 5 (host virtuale): files.hjaltijakobsson.com
    Subpattern 6 (byte in arrivo): 581
    Subpattern 7 (byte in output): 669

    Saluti.

    Piccolo tweak sulla risposta accettata supponendo che ci sia effettivamente più vhost sul server (e quindi multiple site.com.access_log). Questo ordina e elenca each vhost

     for f in *.access_log ; do echo `awk '{SUM+=$10}END{print SUM/1024/1024}' $f` $f ; done | sort -rn | more 

    e per una directory di registri gzipped

     for f in *.access_log.*.gz ; do echo `zcat $f|awk '{SUM+=$10}END{print SUM/1024/1024}'` $f `stat -c%z $f`; done | sort -rn | more 

    Hmm, potresti avere male con IPTables e corrispondenza string per registrare i pacchetti per segnalazioni successive. Funzionerà solo per le connessioni non SSL però.

    O qualcosa di protocollo e session consapevole come Snort potrebbe essere scarpa cornuta in uso …

    Corretta. La filtrazione del registro è una buona idea. Voglio anche get la width di banda del mio server Apache quando i file di download.

     LogFormat "%h %l %t %u \"%r\" %>s %b/%D**" combined 

    Calcola l'output %b e %d , che vi darà la width di banda della corrente.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.