GNU/Linux >> Tutoriels Linux >  >> Linux

vnStat - Surveiller la bande passante réseau sous Linux et BSD

Dans ce didacticiel, nous verrons ce qu'est vnStat, comment l'installer, puis comment surveiller la bande passante du réseau à l'aide de vnStat dans les systèmes d'exploitation Linux et BSD.

Présentation de Vnstat

VnStat est un moniteur de trafic réseau gratuit, open source, léger et basé sur une console. En utilisant VnStat, nous pouvons facilement trouver la quantité de bande passante réseau consommée et afficher le résultat toutes les heures, tous les jours, tous les mois ou pour une période spécifique.

Vnstat rassemble les détails d'utilisation d'une ou de plusieurs interfaces réseau et affiche le résumé dans la ligne de commande. Il aide également à calculer la quantité approximative d'utilisation de la bande passante Internet par mois ou par jour ou pour une période de temps particulière.

Installer vnStat sur Linux

VnStat est disponible dans les référentiels par défaut de nombreux systèmes d'exploitation Linux et Unix. Vous pouvez l'installer à l'aide du gestionnaire de packages de votre distribution.

Sur les systèmes basés sur Arch :

Assurez-vous d'avoir activé [Community] dépôt et installez-le en utilisant pacman comme ci-dessous :

$ sudo pacman -S vnstat

Sur Debian, Uubntu, Linux Mint, Pop OS :

$ sudo apt install vnstat

Sur Ubuntu, vous devrez peut-être activer [Universe] référentiel pour installer vnstat.

Sur Redhat, CentOS, AlmaLinux, Rocky Linux :

Ajoutez et activez d'abord le référentiel EPEL :

$ sudo dnf install epel-release

Et puis installez vnStat comme indiqué ci-dessus.

$ sudo dnf install vnstat

Sur Fedora :

$ sudo dnf install vnstat

Sur openSUSE :

$ sudo zypper install vnstat

Après avoir installé vnStat, démarrez son service à l'aide de la commande :

$ sudo systemctl enable --now vnstat

Vous n'avez pas besoin de démarrer vnstat sur les systèmes basés sur DEB, car il sera automatiquement lancé au moment de l'installation.

Installer vnStat sur FreeBSD

Sur les systèmes BSD comme freeBSD, mettez à jour l'arborescence des ports et installez vnStat en tant que root utilisateur utilisant les commandes :

# mise à jour du paquet
# pkg install vnstat

Une fois installé, activez et démarrez le service vnStat comme ci-dessous.

# echo 'vnstat_enable="YES"'>> /etc/rc.conf
# service vnstat start

Exemple de résultat :

Démarrage de vnstat.Aucune interface trouvée dans la base de données, ajout d'interfaces disponibles...Interface "em0" ajoutée avec une limite de bande passante de 1000 Mbit.-> 1 nouvelle interface trouvée.Les limites peuvent être modifiées à l'aide du fichier de configuration. Voir "man vnstat.conf". Les interfaces indésirables peuvent être supprimées de la surveillance avec "vnstat --remove".".

Configurer l'interface réseau par défaut sur Linux

vnStat utilise eth0 comme interface réseau par défaut dans son fichier de configuration (/etc/vnstat.conf ).

Cependant, dans certains systèmes Linux (par exemple, Ubuntu), le nom de l'interface réseau peut être différent, comme enp0s3 , enp0s8 . Vous pouvez vérifier le nom de l'interface réseau en utilisant "ip addr" commande.

Examinons le contenu du fichier de configuration vnstat.

$ head /etc/vnstat.conf

Exemple de sortie :

# fichier de configuration vnStat 1.18### interface par défautInterface "eth0" # emplacement du répertoire de la base de donnéesDatabaseDir "/var/lib/vnstat"# locale (LC_ALL) ("-" =utiliser les paramètres régionaux du système)

Comme vous pouvez le voir, l'interface par défaut est etho dans ce fichier.

