Usando awk e grep para resultados iftop

1

Eu queria monitorar a taxa de envio e recebimento da rede do meu servidor usando o iftop. Isso é o que funciona para mim:

iftop -t -s 1 -n -N | grep 'Total send and receive rate: ' | awk '{print $8}'

O endereço Mac e o Ips estão incluídos no resultado, algo assim:

interface: eth0
IP address is: 192.254.78.90
MAC address is: 00:26:9e:b5:81:de
14.7Mb

Eu só preciso da última linha. Então criei um script:

iftop -t -s 1 -n -N >> result.txt
cat result.txt | grep 'Total send and receive rate: ' | awk '{print $8}'

Quando eu uso isso na linha de comando, ele funciona bem e me dá apenas a última linha que é "14.7Mb", enquanto o usa como um script .sh ainda inclui o endereço MAC e Ip.

Alguma ideia de como pode resolver? Eu acho que deveria haver uma solução melhor usando sed?

    
por Amin 17.11.2015 / 08:35

2 respostas

2

  1. O nome da interface e o endereço MAC estão sendo impressos no stderr, então eles não estão sendo canalizados para o grep. Você pode se livrar do stderr redirecionando-o para / dev / null
iftop -t -s 1 -n -N 2>/dev/null
  1. Você está usando o awk, então você não precisa do grep também.
iftop -t -s 1 -n -N 2>/dev/null | awk '/send and receive/ {print $8}'
    
por 17.11.2015 / 08:56
2

iftop ouve os últimos 40s do tráfego, se for chamado apenas uma vez, ou quando chamado sem opções, escuta o período que está ativo. A pesquisa que faz durante a execução não reflete o verdadeiro uso do servidor ao longo do tempo.

Farejar o tráfego com iftop também sobrecarrega o sistema, o que pode ser mais ou menos significativo dependendo do volume de tráfego, já que os dados de rede precisam ser alimentados e processados pela API pcap.

Embora seja uma ótima ferramenta para depurar problemas de rede e, especificamente, estar ciente de fluxos específicos de trânsito, ela não é uma ótima ferramenta para o uso a longo prazo.

Para tráfego ou largura de banda, sugiro usar o SNMP em um ambiente mais profissional, ou para uso mais simples do ifconfig.

Eu detalharia muito mais, no entanto, encontrei um post anterior que fala sobre o monitoramento do tráfego e da velocidade em mais detalhes do que eu pensava.

Como faço para processar ifconfig saída para determinar a velocidade do meu link?

Como um detalhe final, nada contra iftop se você entender

1) está medindo a velocidade instantânea toda vez que você está rodando o roteiro (a cada 5 minutos?)

2) não deve ser usado em sistemas com alta carga

    
por 17.11.2015 / 09:14