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

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

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 entra no servidor em comparação com o tráfego de saída. Estou um pouco confuso com isso, então gostaria de executar algum tipo de utilitário de registro na máquina que não apenas confirme os números de upload/download, mas também os divida pelo host remoto envolvido, para que eu possa ver se um grande proporção do tráfego de entrada provém de uma fonte específica.

Eu suspeito que a maior parte do tráfego de saída passa pelo Apache, mas o tráfego de entrada pode ser principalmente através do Apache ou pode ser dominado por outros scripts e tarefas cron, então eu preferiria uma ferramenta que monitorasse o tráfego no nível da interface, em vez de algo dentro do Apache .

Idealmente, eu gostaria de uma ferramenta que pudesse deixar em execução por alguns dias, depois voltar e obter uma saída de "bytes por host remoto" para o 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 (se sim, qual?)

Responder1

ntopé provavelmente a sua melhor solução para fazer isso. Ele foi projetado para funcionar a longo prazo e capturar exatamente o que você está procurando.
Ele pode mostrar quais destinos remotos estão sendo mais usados, quanto tráfego foi enviado de/para, 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 poder ver as mesmas estatísticas sobre clientes locais também.
Em seguida, ele usa uma GUI da web para navegar e exibir essas informações.

ntop

Responder2

Se você tiver root, você pode simplesmente usar tcpdumpe pegar tudo. Você pode então puxá-lo para cimaWiresharke analise o quanto quiser.

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

... e pressione ctrl-c quando tiver o suficiente. Execute em uma screensessão se precisar desanexar, etc.

Por padrão, ele capturará apenas a primeira parte de cada pacote, mas como você está mais interessado na análise de origem, tudo bem.Toneladas de outras opções para tcpdumpse você estiver se sentindo aventureiro.

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

insira a descrição da imagem aqui

Responder3

E para métricas mais avançadas você pode usar algo comomonitorixque possuem módulos para os serviços mais comuns e é simples:

apt-get install monitorix

Também você temcactosuma GUI RDDtool completa, mas não em tempo real.

E no top 1 para mim está o multiconfigurávelgrafana. É um pouco mais difícil de instalar e configurar, mas é simplesmente perfeito, você pode medir tudo detalhadamente e em tempo real. Precisa de algumas dependências JVM, grafite, sussurro,... algum conhecimento sobre JSON, mas funciona perfeitamente, eu realmente recomendo!

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

collectd + graphite + whisper + grafana

Na verdade a grafana mudou minha vida no escritório.

Responder4

claro ;)

https://github.com/graphite-project/whisper

Além disso, se você quiser um mini-como fazer como conectar tudo: https://linuxboss.wordpress.com/2015/12/03/graphite-grafana/

informação relacionada