Comment obtenir l'utilisation actuelle de la bande passante à partir de la ligne de commande à l'aide des outils Linux intégrés?

11

Je recherche un bon moyen d'obtenir l'utilisation actuelle de la bande passante totale sur une machine Linux. J'ai essayé iftop, nethogsmais ils ne montrent pas une utilisation réelle de la bande passante par rapport au moniteur système; ils ne correspondent pas aux besoins de mon projet. Je veux une commande que j'exécute et elle renvoie l'utilisation actuelle pour le téléchargement et le téléchargement et rien d'autre.

J'aimerais aussi le faire avec des outils Linux natifs sans rien installer. En fait, je fais une application de surveillance, et je veux qu'elle puisse surveiller des ordinateurs sans avoir besoin d'installer quelque chose dans chaque ordinateur que l'utilisateur veut surveiller, ce serait génial!

Xsmael
la source
Question très similaire: superuser.com/questions/328702/…
mrucci

Réponses:

5

Utilisation iptraf- http://www.linuxcommand.org/man_pages/iptraf8.html

Il s'agit d'un utilitaire de ligne de commande basé sur ncurses qui peut vous fournir des statistiques sur toutes les interfaces de la machine, y compris l'utilisation de la bande passante.

Andrew
la source
1
outil non intégré
Nicolas Thery
2

Il y a beaucoup d'outils que vous pouvez utiliser: nload, bmon, iftop, vnstat, ifstat... et si vous voulez simplement obtenir une partie spécifique de leur sortie (par exemple, télécharger et télécharger), je suis sûr que vous pouvez grep/ cut/ awkla sortie pour le faire fonctionner pour vous.

18 commandes pour surveiller la bande passante réseau sur un serveur Linux

jimm-cl
la source
bmontravaillé pour moi dans Ubuntu, me donnant les TX et RX actuels de chaque interface, et un graphique simple des 60 dernières secondes.
Leopoldo Sanczyk
1
outil non intégré
Nicolas Thery
2

sysstat collecte également le réseau stast. Si vous faites un "man sar", vous verrez toutes les ressources pour lesquelles vous pouvez conserver les données historiques.

Configurez-le en mettant dans cron la commande "/ usr / lib / sa / sa1" (ou / usr / lib64 / sa / sa1) et faites-le exécuter chaque fois que vous voulez un point de données (par exemple toutes les 5 minutes)

Ensuite, vous pouvez utiliser "sar" pour afficher vos données. La valeur par défaut est aujourd'hui. Vous pouvez également afficher les données historiques jusqu'à 30 jours. Vous pouvez également archiver vos données afin que vous puissiez les conserver pour toujours (les données de chaque jour sont d'environ 8 Mo).

Pour le réseautage, vous utiliseriez "sar -n"

Outil merveilleux :)

Un exemple:

 testlinux:~ # sar -n DEV | head -10
 Linux 2.6.16.60-0.21-default (pCITFileSvr01)    11/07/10

 00:00:01        IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
 00:05:01           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
 00:05:01         eth0      9.95      0.12      1.42      0.02      0.00      0.00      0.00
 00:10:01           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
 00:10:01         eth0     10.20      0.04      1.44      0.00      0.00      0.00      0.00
 00:15:01           lo      0.00      0.00      0.00      0.00      0.00       0.00      0.00
 00:15:01         eth0     10.32      0.12      1.50      0.02      0.00      0.00      0.00
 00:20:01           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
 testlinux:~ #
ben
la source
1
outil non intégré
Nicolas Thery