vnStat - Monitor de rede baseado em console leve
vnStat é um monitor de tráfego de rede baseado em console para Linux e BSD que mantém um log de tráfego de rede para a (s) interface (s) selecionada (s). Ele usa as estatísticas da interface de rede fornecidas pelo kernel como fonte de informações. Isso significa que o vnStat não estará realmente farejando tráfego e também garantirá o uso leve dos recursos do sistema.
Neste tutorial, analisaremos:
- Recursos
- Instalação
- Configuração
- Iniciar o serviço do Systemd
- Uso (da linha de comando)
- Exemplo de exibição em tempo real do Conky
Recursos
- rápido e simples de instalar e executar
- estatísticas coletadas persistem por meio da reinicialização do sistema
- pode monitorar várias interfaces ao mesmo tempo
- várias opções de saída
- resumo, por hora, diariamente, mensalmente, semanalmente, nos primeiros 10 dias
- saída de imagem png opcional (usando libgd)
- meses podem ser configurados para seguir o período de faturamento
- uso leve e mínimo de recursos
- o mesmo uso de cpu baixo, independentemente do tráfego
- pode ser usado sem permissões de root
- editor de configuração de cores on-line
Instalação
nvStat está nos repositórios oficiais, então não há necessidade de link para um novo ppa. Para instalar, crie uma instância do Terminal usando Ctrl + Alt + T e digite no prompt:
sudo apt-get update
sudo apt-get install vnstat
Após a instalação, mantenha seu Terminal aberto para as seções a seguir. Não há necessidade de reiniciar.
Configuração
Escolha uma interface de rede preferida e edite a variável Interface no /etc/vnstat.conf
de acordo. Para a lista de todas as interfaces disponíveis para o vnstat, use:
$ vnstat --iflist
Available interfaces: wlp60s0 lo enp59s0 (1000 Mbit)
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 enp59s0
Iniciar o serviço do Systemd
Depois de introduzir 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 um uso permanente:
sudo systemctl enable vnstat.service
A partir de agora, vnstat
estará reunindo o uso da rede em segundo plano usando uma porcentagem tão pequena da CPU que não aparece na lista dos 9 processos (na minha máquina) da conky (monitor do sistema).
Uso (da linha de comando)
Consultar o tráfego de rede:
vnstat -q
Como visualizar o uso do tráfego de rede ao vivo:
vnstat -l
Para encontrar mais opções, use:
vnstat --help
Totais mensais
Para ver os totais mensais, use:
$ vnstat -m
enp59s0 / monthly
month rx | tx | total | avg. rate
------------------------+-------------+-------------+---------------
Oct '17 2.02 GiB | 1.57 GiB | 3.59 GiB | 11.25 kbit/s
Nov '17 58.28 GiB | 24.58 GiB | 82.86 GiB | 268.17 kbit/s
Dec '17 143.23 GiB | 13.64 GiB | 156.87 GiB | 491.31 kbit/s
Jan '18 102.77 GiB | 30.21 GiB | 132.97 GiB | 1.04 Mbit/s
------------------------+-------------+-------------+---------------
estimated 257.06 GiB | 75.56 GiB | 332.62 GiB |
Exemplo de exibição em tempo real de Conky
Conky é um popular System Monitor leve usado em várias distribuições Linux. Você pode mostrar os totais de largura de banda do vnStat em sua tela conky assim:
30 segundos .gif da seção relevante de Conky
O código de Conky para produzir esta exibição é:
${color orange}${voffset 2}${hr 1}
${color}Memory:${goto 148}${color green}$mem / $memmax $alignr${color green}${memperc /}%
${color}Linux:${goto 148}${color green}${fs_used /} / ${fs_size /} $alignr${color green}${fs_used_perc /}%
${color}NVMe Win 10:${goto 148}${if_mounted /mnt/c}${color green} ${fs_used /mnt/c} / ${fs_size /mnt/c} $alignr${color green}${fs_used_perc /mnt/c}%${else}${color yellow}/mnt/c${endif}
${color}${if_mounted /mnt/d}HGST_Win10:${goto 148}${color green} ${fs_used /mnt/d} / ${fs_size /mnt/d} $alignr${color green}${fs_used_perc /mnt/d}%${else}Cache RAM:${goto 148}${color green}${cached} ${color} Buffers: ${color green} ${buffers}${endif}
${color}${if_mounted /mnt/e}WSL+Linux:${goto 148}${color green}${fs_used /mnt/e} / ${fs_size /mnt/e} $alignr${color green}${fs_used_perc /mnt/e}%${else}Swap:${goto 148}${color green}${swap} / ${swapmax} $alignr${color green}${swapperc}%${endif}
${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 10 vnstat -i enp59s0 | grep "today" | awk '{print " "substr (, 1, 1)}'} ${goto 110}${execi 10 vnstat -i enp59s0 | grep "yesterday" | awk '{print " "substr (, 1, 1)}'} ${goto 220}${execi 10 vnstat -i enp59s0 -w | grep "current week" | awk '{print " "substr (, 1, 1)}'} ${goto 315}${execi 10 vnstat -i enp59s0 -m | grep "'date +"%b '%y"'" | awk '{print " "substr (, 1, 1)}'}
${color}Down: ${color green}${downspeed enp59s0}/s ${color}${goto 220}Up: ${color green}${upspeed enp59s0}/s
${downspeedgraph enp59s0 25,190 000000 ff0000} ${alignr}${upspeedgraph enp59s0 25,190 000000 00ff00}$color
Total: ${color green}${totaldown enp59s0} $color${alignr}Total: ${color green}${totalup enp59s0}
${color orange}${voffset 2}${hr 1}
${color}${goto 5}Dawn: ${color green}${execpi 300 cat /usr/local/bin/sunrise} ${goto 155}${color}Dusk: ${color green}${execpi 300 cat /usr/local/bin/sunset} ${alignr}${color}Level: ${color green}${execpi 10 cat /sys/class/backlight/intel_backlight/brightness}
${color orange}${voffset 2}${hr 1}
Para economizar espaço na área de trabalho, minha janela estreita do Conky usa "G" em vez de "GiB", "M" em vez de "MiB" etc. Se você tiver mais alterações na propriedade real da tela substr (, 1, 1)
to
e o mesmo para
.
Você pode ter que alterar enp59s0
para eth0
, wlan0
ou eth1
, etc. dependendo do nome da sua rede relatado por ifconfig
.