como ver cada conexão usar largura de banda?

5

Eu tenho um servidor linux vps e quero ver as conexões de rede atuais e a taxa de upload / download de cada uma. Existe algum comando simples que cumpre esse propósito?

isoman
fonte
Não, não existe. Você precisaria instalar algo como um coletor de netflow como o ntop.
Paul

Respostas:

7

Existem muitas ferramentas disponíveis, embora você precise instalar um sistema de monitoramento de rede para obter informações de largura de banda por processo.

Em ordem de facilidade de instalação:

Um pacote simples que não requer muita configuração é o iftop . Isso mostrará a largura de banda por processo. captura de tela iftopProvavelmente é isso que você deseja, se quiser uma solução simples em tempo real.

  • Para obter apenas a largura de banda por interface, bwm-ngé um pequeno pacote que mostra o uso em tempo real por interface.
  • netstat listará suas conexões abertas e já deve estar presente na maioria dos sistemas
  • O ntop é uma ferramenta muito útil para o monitoramento do sistema, que também pode monitorar as conexões TCP por processo, se você instalar um módulo do kernel para suportar o monitoramento da rede.
  • Gacti , nagios , ntop e gânglios são vários outros sistemas pesados ​​que podem monitorar a rede por host / sistema / serviço / protocolo / etc, dependendo da configuração de um servidor para uma rede corporativa inteira. Veja o monitoramento do servidor mediawiki para obter um exemplo real da gangliaação.
sombrio
fonte
2

pesquisa em tempo real, uso contínuo em um intervalo de 5 segundos usando netstat nativo

netstat --interfaces = eth0 -c 5

Tabela Interface do Kernel

Iface MTU encontrou RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg

eth0 1500 0 601670041 0 0 0 290653338 0 0 0 BMRU

eth0 1500 0 601796657 0 0 0 290721761 0 0 0 BMRU

Usando o awk, você pode apenas observar um campo específico que está interessado; abaixo, você verá apenas 2 colunas RX e TX mostrarem quantos pacotes foram recebidos ou transmitidos sem erros (RX-OK / TX-OK)

netstat --interfaces = eth0 -c 5 | awk '{print $ 4 "\ t" $ 8}'

RX-OK TX-OK

605142559 292429624

605142595 292429661

Kexin Z
fonte
2

Há um pacote simples, chamado nethogs , que mostra a largura de banda usada por processos individuais e classifica a lista colocando os processos mais intensivos no topo.

insira a descrição da imagem aqui

# Ubuntu or Debian
$ sudo apt install nethogs

# Fedora or CentOS
$ sudo yum install nethogs -y
Mustapha Hadid
fonte
0

Estou usando o iptraf para isso.

Saudações,

http://catcher.hdcs.cz

Tomas Tudja
fonte