Como você pode monitorar o uso total de dados da Internet durante as reinicializações?


55

Alguns provedores de banda larga impõem um limite mensal de download, cobrando um valor extra se você exceder os limites. Também é muito fácil exceder alguns dos limites mais baixos apenas instalando / atualizando pacotes e navegando 'normal' (o que para mim inclui streaming de programas de TV e filmes).

Isso significa que você precisa limitar a quantidade de uso da Internet, mas é difícil saber quando.

O System Monitor ajuda um pouco com isso, fornecendo um total recebido / total enviado na seção de rede da guia Recursos. No entanto, isso é redefinido a cada reinicialização. Seria bom que houvesse uma maneira de receber um total mensal para que você saiba o quão perto está de exceder seu limite e talvez receba avisos se parecer que você excederá os limites.

Alguém sabe de uma maneira de conseguir isso?


Respostas:


38

Você pode conferir vnstat . É baseado em linha de comando e está disponível no repositório.

Você pode começar com sudo vnstat -u -i [interface]

Para ver as estatísticas sudo vnstat -i [interface]


27

vnStat - Monitor de rede leve baseado em console

O vnStat é um monitor de tráfego de rede baseado em console para Linux e BSD que mantém um registro do tráfego de rede para as interfaces selecionadas. Ele usa as estatísticas da interface de rede fornecidas pelo kernel como fonte de informação. Isso significa que o vnStat não estará realmente captando tráfego e também garante o uso leve dos recursos do sistema.

Neste tutorial, revisaremos:

  • Recursos
  • Instalação
  • Configuração
  • Iniciar serviço Systemd
  • Uso (da linha de comando)
  • Exemplo de Conky

Recursos

  • rápido e simples de instalar e começar a funcionar
  • estatísticas coletadas persistem por meio de reinicializações do sistema
  • pode monitorar várias interfaces ao mesmo tempo
  • várias opções de saída
  • resumo, a cada hora, diariamente, mensalmente, semanalmente, os 10 principais dias
  • saída opcional de imagem png (usando libgd)
  • meses podem ser configurados para seguir o período de cobrança
  • uso leve e mínimo de recursos
  • mesmo uso baixo da CPU, independentemente do tráfego
  • pode ser usado sem permissões de root
  • editor de configuração de cores online

Instalação

O nvStat está nos repositórios oficiais, portanto, não é necessário vincular a um novo ppa. Para instalar, crie uma instância do Terminal usando Ctrl+ Alt+ Te digite no prompt:

sudo apt-get install vnstat

Após a instalação, mantenha seu terminal aberto para as seguintes seções. Não há necessidade de reiniciar.

Configuração

Escolha uma interface de rede preferida e edite a variável Interface da maneira /etc/vnstat.confapropriada. Para listar todas as interfaces disponíveis para vnstat, use:

vnstat --iflist

Para começar a monitorar uma interface específica, você deve inicializar um banco de dados primeiro. Cada interface precisa de seu próprio banco de dados. O comando para inicializar um para a interface eth0 é:

sudo vnstat -u -i eth0 

Iniciar serviço Systemd

Depois de apresentar a (s) interface (s) e verificar o arquivo de configuração. Você pode iniciar o processo de monitoramento via systemd:

sudo systemctl start vnstat.service

Para tornar esse serviço uso permanente:

sudo systemctl enable vnstat.service

A partir de agora vnstat, reuniremos o uso da rede em segundo plano, usando uma porcentagem tão pequena de CPU que ela não aparecerá na lista dos 9 principais processos da conky (monitor do sistema) (na minha máquina).

Uso (da linha de comando)

Consultar o tráfego de rede:

vnstat -q

Visualizando o uso do tráfego de rede ao vivo:

vnstat -l

Para encontrar mais opções, use:

vnstat --help

Totais mensais

Para ver totais mensais, use:

rick@dell:~$ vnstat -m

 eth0  /  monthly

       month        rx      |     tx      |    total    |   avg. rate
    ------------------------+-------------+-------------+---------------
      Nov '16     76.31 MiB |    2.03 MiB |   78.35 MiB |   10.45 kbit/s
    ------------------------+-------------+-------------+---------------
    estimated      3.13 GiB |      84 MiB |    3.21 GiB |

Exemplo de Conky

O Conky é um popular Monitor de sistema leve usado em muitas distribuições Linux. Você pode totalizar a largura de banda do vnStat na sua tela conky desta forma:

insira a descrição da imagem aqui

Observe quando a foto foi tirada no Yesterdaydomingo, o que explica por que o total semanal é menor.

O código conky para conseguir isso é:

