Como obter o uso atual da largura de banda na linha de comando usando ferramentas integradas do Linux?

Como obter o uso atual da largura de banda na linha de comando usando ferramentas integradas do Linux?

Estou procurando uma boa maneira de obter o uso total atual da largura de banda em uma máquina Linux. Eu tentei iftop, nethogsmas eles não mostram o uso real da largura de banda em comparação com o monitor do sistema; eles não atendem às necessidades do meu projeto. Quero um comando que eu execute e retorne o uso atual para upload e download e nada mais.

Gostaria também de fazer isso com ferramentas nativas do Linux sem instalar nada. Na verdade estou fazendo um aplicativo de monitoramento, e quero que ele consiga monitorar computadores sem a necessidade de instalar algo em cada computador que o usuário deseja monitorar, seria ótimo!

Responder1

Usar iptraf-http://www.linuxcommand.org/man_pages/iptraf8.html

É um utilitário de linha de comando baseado em ncurses que é capaz de fornecer estatísticas sobre todas as interfaces da máquina - incluindo o uso de largura de banda.

Responder2

Existem muitas ferramentas que você pode usar: , nload, bmon, iftop, vnstat... ifstate se quiser obter apenas uma parte específica da saída (por exemplo, upload e download), tenho certeza que você pode grep// a saída para fazer com que funcione para você.cutawk

18 comandos para monitorar a largura de banda da rede no servidor Linux

Responder3

sysstat também coleta estatísticas de rede. Se você fizer um "man sar", verá todos os recursos para os quais pode manter dados históricos.

Configure-o colocando no cron o comando "/usr/lib/sa/sa1" (ou /usr/lib64/sa/sa1) e execute-o sempre que desejar um ponto de dados (por exemplo, a cada 5 minutos)

Então você pode usar “sar” para visualizar seus dados. O padrão é hoje. Você também pode visualizar dados históricos de até 30 dias. Você também pode arquivar seus dados para mantê-los para sempre (os dados de cada dia têm cerca de 8 MB).

Para rede, você usaria “sar -n”

Ferramenta maravilhosa :)

Um exemplo:

 testlinux:~ # sar -n DEV | head -10
 Linux 2.6.16.60-0.21-default (pCITFileSvr01)    11/07/10

 00:00:01        IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
 00:05:01           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
 00:05:01         eth0      9.95      0.12      1.42      0.02      0.00      0.00      0.00
 00:10:01           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
 00:10:01         eth0     10.20      0.04      1.44      0.00      0.00      0.00      0.00
 00:15:01           lo      0.00      0.00      0.00      0.00      0.00       0.00      0.00
 00:15:01         eth0     10.32      0.12      1.50      0.02      0.00      0.00      0.00
 00:20:01           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
 testlinux:~ #

Responder4

Tudo bem, depois de pesquisar um pouco, descobriessesolução em resumo, ela usa netstatpara resumir o uso da rede. Aqui está meu comando modificado

netstat -e -n -i | grep wlan0  -A 5 | grep 'RX packets' |  tail -1

Exemplo de saída: -

RX packets 76639  bytes 73706194 (70.2 MiB)

Altere wlan0o nome da interface da sua placa, você pode filtrar mais saída desse comando, por exemplo

netstat -e -n -i | grep wlan0  -A 5 | grep 'RX packets' |  tail -1 | awk '{print $6$7}'

informação relacionada