O que posso usar para monitorar e registrar tráfego de entrada / saída de / para hosts remotos?

13

Eu executo um servidor web (Debian Squeeze em um VPS), e os gráficos fornecidos pela empresa de hospedagem mostram consistentemente que cerca de duas vezes mais tráfego está chegando ao servidor comparado ao tráfego de saída. Estou um pouco confuso com isso, então eu gostaria de executar algum tipo de utilitário de log na máquina que não só irá confirmar os números de upload / download, mas também dividi-los pelo host remoto envolvido, para que eu possa ver se um grande parte do tráfego de entrada é de uma fonte específica.

Suspeito que a maior parte do tráfego de saída passa pelo Apache, mas o tráfego de entrada pode ser maioritariamente através do Apache ou pode ser dominado por outros scripts e tarefas agendadas, pelo que prefiro uma ferramenta que monitorize o tráfego ao nível da interface em vez de algo dentro do Apache.

O ideal é que eu queira uma ferramenta que possa deixar em execução por alguns dias e, em seguida, voltar e obter uma saída de "bytes por host remoto" para tráfego de entrada e saída.

Isso é possível com uma ferramenta padrão do Linux e um pouco de configuração (se sim, como?) ou com um programa especializado (em caso afirmativo, qual?)

    
por Ian Renton 17.04.2012 / 23:02

4 respostas

11

ntop é provavelmente sua melhor solução para fazer isso. Ele é projetado para funcionar a longo prazo e capturar exatamente o que você está procurando.
Ele pode mostrar a você quais destinos remotos estão sendo usados mais, quanto tráfego enviado para / de quais protocolos e portas estavam sendo usados, etc. Ele pode fazer o mesmo para os hosts de origem se você executá-lo em um roteador para ver as mesmas estatísticas em clientes locais também.
Em seguida, ele usa uma GUI da web para navegar e exibir essas informações.

    
por 18.04.2012 / 14:10
9

Se você tem root, você pode usar apenas tcpdump e pegar tudo. Você pode então usar o Wireshark e analisar o conteúdo do seu coração.

$ sudo tcpdump -i <interface> -w mycapture.tcpdump  

... e depois pressione ctrl-c quando tiver o suficiente. Executar em uma sessão screen se você precisar separar, etc.

Por padrão, ele captura apenas a primeira parte de cada pacote, mas como você está mais interessado na análise de origem, isso deve ser suficiente. Toneladas de outras opções para tcpdump se você estiver se sentindo aventureiro.

EDITAR : De fato, uma vez carregado no Wireshark, você pode simplesmente usar a opção de menu Estatísticas | Endereços IP ... e obtenha um bom resumo do tráfego por contagem / taxa / porcentagem:

    
por 18.04.2012 / 04:55
4

E para métricas mais avançadas, você pode usar algo como monitorix , que possui módulos para a maioria dos serviços comuns e é apenas um simples:

apt-get install monitorix

Além disso, você tem cactos uma ferramenta RDD GUI completa, mas não em tempo real.

E no topo 1 para mim é o grafana multi-configurável. É um pouco mais difícil instalar & configure, mas é simplesmente perfeito, você pode medir tudo em detalhes e em tempo real. Ele precisa de algumas dependências JVM, grafite, sussurro, ... algum conhecimento sobre JSON, mas funciona como um encanto que eu realmente recomendo!

Talvez uma boa configuração para o seu caso seja:

collectd + graphite + whisper + grafana

Na verdade grafana mudou minha vida no escritório.

    
por 26.06.2015 / 09:49
0

claro;)

link

Além disso, se você quiser um mini-how para conectar tudo: link

    
por 04.01.2016 / 12:17