vnStat est un outil de surveillance du trafic réseau gratuit, open-source et basé sur console pour le système d'exploitation Linux. Avec vnStat, vous pouvez surveiller les statistiques du réseau sur différentes périodes. Il est simple, léger et consomme une petite partie des ressources de votre système. vnStat vous permet de générer les données de trafic réseau en une heure, un jour, un mois, une semaine et un jour.
Dans ce didacticiel, nous allons vous montrer comment installer et utiliser vnStat pour surveiller le trafic réseau.
Prérequis
- Un serveur exécutant Ubuntu 20.04.
- Un mot de passe root est configuré sur le serveur.
Installer vnStat
Par défaut, la dernière version de vnStat n'est pas disponible dans le référentiel par défaut d'Ubuntu. Vous devrez donc le compiler à partir de la source.
Tout d'abord, installez toutes les dépendances nécessaires à la compilation de vnStat avec la commande suivante :
apt-get install build-essential gcc make libsqlite3-dev -y
Une fois toutes les dépendances installées, téléchargez la dernière version de la source vnStat avec la commande suivante :
wget https://humdi.net/vnstat/vnstat-2.6.tar.gz
Une fois le téléchargement terminé, extrayez le fichier téléchargé avec la commande suivante :
tar -xvzf vnstat-2.6.tar.gz
Ensuite, remplacez le répertoire par le répertoire extrait et configurez-le avec la commande suivante :
cd vnstat-2.6
./configure --prefix=/usr --sysconfdir=/etc
Ensuite, installez le vnStat en exécutant la commande suivante :
make
make install
Une fois vnStat installé, vous pouvez vérifier la version installée de vnStat avec la commande suivante :
vnstat -v
Vous devriez obtenir le résultat suivant :
vnStat 2.6 by Teemu Toivola
Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.
Gérer le service vnStat
Ensuite, vous devrez copier le fichier de service vnStat systemd de la source vnStat vers le répertoire /etc/systemd/system/ :
cp -v vnstat-2.6/examples/systemd/vnstat.service /etc/systemd/system/
Ensuite, activez le service vnStat et démarrez-le avec la commande suivante :
systemctl enable vnstat
systemctl start vnstat
Vous pouvez également vérifier l'état du service vnStat à l'aide de la commande suivante :
systemctl status vnstat
Vous devriez obtenir le résultat suivant :
? vnstat.service - vnStat network traffic monitor Loaded: loaded (/etc/systemd/system/vnstat.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2020-11-12 06:24:01 UTC; 11s ago Docs: man:vnstatd(8) man:vnstat(1) man:vnstat.conf(5) Main PID: 20989 (vnstatd) Tasks: 1 (limit: 4701) Memory: 1.5M CGroup: /system.slice/vnstat.service ??20989 /usr/sbin/vnstatd -n Nov 12 06:24:01 Ubuntu systemd[1]: Started vnStat network traffic monitor. Nov 12 06:24:01 Ubuntu vnstatd[20989]: No interfaces found in database, adding available interfaces... Nov 12 06:24:01 Ubuntu vnstatd[20989]: Interface "ens3" added with 1000 Mbit bandwidth limit. Nov 12 06:24:01 Ubuntu vnstatd[20989]: Interface "ens4" added with 1000 Mbit bandwidth limit. Nov 12 06:24:01 Ubuntu vnstatd[20989]: -> 2 new interfaces found. Nov 12 06:24:01 Ubuntu vnstatd[20989]: Limits can be modified using the configuration file. See "man vnstat.conf". Nov 12 06:24:01 Ubuntu vnstatd[20989]: Unwanted interfaces can be removed from monitoring with "vnstat --remove". Nov 12 06:24:01 Ubuntu vnstatd[20989]: Info: vnStat daemon 2.6 started. (pid:20989 uid:0 gid:0 64-bit) Nov 12 06:24:01 Ubuntu vnstatd[20989]: Info: Monitoring (2): ens4 (1000 Mbit) ens3 (1000 Mbit)
Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.
Travailler avec vnStat
vnStat est livré avec plusieurs options qui vous aident à surveiller le trafic réseau. Vous pouvez lister toutes les options disponibles avec la commande suivante :
vnstat --help
Vous devriez obtenir le résultat suivant :
vnStat 2.6 by Teemu Toivola-5, --fiveminutes [limit] show 5 minutes -h, --hours [limit] show hours -hg, --hoursgraph show hours graph -d, --days [limit] show days -m, --months [limit] show months -y, --years [limit] show years -t, --top [limit] show top days -b, --begin set list begin date -e, --end set list end date --oneline [mode] show simple parsable format --json [mode] [limit] show database in json format --xml [mode] [limit] show database in xml format -tr, --traffic [time] calculate traffic -l, --live [mode] show transfer rate in real time -i, --iface select interface Use "--longhelp" or "man vnstat" for complete list of options.
Avant d'utiliser vnStat, vous devrez attendre un certain temps pour mettre à jour la base de données vnStat. Après la mise à jour de la base de données, vous pouvez exécuter vnStat sans aucune option, comme indiqué ci-dessous :
vnstat
Vous devriez voir le résultat suivant :
rx / tx / total / estimated ens3: 2020-11 164.83 KiB / 495.17 KiB / 660.01 KiB / -- today 164.83 KiB / 495.17 KiB / 660.01 KiB / 2.38 MiB
Vous pouvez également spécifier l'interface réseau spécifique à l'aide de l'option -i comme indiqué ci-dessous :
vnstat -i ens3
Vous devriez obtenir les statistiques quotidiennes et mensuelles dans la sortie suivante :
Database updated: 2020-11-12 06:30:00 ens3 since 2020-11-12 rx: 164.83 KiB tx: 495.17 KiB total: 660.01 KiB monthly rx | tx | total | avg. rate ------------------------+-------------+-------------+--------------- 2020-11 164.83 KiB | 495.17 KiB | 660.01 KiB | 5 bit/s ------------------------+-------------+-------------+--------------- estimated -- | -- | -- | daily rx | tx | total | avg. rate ------------------------+-------------+-------------+--------------- today 164.83 KiB | 495.17 KiB | 660.01 KiB | 231 bit/s ------------------------+-------------+-------------+--------------- estimated 608 KiB | 1.79 MiB | 2.38 MiB |
Pour afficher les statistiques horaires, exécutez la commande suivante :
vnstat -h
Vous devriez obtenir le résultat suivant :
ens3 / hourly hour rx | tx | total | avg. rate ------------------------+-------------+-------------+--------------- 2020-11-12 06:00 164.83 KiB | 495.17 KiB | 660.01 KiB | 3.00 kbit/s ------------------------+-------------+-------------+---------------
Pour afficher les statistiques quotidiennes, exécutez la commande suivante :
vnstat -d
Vous devriez obtenir le résultat suivant :
ens3 / daily day rx | tx | total | avg. rate ------------------------+-------------+-------------+--------------- 2020-11-12 164.83 KiB | 495.17 KiB | 660.01 KiB | 231 bit/s ------------------------+-------------+-------------+--------------- estimated 608 KiB | 1.79 MiB | 2.38 MiB |
Vous pouvez utiliser l'option -t pour afficher les jours les plus fréquentés :
vnstat -t
Vous devriez obtenir le résultat suivant :
ens3 / top 1 # day rx | tx | total | avg. rate -----------------------------+-------------+-------------+--------------- > 1 2020-11-12 164.83 KiB | 495.17 KiB | 660.01 KiB | 62 bit/s
Pour afficher les statistiques de trafic réseau en temps réel, exécutez la commande suivante :
vnstat -l
Vous devriez obtenir le résultat suivant :
Monitoring ens3... (press CTRL-C to stop) rx: 1.31 kbit/s 2 p/s tx: 1.49 kbit/s 1 p/s^C ens3 / traffic statistics rx | tx --------------------------------------+------------------ bytes 3.75 KiB | 5.42 KiB --------------------------------------+------------------ max 6.55 kbit/s | 11.17 kbit/s average 1.53 kbit/s | 2.22 kbit/s min 264 bit/s | 264 bit/s --------------------------------------+------------------ packets 41 | 37 --------------------------------------+------------------ max 7 p/s | 8 p/s average 2 p/s | 1 p/s min 0 p/s | 0 p/s --------------------------------------+------------------ time 20 seconds
Vous pouvez également effacer les entrées de la base de données pour l'interface ens3 et arrêter la surveillance à l'aide de la commande suivante :
vnstat -i ens3 --remove --force
Vous devriez obtenir le résultat suivant :
Interface "ens3" removed from database. The interface will no longer be monitored. Use --add if monitoring the interface is again needed.
Vous pouvez également ajouter à nouveau l'interface ens3 supprimée en exécutant la commande suivante :
vnstat -i ens3 --add
Vous devriez obtenir le résultat suivant :
Adding interface "ens3" for monitoring to database... Restart the vnStat daemon if it is currently running in order to start monitoring "ens3".
Ensuite, redémarrez le service vnStat pour appliquer les modifications :
systemctl restart vnstat
Conclusion
Dans le guide ci-dessus, vous avez appris à installer vnStat et à l'utiliser pour surveiller le trafic réseau. J'espère que cet outil vous aidera à analyser et à résoudre les problèmes liés au réseau. N'hésitez pas à me demander si vous avez des questions.