J'ai récemment téléchargé vnstat
pour surveiller ma consommation de bande passante Internet. J'ai un plan de données limité mais mon FAI fournit une bande passante non mesurée pendant les heures creuses (de 2h00 à 8h00). Donc, je voudrais que vnstat rapporte séparément l'utilisation des données classant l'utilisation en pointe et l'utilisation hors pointe.
J'ai traversé man vnstat
mais je n'ai trouvé aucune aide à cet égard. Serait-il possible d'obtenir deux statistiques différentes pour les heures de pointe et les heures creuses en utilisant vnstat
? Sinon, quelles alternatives s'offrent à moi pour y parvenir?
command-line
bandwidth
vnstat
Aditya
la source
la source
Réponses:
AFAIK aucun outil de surveillance de la bande passante n'est meilleur que
vnstat
. Malheureusement, il ne prend pas en charge cette fonctionnalité. Mais vous pouvez y parvenir en utilisant plusieurs bases de données pourvnstat
.Enregistrez les données pour les heures de pointe vers
vnstat1
et pour les heures creuses jusqu'àvnstat2
. Créez un script démon qui les commutera en fonction de l'heure de la journée en utilisant uneif
condition dans une boucle infinie; sinon entre 02 et 08 heures, utilisezvnstat1
else disablevnstat1
, enablevnstat2
etsleep
.J'ai écrit le script bash suivant. Enregistrez-le dans un fichier et rendez-le exécutable à l'aide de
sudo chmod x <filename>
. Testez-le pendant un certain temps. Enfin, faites démarrer automatiquement le script avec OS. Exécutez-le en tantroot
qu'utilisateur. (Ajoutez simplement le chemin du script/etc/rc.local
pour qu'il soit exécuté au démarrage).Modifiez
i=eth0
sur la 5ème ligne l'interface réseau que vous souhaitez surveiller.Pour connaître le cycle d'utilisation
cat /tmp/onpeak
etcat /tmp/offpeak
respectivement.C'est également une bonne idée de réinitialiser les données sur la base de données par défaut (
/var/lib/vnstat
), car elle ne sera jamais mise à jour si tout se passe bien dans le script.la source
Espérons que cela aide un peu.
Je vais donc vous donner un programme que j'ai écrit, parce que j'avais des problèmes avec le travail cron. Je ne connais malheureusement pas les scripts shell, donc c'est en python, mais cela a fonctionné pour moi, et c'est assez simple, mais agréable. Désolé, je n'ai pas commenté mon code, mais je ne voulais vraiment pas y revenir. Je sais que certaines parties ne sont peut-être pas les meilleures, mais cela fonctionne.
Guide rapide
Ouvrez Inactif, copiez> collez.
Enregistrer sous
filename.py
.Ouvrez le terminal.
Exécutez-le avec Python 3 (python3 filename.py`).
Entrez l'heure à laquelle vous souhaitez planifier l'exécution de vnstat.
Mettez dans la minute que vous voulez de cette heure.
Mettez le nombre d'heures que vous souhaitez qu'il surveille.
Mettez le nombre de minutes que vous voulez qu'il surveille.
Entrez l'appareil que vous surveillez (je n'ai pas effectué de vérification d'erreur, donc si vous entrez quelque chose comme monkeybutt, il essaiera de s'exécuter
vnstat -i monkeybutt
, toutes les 15 secondes, juste Ctrl+ Cout).Le programme se déroulera toutes les 15 secondes pour voir si l'heure correspond, il ne donnera aucun message. Il est censé être exécuté en arrière-plan. Une fois démarré, il prendra une photo toutes les 15 secondes du réseau, sur l'appareil que vous avez choisi. Utilisation de la commande vnstat, plus un compteur indiquant combien de secondes il vous reste de surveillance.
Après avoir terminé les analyses, il vous demandera si vous souhaitez quitter et vous donnera une option si vous souhaitez afficher un rapport, sinon vous pouvez simplement quitter. De toute façon, tout est stocké dans la base de données vnstats.
Ancienne partie du message (peut être utile à certaines personnes)
Vous pouvez obtenir gnome-schedule, puis entrez votre commande, par exemple vnstat -h, et définissez-la de manière répétée pendant les périodes que vous essayez de surveiller. Peut-être trop simple, mais j'espère que quelqu'un d'autre pourrait se développer davantage.
Supplémentaire (Modifier): Je n'ai pas beaucoup utilisé vnstat, c'est pourquoi j'espérais que quelqu'un pourrait développer cette partie, mais avec gnome-schedule, vous pouvez planifier une commande à exécuter pendant des parties spécifiques de la journée. Donc, utiliser vntstat -tr -l (commutateur de trafic, surveiller le trafic en direct), afficherait le trafic pendant l'exécution (que vous pouvez planifier dans gnome-schedule, mais vous devrez peut-être manuellement Ctrl+ C].)
Sinon, je suis sûr que vous pourriez diriger ceci dans un fichier, ou utiliser le programme de sortie graphique pour vnstat si vous en avez. Le programme de sortie graphique le
vnstati -i 'filename'
sortira en fichier png. Si vous voulez d'autres commandes,vnstat --longhel
p a plus de commandes.(Exemple d'écran sur la façon de mettre les choses en programme gnome.)
Savez-vous comment obtenir un «instantané» de la bande passante en utilisant déjà vnstat, ou avez-vous besoin d'une aide supplémentaire sur ces commandes? Je peux essayer de travailler davantage avec le programme.
la source