Linux obtém amostra de uso de largura de banda única

1

O que eu quero fazer é escrever um script que reúna algumas informações (como temperatura da CPU e uso da largura de banda) e registre-as em um arquivo.

Não consigo descobrir como obter uma única amostra da largura de banda usada atualmente: descobri que há muitas ferramentas para obter essas informações na linha de comando, mas a maioria delas é baseada em xingamentos, então posso pegue sua saída para colocá-lo em um arquivo. Entre estes eu achei bmon, que tem uma boa saída ascii. O problema é que essa saída é atualizada constantemente, enquanto o que eu quero é uma única "amostra" por chamada de programa.

Existe uma maneira de fazer isso com alguém ou alguém conhece outro programa para realizar essa tarefa?

    
por Matteo Ceccarello 27.08.2011 / 15:00

3 respostas

1

Sorte para você sysstat já existe e já faz o que você está tentando fazer.

1. Instale o pacote sysstat da sua distro e adicione o seguinte a /etc/crontab :

*/5 * * * * root /usr/lib/sysstat/sa1 &
5 19 * * * root /usr/lib/sysstat/sa2 -A &

2. Esperar 10 minutos. Use esse tempo para ler a página sar man.

3. Aproveite o uso de sar .

    
por 27.08.2011 / 22:21
0

O ifconfig dirá quanto tráfego uma única interface manipulou, por exemplo

tony@eightbit:~$ ifconfig eth0
eth0      Link encap:Ethernet  HWaddr de:ad:be:ef:00:00  
          inet addr:192.168.0.11  Bcast:192.168.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:24776 errors:0 dropped:0 overruns:0 frame:0
          TX packets:22892 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:19629330 (19.6 MB)  TX bytes:3968336 (3.9 MB)
          Interrupt:23 Base address:0xc000 

Além disso, dê uma olhada em netstat -s .

    
por 27.08.2011 / 15:46
0

Por completo desespero pela falta de uma ferramenta tão simples, há algum tempo escrevi bwm , um monitor de largura de banda simples .

Eu uso como um daemon em segundo plano que constantemente grava em um arquivo a largura de banda atual usada em uma direção (upload / download) em uma interface específica.

./bwm --interface wlan0 --upload > /tmp/bandwidth-upload

Sempre que eu precisar do uso atual da largura de banda de upload, eu apenas pinto o arquivo:

cat /tmp/bandwidth-upload

Isso funciona particularmente bem para monitorar scripts ou scripts de barra de status (para dwm, wmii, etc.)

    
por 27.08.2011 / 20:33