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 exibição em tempo real da Conky
Recursos
- rápido e simples de instalar e começar a funcionar
- as 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 update
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.conf
apropriada. Para listar todas as interfaces disponíveis para 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 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:
$ 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 da Conky
O Conky é um popular Monitor de sistema leve usado em muitas distribuições Linux. Você pode mostrar os totais da largura de banda do vnStat na sua tela conky da seguinte forma:
.Gif de 30 segundos da seção relevante de Conky
O código da Conky para produzir essa 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 $8" "substr ($9, 1, 1)}'} ${goto 110}${execi 10 vnstat -i enp59s0 | grep "yesterday" | awk '{print $8" "substr ($9, 1, 1)}'} ${goto 220}${execi 10 vnstat -i enp59s0 -w | grep "current week" | awk '{print $9" "substr ($10, 1, 1)}'} ${goto 315}${execi 10 vnstat -i enp59s0 -m | grep "`date +"%b '%y"`" | awk '{print $9" "substr ($10, 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 mesa, meus estreitas janelas usos Conky "G" em vez de "chaveta", "M" em vez de "MiB", etc. Se você tiver mais de tela mudança imobiliário substr ($10, 1, 1)
para $10
e fazer o mesmo para $9
.
Pode ser necessário mudar enp59s0
para eth0
, wlan0
ou eth1
etc., dependendo do nome da sua rede relatada por ifconfig
.
vnstat