Como associo o tráfego do servidor a um domínio hospedado nesse servidor?

2

Eu tenho três ou quatro servidores Linux, cada um dos quais hospeda de 5 a 50 domínios. Cada domínio tem sua própria pasta:

/ www / projectname / web /

Registros entram:

/ www / projectname / log

No entanto, se houver um pico de tráfego (ou, como eu vejo no meu final, um pico de uso de memória), não sei como descobrir qual domínio é responsável pelo tráfego sem executar tail -f em cada dos projetos e fazendo um palpite com base em quão rápido as coisas rolam.

Tem que haver uma maneira melhor! Provavelmente existe, mas eu não vi. E a última vez que verifiquei, os monitores de largura de banda só relatam carga em todo o sistema.

Então, se alguém souber como fazer isso da maneira certa, por favor me avise.

Obrigado!

EDIT: Meu objetivo é algo que dá feedback instantâneo. Eu sei que posso configurar o Apache para log bytes enviados e recebidos, mas não necessariamente ajuda se o meu servidor está sendo martelado e eu estou tentando descobrir qual o domínio todo o tráfego é de.

    
por user4318 29.04.2010 / 23:45

4 respostas

1

Você também pode ativar a página de status do Apache e restringi-la ao seu IP, em seguida, procurar tendências nas páginas que estão sendo solicitadas.

Exemplo de saída: link

Configuração:

<Location /server-status>
    SetHandler server-status
    Order Deny,Allow
    Deny from all
    Allow from <your IP>
</Location> 
    
por 20.10.2010 / 02:34
0

Você pode usar o apachetop:

apachetop -f /www/projectname/log/access_log 

Ele fornece estatísticas sobre o BW dentro e fora do log especificado.

    
por 30.04.2010 / 00:27
0

Dê uma olhada no plugin mod_cband. Você pode, então, fornecer níveis de tráfego em tempo real para cada um dos seus domínios virtuais, se adicionar o plug-in ao arquivo de configuração de cada domínio. Basta usar o mesmo placar para cada domínio. A página de status / cband fornecerá estatísticas sobre os níveis de tráfego atuais de cada domínio.

    
por 17.11.2010 / 04:54
-1

Quando você é hospedagem virtual (vários domínios em um endereço IP), só é possível medir o tráfego analisando os arquivos de log do Apache. Somente o apache sabe para qual host uma solicitação foi feita, porque é assim que o host virtual funciona.

Nesse caso, você pode adicionar uma linha CustomLog diferente para cada host virtual, como:

CustomLog $ {APACHE_LOG_DIR} /host.domain.net.log combinado

Você pode usar software de processamento de registro como 'webalizer' para processar o registro, somando os bytes para cada resposta e chegar a uma aproximação do tráfego para esse domínio.

É uma aproximação, porque não inclui os bytes na parte solicitação da comunicação e não inclui a sobrecarga.

Se você está apenas tentando ver qual site está sofrendo, no entanto, talvez seja melhor ativar o acesso à página / status do servidor, que mostrará de onde vem toda a atividade atual / recente.

Se você realmente quiser a contagem exata de bytes, a única possibilidade é usar hospedagem virtual baseada em IP e usar o software para contar os bytes reais de tráfego para cada endereço IP. Nessas situações, o melhor software que encontrei é o pmacctd 'Promiscuous Mode Accounting Daemon', que faz um ótimo trabalho de contabilidade de tráfego por IP.

Atenciosamente, Andrew McMillan.

    
por 09.11.2010 / 12:41