Vérifions les interfaces réseau disponibles identifiées par vnstat.

$ ls /var/lib/vnstatenp0s3 enp0s8

Comme vous le voyez, les interfaces réseau disponibles sont différentes de celles définies dans le fichier vnstat.conf.

Si vous ne définissez pas l'interface par défaut correcte, vous risquez d'obtenir l'erreur suivante lors de l'affichage du trafic de la bande passante du réseau toutes les heures ou tous les mois.

Erreur :Impossible de lire la base de données "/var/lib/vnstat/eth0" :aucun fichier ou répertoire de ce type

Cela se produit car l'interface par défaut n'est pas correctement définie dans le /etc/vnstat.conf fichier.

Pour configurer l'interface réseau par défaut, modifiez /etc/vnstat.conf fichier et mettez à jour le nom d'interface correct. Vous pouvez modifier directement /etc/vnstat.conf fichier et mettre à jour le nom de l'interface globalement. Cependant, il est recommandé de créer votre propre fichier de configuration vnstat dans le répertoire HOME de l'utilisateur.

$ cp /etc/vnstat.conf ~/.vnstatrc
$ nano ~/.vnstatrc

Je vais utiliser enp0s3 comme interface par défaut.

Remplacez enp0s3 par le vôtre. Enregistrez et fermez le fichier.

Configurer l'interface réseau par défaut sur FreeBSD

Modifier le fichier de configuration vnstat :

# vi /usr/local/etc/vnstat.conf

Si le fichier de configuration n'est pas disponible, créez-en un nouveau à l'aide de l'exemple de fichier de configuration :

# cp /usr/local/etc/vnstat.conf.sample /usr/local/etc/vnstat.conf

Ensuite, mettez à jour l'interface réseau par défaut correcte :

Interface "em0"

Enregistrez et fermez le fichier.

Surveiller la bande passante réseau à l'aide de vnStat sous Linux et Unix

Si vous débutez avec vnStat, ouvrez la section d'aide de vnStat et consultez la liste des options disponibles en exécutant cette commande :

$ vnstat --help

Exemple de résultat :

 vnStat 1.18 par Teemu Toivola  -q, --query query database -h, --hours show hours -d, --days show days -m, --months show month -w, --weeks afficher les semaines -t, --top10 afficher les 10 premiers jours -s, --short utiliser la sortie courte -u, --update mettre à jour la base de données -i, --iface sélectionner l'interface (par défaut :eth0) -?, -- help short help -v, --version show version -tr, --traffic calculate traffic -ru, --rateunit swap configure rate unit -l, --live show transfer rate in real timeVoir aussi "--longhelp" pour les options complètes list et "man vnstat".

Affichage de l'utilisation de la bande passante de toutes les interfaces

Maintenant, affichons le trafic réseau de toutes les interfaces.

Pour ce faire, exécutez simplement :

$ vnstat

Exemple de résultat :

 rx / tx / total / estimé enp0s3 :septembre 2019 120 Kio/66 Kio/186 Kio/0 Kio aujourd'hui 120 Kio/66 Kio/186 Kio / -- enp0s8 :septembre 2019 128 Kio/88 Kio/216 KiB / 0 KiB aujourd'hui 128 KiB / 88 KiB / 216 KiB / --

Ici,

  • rx - Le trafic reçu
  • tx - Le trafic transféré

Attendez quelques minutes que Vnstat commence à collecter l'utilisation du trafic réseau. Si vous démarrez vnstat immédiatement après l'avoir installé, vous pouvez obtenir un résultat comme ci-dessous.

enp0s3 :Pas encore assez de données disponibles.

Ou, vous obtiendrez la sortie suivante dans les distributions basées sur RPM telles que CentOS.

Aucune base de données trouvée, rien à faire. Utilisez --help pour obtenir de l'aide. Une nouvelle base de données peut être créée avec la commande suivante :vnstat --create -i eth0 Remplacez 'eth0' par l'interface qui doit être surveillée. Les interfaces suivantes sont actuellement disponibles :enp0s3 (1000 Mbit) lo 

