Recentemente, baixei vnstat
para monitorar meu uso da largura de banda da Internet. Eu tenho um plano de dados limitado, mas meu ISP fornece largura de banda não medida durante o horário de pico (2:00 às 8:00). Portanto, eu gostaria que o vnstat relate o uso de dados categorizando o uso dentro e fora do pico separadamente.
Passei, man vnstat
mas não consegui encontrar nenhuma ajuda a esse respeito. Seria possível obter duas estatísticas diferentes para os horários de pico e fora de pico usando vnstat
? Caso contrário, que alternativas estão disponíveis para eu conseguir o mesmo?
command-line
bandwidth
vnstat
Aditya
fonte
fonte
Respostas:
AFAIK nenhuma ferramenta de monitoramento de largura de banda é melhor que
vnstat
. Infelizmente, ele não suporta esse recurso. Mas você pode conseguir isso usando vários bancos de dados paravnstat
.Salve os dados nos horários de pico
vnstat1
e fora dos horários de picovnstat2
. Crie um script daemon que os alterne com base na hora do dia usando umaif
condição em um loop infinito; se não estiver entre as 02-08 horas, usevnstat1
else disablevnstat1
, enablevnstat2
esleep
.Eu escrevi o seguinte script bash. Salve-o em um arquivo e torne-o executável usando
sudo chmod x <filename>
. Teste por algum tempo. Por fim, faça o script iniciar automaticamente com o SO. Execute-o comoroot
usuário. (Basta adicionar o caminho ao script/etc/rc.local
para que ele seja executado no momento da inicialização).Mude
i=eth0
na 5ª linha para a interface de rede que você deseja monitorar.Para conhecer o uso, execute
cat /tmp/onpeak
ecat /tmp/offpeak
respectivamente.Também é uma boa idéia redefinir os dados no banco de dados padrão (
/var/lib/vnstat
), pois ele nunca será atualizado se tudo no script for bem.fonte
Espero que isso ajude um pouco.
Então, eu vou lhe dar um programa que escrevi, porque estava tendo problemas com o cron funcionando. Infelizmente, eu não conheço scripts de shell, então isso está em python, mas funcionou para mim e é bem simples, mas agradável. Desculpe por não comentar o meu código, mas realmente não queria voltar a usá-lo. Eu sei que algumas partes podem não ser as melhores, mas funciona.
Guia rápido
Abra Ocioso, copie> cole.
Salvar como
filename.py
.Terminal aberto.
Execute-o com o Python 3 (python3 filename.py`).
Coloque a hora em que você deseja agendar a execução do vnstat.
Ponha no minuto que você quer daquela hora.
Coloque a quantidade de horas que deseja monitorar.
Coloque a quantidade de minutos que deseja monitorar.
Digite o dispositivo que você está monitorando (eu não passei por uma verificação de erro; portanto, se você digitar algo como monkeybutt, ele tentará executar
vnstat -i monkeybutt
, a cada 15 segundos, apenas Ctrl+ Csair).O programa será executado a cada 15 segundos para verificar se o horário corresponde e não enviará nenhuma mensagem. É para ser executado em segundo plano. Uma vez iniciado, a tomada é capturada a cada 15 segundos da rede, no dispositivo que você escolheu. Usando o comando vnstat, além de um contador dizendo quantos segundos você deixou de monitorar.
Depois de concluir as varreduras, ele perguntará se você deseja sair e oferece uma opção para exibir um relatório, caso contrário, você pode simplesmente sair. Todo o material é armazenado no banco de dados vnstats de qualquer maneira.
Parte antiga da postagem (pode ser útil para algumas pessoas)
Você pode obter o gnome-schedule, depois colocar seu comando, por exemplo, vnstat -h, e configurá-lo novamente nos momentos que você está tentando monitorar. Talvez simples demais, mas espero que outra pessoa possa se expandir ainda mais.
Adicional (Editar): Eu não usei muito o vnstat, e é por isso que eu esperava que alguém pudesse expandir essa parte, mas com o gnome-schedule, você pode agendar um comando para executar durante partes específicas do dia. Portanto, o uso de vntstat -tr -l (comutador de tráfego, monitora o tráfego ao vivo) mostraria o tráfego durante a execução (que você pode agendar no gnome-schedule, mas pode ser necessário Ctrl+ C] manualmente ).
Caso contrário, tenho certeza de que você pode canalizar isso para um arquivo ou usar o programa de saída gráfica para vnstat, se tiver. Programa de saída gráfica é
vnstati -i 'filename'
irá enviá-lo para o arquivo png. Se você quiser mais comandos,vnstat --longhel
p tem mais comandos.(Exemplo de tela de como colocar as coisas na programação do gnome.)
Você já sabe como obter um 'instantâneo' da largura de banda usando vnstat ou precisa de mais ajuda sobre esses comandos? Eu posso tentar trabalhar mais com o programa.
fonte