${color orange}${voffset 2}${hr 1}
${color1}Network using vnStat "-i", "-w" and "-m"
${color}${goto 5}Today ${goto 100}Yesterday ${goto 225}Week ${goto 325}Month ${color green}
${execi 300 vnstat -i eth0 | grep "today" | awk '{print $8" "substr ($9, 1, 1)}'} ${goto 110}${execi 300 vnstat -i eth0 | grep "yesterday" | awk '{print $8" "substr ($9, 1, 1)}'} ${goto 220}${execi 300 vnstat -i eth0 -w | grep "current week" | awk '{print $9" "substr ($10, 1, 1)}'} ${goto 315}${execi 300 vnstat -i eth0 -m | grep "`date +"%b '%y"`" | awk '{print $9" "substr ($10, 1, 1)}'}
${color orange}${voffset 2}${hr 1}

Para economizar espaço na minha janela estreita que eu usei "G" em vez de "GiB", "M" em vez de "MiB", etc. Se você tiver mais mudanças realestate tela substr ($10, 1, 1)para $10eo mesmo para $9.

Pode ser necessário mudar eth0para wlan0ou eth1etc., dependendo do nome da sua rede relatada por ifconfig.


É possível "filtrar" o tráfego da rede local? Eu tenho muito tráfego local e não quero contá-lo para o meu uso da Internet.
JPelletier 08/04

@JPelletier O autor do vnStat é citado dizendo que não é possível. Ele citou neste tópico onde cerca de 20 pessoas estavam levantando US $ 280 para pagar alguém para fazer exatamente o que você está pedindo: forum.netgate.com/topic/29677/… Doug Smythies é especialista em monitorar o tráfego por endereço IP e eu vou peça para ele olhar para o seu comentário.
WinEunuuchs2Unix 08/04

Obrigado pela resposta! Atualmente estou usando iftoppara diagnosticar o uso da Internet ao vivo, mas ter informações históricas seria bom
JPelletier

@JPelletier: meu roteador é um servidor Ubuntu executando um script iptables para a função de roteamento / firewall. Somente o tráfego WAN pode ser monitorado através da interface WAN. Para um computador Ubuntu dentro de uma LAN, pode-se capturar tudo com o tcpdump e filtrar a LAN e transmitir pacotes como uma maneira de extrair pacotes WAN para / desse computador. Veja também aqui
Doug Smythies

@DougSmythies Obrigado por comentar! Gostaria de saber se é possível criar duas interfaces: eth0 e eth1 vinculado à mesma placa de rede? Então todo o tráfego local foi roteado através do eth1 e todo o resto foi roteado através do eth0, no qual coletariam vnstatestatísticas? Desculpe se isso soa como uma pergunta idiota ...
WinEunuuchs2Unix 09/04

6

Embora não seja uma resposta "ubuntu", eu uso o firmware Tomato no meu roteador WRT54G para isso. Isso me dá um uso mensal de up / down nos últimos dois anos, e o interessante (no contexto de sua pergunta) é que é para toda a rede, não apenas para o sistema em que está sendo executado (embora esse ponto seja discutível) se o sistema em questão for o seu roteador ou conectado diretamente).


3
Tomates deliciosos. Ótimo em sanduíches, ainda melhor em roteadores.
Ryan Thompson

6

Apenas para expandir rickys anwer:

Com ifconfig | cut -c 1-8 | sort | uniq -uvocê pode listar as interfaces:

enp0s31f
lo      
wlp3s0

Para uma interface, você pode visualizar o tráfego assim:

vnstati -vs -i wlp3s0 -o ~/summary.png

dá um bom resumo:

insira a descrição da imagem aqui

  • rx é o tráfego recebido
  • tx é o tráfego transferido

Apenas certifique-se de ter o vnstati instalado além do vnstat. sudo apt install vnstat vnstati
Organic Addict

3

Eu recomendo o utilitário ntop, disponível nos repositórios, que é executado como um serviço e mantém registros de uso do tráfego. Os relatórios estão disponíveis em um servidor http interno (porta 3000). Você pode verificá-los facilmente usando um navegador,http://localhost:300/

Verifique o que você pode obter do ntop no site do ntop .


O ntop não controla o uso entre as reinicializações, não é?
Erigami 6/08/10

De acordo com a documentação possível usando o plugin rrd, eu não testei a mim mesmo.
João Pinto

Como você usa o rrd plugin então?
Anwar

2

Além de qualquer solução de software, sugiro consultar o seu provedor. Muitos deles possuem ferramentas de monitoramento que enviam um aviso quando você atinge um determinado limite ou bloqueia seu acesso temporariamente. Isso tem a vantagem de obter um número "oficial".


Alguns anos antes da festa, o que você deixa de reconhecer é que o ISP não se preocupa se você repassar, na verdade é assim que eles ganham dinheiro, então suas ferramentas provavelmente não levarão em conta muitos fatores como. Meu provedor de serviços de Internet concede 40 GB de subsídio por uma taxa de 20 libras, mas cobra 20 libras por Gigabyte que você ultrapassou, pelo que já superei minha provisão uma vez antes e lembro que o Natal foi arruinado, mas fez o ISP feliz em me cobrar uma enorme quantia em dinheiro. Eu disse que minha internet estava desligada, eles a acalmaram. Mais tarde eu encontrei alguém ligando diretamente para o MUX off contas aleatórias, explicou um monte
Mark Giblin

0

Eu achei o " download monitor " como uma ferramenta muito boa e fácil de usar para mostrar estatísticas de dados. Possui interface GUI, o que facilita muito o uso. Está disponível no Ubuntu Software Center.

Download do monitor

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.