Il n'affiche plus rien maintenant. C'est parce que vnStat n'a pas encore commencé à collecter les statistiques.

Affichage de l'utilisation de la bande passante d'une interface particulière

Pour afficher l'utilisation de la bande passante réseau d'une interface particulière, par exemple enp0s3 , mentionnez simplement le nom de la carte réseau comme ci-dessous.

$ vnstat -i enp0s3

Exemple de résultat :

Base de données mise à jour :lundi 9 septembre 08:26:47 2019 enp0s3 depuis le 09/09/2019 rx :136 Kio tx :74 Kio total :210 Kio rx mensuel | tx | totale | moy. taux ------------------------+-------------+---------- ---+--------------- Septembre '19 136 KiB | 74 Kio | 210 Kio | 0,00 kbit/s ------------------------+-------------+------- ------+--------------- estimé -- | -- | -- | rx quotidien | tx | totale | moy. taux ------------------------+-------------+---------- ---+--------------- aujourd'hui 136 KiB | 74 Kio | 210 Kio | 0,06 kbit/s ------------------------+-------------+------- ------+--------------- estimé -- | -- | -- |

Ici, enp0s3 est le nom de ma carte réseau. Vous pouvez trouver le nom de votre carte réseau en utilisant "ip addr" commande.

Sur FreeBSD , le nom de la carte réseau est em0 . Pour voir sa bande passante, lancez simplement :

# vnstat -i em0

Exemple de résultat :

Base de données mise à jour :2019-09-09 16:40:00 em0 depuis le 2019-09-09 rx :606,84 Kio tx :56,12 Kio total :662,96 Kio rx mensuel | tx | totale | moy. taux ------------------------+-------------+---------- ---+--------------- 2019-09 606,84 Kio | 56,12 Kio | 662,96 Kio | 7 bits/s ------------------------+-------------+------- ------+--------------- estimé -- | -- | -- | rx quotidien | tx | totale | moy. taux ------------------------+-------------+---------- ---+--------------- aujourd'hui 606,84 Kio | 56,12 Kio | 662,96 Kio | 90 bits/s ------------------------+-------------+------- ------+--------------- estimé 873 Kio | 80 Kio | 953 Kio

Affichage de l'utilisation de la bande passante par heure

Affichons les résultats du trafic réseau par heure. Pour ce faire, exécutez :

$ vnstat -h

