Eu tenho o Apache configurado para atender a vários hosts virtuais e gostaria de ver quanta largura de banda cada site usa. Posso ver quanto o servidor inteiro usa, mas gostaria de relatórios mais detalhados.
A maioria das coisas que eu descobri existem para limitar a largura de banda aos hosts virtuais, mas não quero fazer isso; Eu só quero ver quais sites estão usando quanta largura de banda.
Isso não é para fins de cobrança, apenas para informações.
Existe um módulo apache que devo usar? Ou existe alguma outra maneira de fazer isso?
fonte
O Awstats é uma maneira de fazer isso, mas provavelmente não é o melhor
fonte
Sugiro que você use o maravilhoso mecanismo de log do apache e seus sinalizadores % I e % O menos conhecidos :
Defina o formato:
Use-o no seu httpd.conf principal :
Os valores provavelmente não estão contabilizando todas as informações dos cabeçalhos, mas são bastante precisos para ter uma idéia precisa do tráfego do VirtualHost.
Examine os logs com um script perl para agregar por host virtual a cada n minutos (5 por exemplo) e envie para os cactos.
Essas sinalizações são fornecidas pelo mod_logio, que provavelmente está embutido no seu Apache (como no Apache do meu Debian).
fonte
Se você decidir usar o awstats com o Apache, pronto para uso, ele mostrará uma largura de banda agregada para todo o servidor.
Para ver a largura de banda por host virtual, recomendo instalar o vlogger .
O Vlogger realmente coletará informações de log de acesso do Apache para cada um dos seus hosts virtuais configurados em diretórios / arquivos separados.
Por exemplo, se o seu arquivo de log do Apache estiver em / var / log / apache2, a instalação típica do vlogger criará algo assim para seus hosts virtuais (por exemplo, vhost1.com vhost2.com):
O Vlogger oferece a opção de girar esses logs para você, fornece uma maneira de alterar o modelo de nomeação do arquivo de log de acesso (por exemplo, adicionar uma data) e afirma que ele lida com um grande número de arquivos de log melhor que o Apache.
Um lado negativo disso é que você não terá mais uma exibição agregada do servidor (será necessário agregar logs separadamente ou talvez usar uma configuração adicional do apache ou talvez algum outro método?).
Eu recomendaria não usar o google analytics (ou qualquer rastreamento baseado em javascript) para o monitoramento da largura de banda do servidor, pois você conta com o cliente para relatar via javascript. O GA não informa a você pessoas que têm o javascript desativado, bem como quaisquer rastreadores / spiders / bots.
fonte
Aqui estão algumas expressões regulares para analisar o formato de log proposto por 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 +)
Exemplo de log:
[12 / Jan / 2011: 14: 25: 04 +0000] 157.157.12.206 files.hjaltijakobsson.com / 581 669 [12 / Jan / 2011: 14: 25: 04 +0000] 157.157.12.206 files.hjaltijakobsson.com / 624 747 [12 / Jan / 2011: 14: 25: 04 +0000] 157.157.12.206 files.hjaltijakobsson.com /icons/blank.gif 687 186 [12 / Jan / 2011: 14: 25: 04 +0000] 157.157. 12.206 files.hjaltijakobsson.com /icons/compressed.gif 693 188 [Jan / 2011: 14: 25: 04 +0000] 157.157.12.206 files.hjaltijakobsson.com /favicon.ico 592 512
Fósforos:
Subparte 1 (dia do mês): 12
Subparte 2 (abr. Mês): Jan
Subparte 3 (ano): 2011
Subparte 4 (host do visitante): 157.157.12.206
Subparte 5 (host virtual): files.hjaltijakobsson.com
Subparte 6 ( bytes de entrada): 581
Subpadrão 7 (bytes de saída): 669
Felicidades.
fonte
Pequenos ajustes na resposta aceita, assumindo que existem vários vhosts no servidor (e, portanto, vários site.com.access_log 's). Isso irá classificar e listar cada vhost
e para um diretório de logs compactados em gzip
fonte
Hmm, você pode ficar mal com o IPTables e a correspondência de cadeias para registrar os pacotes para relatórios posteriores. Porém, só funcionará para conexões não SSL.
Ou algo como protocolo e sessão ciente de que o Snort poderia ser usado com muito cuidado ...
fonte
Corrigir. Filtrar o log é uma boa ideia. Também quero obter a largura de banda do meu servidor Apache ao baixar arquivos.
Calcula a saída
%b
e%d
, que fornecerá a largura de banda da corrente.fonte