Monitorando a taxa de transferência de rede instantânea em intervalos de um segundo?

2

Para uma configuração de teste que eu tenho, eu preciso monitorar a taxa de transferência através de um "roteador" * em intervalos regulares de cerca de 5 segundos ou menos (intervalos de sub-segundo seriam muito bons, mas não necessários). Idealmente, eu seria capaz de gerar um arquivo que continha o número de bytes e pacotes vistos durante cada intervalo. Eventualmente, gerarei uma série temporal de taxa de transferência a partir desses dados.

Em uma configuração anterior usando uma versão mais antiga do FreeBSD, havia uma ferramenta chamada "bpfmon" que me dava essa informação. No entanto, eu preciso fazer isso sob uma versão moderna do Linux (ou seja, Ubuntu 11.04).

Eu olhei os dois iptraf e iftop , mas eles não parecem fornecer a resolução de que preciso, nem parecem permitir facilmente a extração dos dados de que preciso. Eu entendo estatísticas iptables pode ser capaz de me dar o que eu estou depois, mas os exemplos que vi isso parecem contar com repetidamente ler e redefinir contadores de tráfego, o que parece que poderia dar imprecisas como leitura / reset não é um operação atômica. Eu já capturei um rastreamento tcpdump do tráfego no qual estou interessado no link que quero monitorar, por isso estou aberto a abordagens que simplesmente analisam isso.

Eu sinto que isso deve ser um problema comum, então eu espero que haja uma ferramenta padrão de "melhores práticas" para realizar isso.

* Eu digo "roteador" entre aspas porque estou realmente falando de uma máquina com duas placas de rede com ponte, pelas quais passa todo o tráfego no qual estou interessado.

    
por Shaddi 25.06.2011 / 06:05

2 respostas

3

Todas as abordagens finalmente resultarão em uma operação repetida de leitura no contador. Normalmente, você não redefiniria os contadores (apenas pelo motivo mencionado - você pode perder a conta devido a uma condição de corrida), mas comparar os valores coletados com os da amostra anterior.

Mas como você já está usando o tcpdump para salvar seus dados de conexão, você pode usar algo como tcptrace em modo de gráfico para visualizar seus dados.

E se você simplesmente precisar rapidamente de alguns dados de throughput / número de pacotes, você pode simplesmente usar tcpstat 1

    
por 25.06.2011 / 14:00
0

Por que você não tenta novamente com o iptraf? Vá para o menu Configurar / Temporizadores ... / Intervalo de atualização da tela ... e insira 1 (para frequência de amostragem de 1 segundo). BTW, se as NICs estiverem conectadas, elas não serão chamadas de "roteador". Seria uma ponte ou talvez um interruptor.

    
por 25.06.2011 / 07:38