Exemple de résultat :

 enp0s3 09:46 ^ r | r r | r r | r r | r r r | rt rt r | rt rt r | rt rt rt | rt rt rt | r rt rt rt -+---------------------------------------------------------- -------------------------------> | 10 11 12 13 14 15 16 17 18 19 20 21 22 23 00 01 02 03 04 05 06 07 08 09 ) tx (Kio) 10 0 0 ][ 18 0 0 ][ 02 0 011 0 0 ][ 19 0 0 ][ 03 0 012 0 0 ][ 20 0 0 ][ 04 0 013 0 0 ][ 21 0 0 ] [ 05 0 014 0 0 ][ 22 0 0 ][ 06 12 715 0 0 ][ 23 0 0 ][ 07 86 4816 0 0 ][ 00 0 0 ][ 08 88 4517 0 0 ][ 01 0 0 ][ 09 59 32

Si vous avez plusieurs interfaces, utilisez -i paramètre pour afficher le trafic réseau horaire d'une carte spécifique comme ci-dessous.

$ vnstat -h -i enp0s8

Suggestion de lecture :

  • Comment limiter la bande passante réseau sous Linux à l'aide de Wondershaper

Affichage de l'utilisation quotidienne de la bande passante

Utilisez '-d' drapeau pour afficher le trafic réseau de l'interface réseau par défaut par jour.

$ vnstat -d

Exemple de résultat :

enp0s3 / rx jour quotidien | tx | totale | moy. taux ------------------------+-------------+---------- ---+--------------- 09/09/2019 258 Kio | 138 Kio | 396 Ko | 0,09 kbit/s ------------------------+-------------+------- ------+--------------- estimé -- | -- | -- |

Affichage de l'utilisation hebdomadaire de la bande passante

$ vnstat -w

Exemple de résultat :

enp0s3 / rx hebdomadaire | tx | totale | moy. taux ---------------------------+-------------+------- ------+--------------- 7 derniers jours 258 KiB | 138 Kio | 396 Ko | 0,00 kbit/s semaine en cours 258 Kio | 138 Kio | 396 Ko | 0,09 kbit/s ---------------------------+-------------+---- ---------+--------------- estimé -- | -- | -- |

Affichage de l'utilisation mensuelle de la bande passante

Pour afficher l'utilisation mensuelle d'une carte d'interface réseau, utilisez '-m' commutateur.

$ vnstat -m

Exemple de résultat :

enp0s3 / rx mois mensuel | tx | totale | moy. taux ------------------------+-------------+---------- ---+--------------- Septembre '19 258 KiB | 138 Kio | 396 Ko | 0,00 kbit/s ------------------------+-------------+------- ------+--------------- estimé -- | -- | -- |

Affichage de l'utilisation de la bande passante au cours des dix derniers jours

Pour afficher l'utilisation du réseau au cours des dix derniers jours, utilisez '-t' drapeau.

$ vnstat -t

Exemple de résultat :

enp0s3 / top 10 # jour rx | tx | totale | moy. taux -----------------------------+-------------+----- --------+--------------- aucune donnée disponible ----------------------- ------+-------------+-------------+--------------- 

Il n'affiche aucune donnée des dix premiers jours, car j'ai installé Vnstat aujourd'hui.

Suggestion de lecture :

  • Installer l'outil de surveillance des performances NetData sous Linux

Afficher l'utilisation de la bande passante à un moment précis

Nous pouvons également afficher l'utilisation de la bande passante à un moment donné.

Pour afficher l'utilisation de la bande passante des dix dernières secondes, exécutez :

$ vnstat -i enp0s3 -tr 10

Exemple de résultat :

7 paquets échantillonnés en 10 secondesTrafic moyen pour enp0s3 rx 0,28 kbit/s 0 paquet/s tx 0,14 kbit/s 0 paquet/s

Affichage de l'utilisation de la bande passante en direct

Pour démarrer la surveillance en direct de l'utilisation d'une carte d'interface particulière, exécutez :

$ vnstat -i enp0s3 -l

Exemple de résultat :

Monitoring enp0s3... (appuyez sur CTRL-C pour arrêter) rx :0 kbit/s 0 p/s tx :0 kbit/s 0 p/s

Pour arrêter la surveillance en direct, appuyez sur CTRL-C .

Pour plus de détails, reportez-vous aux pages de manuel :

$ man vnstat

Conclusion

VnStat est un outil pratique et utile pour surveiller votre utilisation d'Internet ou le trafic réseau pour une ou plusieurs interfaces réseau. Au cas où vous vous demanderiez combien de bande passante vous consommez quotidiennement/mensuellement, vous pouvez utiliser cet outil pour le savoir sans l'aide de votre fournisseur de services Internet ou en utilisant des outils tiers.


Linux
  1. Comment installer et tester Ansible sur Linux

  2. Comment installer et utiliser Flatpak sous Linux

  3. Dépannage et débogage du réseau Linux ?

  4. Comment surveiller le trafic réseau sous Linux à l'aide de vnStat

  5. Comment installer et utiliser Glances pour surveiller les systèmes Linux

Comment installer et utiliser phpMyAdmin sous Linux

Surveiller la tâche Linux avec SysMonTask

Comment installer et utiliser la commande fd sous Linux

Comment installer et utiliser Nu Shell sous Linux

Comment installer la surveillance de la bande passante réseau Iftop sur Linux

Surveillez l'utilisation de la bande passante du réseau Linux en temps réel avec nload