In diesem Tutorial werden wir sehen, was vnStat ist, wie man es installiert und wie man dann die Netzwerkbandbreite mit vnStat in Linux- und BSD-Betriebssystemen überwacht.
Vnstat-Einführung
VnStat ist ein kostenloser, quelloffener, schlanker und konsolenbasierter Netzwerkverkehrsmonitor. Mit VnStat können wir leicht feststellen, wie viel Netzwerkbandbreite verbraucht wird, und das Ergebnis stündlich, täglich, monatlich oder für einen bestimmten Zeitraum anzeigen.
Vnstat sammelt die Nutzungsdetails einer einzelnen oder mehrerer Netzwerkschnittstellen und zeigt die Zusammenfassung in der Befehlszeile an. Es hilft auch bei der Berechnung der ungefähren Nutzung der Internetbandbreite pro Monat oder Tag oder für einen bestimmten Zeitraum.
Installieren Sie vnStat unter Linux
VnStat ist in den Standard-Repositories vieler Linux- und Unix-Betriebssysteme verfügbar. Sie können es mit dem Paketmanager Ihrer Distribution installieren.
Auf Arch-basierten Systemen:
Stellen Sie sicher, dass Sie [Community]
aktiviert haben -Repository und installieren Sie es mit pacman wie unten:
$ sudo pacman -S vnstat
Unter Debian, Uubntu, Linux Mint, Pop OS:
$ sudo apt install vnstat
Unter Ubuntu müssen Sie möglicherweise [Universe]
aktivieren -Repository, um vnstat zu installieren.
Auf Redhat, CentOS, AlmaLinux, Rocky Linux:
EPEL-Repository zuerst hinzufügen und aktivieren:
$ sudo dnf install epel-release
Installieren Sie dann vnStat wie oben gezeigt.
$ sudo dnf install vnstat
Auf Fedora:
$ sudo dnf install vnstat
Auf openSUSE:
$ sudo zypper install vnstat
Starten Sie nach der Installation von vnStat seinen Dienst mit dem Befehl:
$ sudo systemctl enable --now vnstat
Sie müssen vnstat auf DEB-basierten Systemen nicht starten, da es während der Installation automatisch gestartet wird.
Installieren Sie vnStat auf FreeBSD
Aktualisieren Sie auf BSD-Systemen wie freeBSD den Portbaum und installieren Sie vnStat als root
Benutzer mit Befehlen:
# Paketaktualisierung
# pkg vnstat installieren
Nach der Installation aktivieren und starten Sie den vnStat-Dienst wie unten beschrieben.
# echo 'vnstat_enable="YES"'>> /etc/rc.conf
# Dienst vnstat starten
Beispielausgabe:
Starte vnstat.Keine Schnittstellen in Datenbank gefunden, füge verfügbare Schnittstellen hinzu...Schnittstelle "em0" mit Bandbreitenlimit von 1000 Mbit hinzugefügt.-> 1 neue Schnittstelle gefunden.Limits können mit der Konfigurationsdatei geändert werden. Siehe "man vnstat.conf". Unerwünschte Schnittstellen können mit "vnstat --remove" aus der Überwachung entfernt werden.".
Standard-Netzwerkschnittstelle unter Linux konfigurieren
vnStat verwendet eth0
als Standard-Netzwerkschnittstelle in seiner Konfigurationsdatei (/etc/vnstat.conf
).
In einigen Linux-Systemen (z. B. Ubuntu) kann der Name der Netzwerkschnittstelle jedoch anders sein, z. B. enp0s3
, enp0s8
. Sie können den Namen der Netzwerkschnittstelle mit "ip addr"
überprüfen Befehl.
Lassen Sie uns einen Blick auf den Inhalt der vnstat-Konfigurationsdatei werfen.
$ head /etc/vnstat.conf
Beispielausgabe:
# vnStat 1.18 Konfigurationsdatei### StandardschnittstelleSchnittstelle "eth0" # Speicherort des DatenbankverzeichnissesDatabaseDir "/var/lib/vnstat"# Gebietsschema (LC_ALL) ("-" =Systemgebietsschema verwenden)
Wie Sie sehen, ist die Standardschnittstelle etho
in dieser Datei.
Lassen Sie uns die verfügbaren Netzwerkschnittstellen überprüfen, die von vnstat identifiziert wurden.
$ ls /var/lib/vnstatenp0s3 enp0s8
Wie Sie sehen, unterscheiden sich die verfügbaren Netzwerkschnittstellen von denen, die in der Datei vnstat.conf definiert sind.
Wenn Sie nicht die richtige Standardschnittstelle festlegen, erhalten Sie möglicherweise den folgenden Fehler, wenn Sie den Netzwerkbandbreitenverkehr stündlich oder monatlich anzeigen.
Fehler:Datenbank „/var/lib/vnstat/eth0“ kann nicht gelesen werden:Keine solche Datei oder Verzeichnis
Dies geschieht, weil die Standardschnittstelle in /etc/vnstat.conf
falsch definiert ist Datei.
Um die Standardnetzwerkschnittstelle zu konfigurieren, bearbeiten Sie /etc/vnstat.conf
Datei und aktualisieren Sie den korrekten Schnittstellennamen. Sie können /etc/vnstat.conf
direkt bearbeiten Datei und aktualisieren Sie den Schnittstellennamen global. Es wird jedoch empfohlen, Ihre eigene vnstat-Konfigurationsdatei im HOME-Verzeichnis des Benutzers zu erstellen.
$ cp /etc/vnstat.conf ~/.vnstatrc
$ nano ~/.vnstatrc
Ich werde enp0s3
verwenden als meine Standardschnittstelle.

Ersetzen Sie enp0s3 durch Ihre eigene. Speichern und schließen Sie die Datei.
Standard-Netzwerkschnittstelle auf FreeBSD konfigurieren
vnstat-Konfigurationsdatei bearbeiten:
# vi /usr/local/etc/vnstat.conf
Wenn die Konfigurationsdatei nicht verfügbar ist, erstellen Sie eine neue mit der Beispielkonfigurationsdatei:
# cp /usr/local/etc/vnstat.conf.sample /usr/local/etc/vnstat.conf
Aktualisieren Sie dann die richtige Standardnetzwerkschnittstelle:
Schnittstelle "em0"
Speichern und schließen Sie die Datei.
Netzwerkbandbreite mit vnStat in Linux und Unix überwachen
Wenn Sie neu bei vnStat sind, rufen Sie den Hilfebereich von vnStat auf und sehen Sie sich die Liste der verfügbaren Optionen an, indem Sie diesen Befehl ausführen:
$ vnstat --help
Beispielausgabe:
vnStat 1.18 von Teemu Toivola-q, --query query database -h, --hours zeigt Stunden an -d, --days zeigt Tage an -m, --months zeigt Monate an -w, --weeks Wochen anzeigen -t, --top10 Top 10 Tage anzeigen -s, --short kurze Ausgabe verwenden -u, --update Datenbank aktualisieren -i, --iface Schnittstelle auswählen (Standard:eth0) -?, -- help short help -v, --version Version anzeigen -tr, --traffic Traffic berechnen -ru, --rateunit Konfigurierte Tarifeinheit tauschen -l, --live Übertragungsrate in Echtzeit anzeigenSiehe auch "--longhelp" für vollständige Optionen list und "man vnstat".
Anzeige der Bandbreitennutzung aller Schnittstellen
Lassen Sie uns nun den Netzwerkverkehr aller Schnittstellen anzeigen.
Führen Sie dazu einfach Folgendes aus:
$vnstat
Beispielausgabe:
rx / tx / insgesamt / geschätzt enp0s3:Sep '19 120 KiB / 66 KiB / 186 KiB / 0 KiB heute 120 KiB / 66 KiB / 186 KiB / -- enp0s8:Sep '19 128 KiB / 88 KiB / 216 KiB / 0 KiB heute 128 KiB / 88 KiB / 216 KiB / --

Hier,
rx
- Der empfangene Datenverkehrtx
- Der übertragene Datenverkehr
Geben Sie Vnstat ein paar Minuten Zeit, um mit der Erfassung der Netzwerkverkehrsnutzung zu beginnen. Wenn Sie vnstat unmittelbar nach der Installation starten, erhalten Sie möglicherweise ein Ergebnis wie das folgende.
enp0s3:Noch nicht genügend Daten verfügbar.
Oder Sie erhalten die folgende Ausgabe in RPM-basierten Distributionen wie CentOS.
Keine Datenbank gefunden, nichts zu tun. Verwenden Sie --help für Hilfe. Eine neue Datenbank kann mit dem folgenden Befehl erstellt werden:vnstat --create -i eth0Ersetzen Sie 'eth0' durch die Schnittstelle, die überwacht werden soll. Folgende Schnittstellen sind derzeit verfügbar:enp0s3 (1000 Mbit) lo
Es zeigt jetzt nichts an. Das liegt daran, dass vnStat noch nicht mit der Erfassung der Statistiken begonnen hat.
Anzeigen der Bandbreitennutzung einer bestimmten Schnittstelle
Um die Nutzung der Netzwerkbandbreite einer bestimmten Schnittstelle anzuzeigen, zum Beispiel enp0s3 , erwähnen Sie einfach den Namen der Netzwerkkarte wie unten.
$ vnstat -i enp0s3
Beispielausgabe:
Datenbank aktualisiert:Mo 9. Sep 08:26:47 2019 enp0s3 seit 09.09.2019 rx:136 KiB tx:74 KiB total:210 KiB monatlich rx | senden | insgesamt | durchschn. Rate -----------------------+---------------------+---------- ---+--------------- Sep '19 136 KiB | 74 KiB | 210 KiB | 0,00 kbit/s ------------------------+---------------------+------- ------+--------------- geschätzt -- | -- | -- | täglicher Empfang | senden | insgesamt | durchschn. Rate -----------------------+---------------------+---------- ---+--------------- heute 136 KiB | 74 KiB | 210 KiB | 0,06 kbit/s ------------------------+---------------------+------- ------+--------------- geschätzt -- | -- | -- |

Hier enp0s3
ist der Name meiner Netzwerkkarte. Sie finden den Namen Ihrer Netzwerkkarte mit "ip addr"
Befehl.
Auf FreeBSD , der Name der Netzwerkkarte ist em0
. Um seine Bandbreite anzuzeigen, führen Sie einfach Folgendes aus:
# vnstat -i em0
Beispielausgabe:
Datenbank aktualisiert:2019-09-09 16:40:00 em0 seit 2019-09-09 rx:606,84 KiB tx:56,12 KiB gesamt:662,96 KiB monatlich rx | senden | insgesamt | durchschn. Rate -----------------------+---------------------+---------- ---+--------------- 2019-09 606,84 KiB | 56,12 KiB | 662,96 KiB | 7 bit/s ------------------------+---------------------+------- ------+--------------- geschätzt -- | -- | -- | täglicher Empfang | senden | insgesamt | durchschn. Rate -----------------------+---------------------+---------- ---+--------------- heute 606,84 KiB | 56,12 KiB | 662,96 KiB | 90 bit/s ------------------------+------------+------- ------+--------------- geschätzt 873 KiB | 80 KiB | 953 KiB

Anzeige der Bandbreitennutzung pro Stunde
Lassen Sie uns die Ergebnisse des Netzwerkverkehrs pro Stunde anzeigen. Führen Sie dazu Folgendes aus:
$ vnstat -h
Beispielausgabe:

Wenn Sie mehrere Schnittstellen haben, verwenden Sie -i Parameter, um den stündlichen Netzwerkverkehr einer bestimmten Karte wie unten anzuzeigen.
$ vnstat -h -i enp0s8
Empfohlene Lektüre:
- So begrenzen Sie die Netzwerkbandbreite in Linux mit Wondershaper
Anzeigen der täglichen Bandbreitennutzung
Verwenden Sie '-d'
Flag, um den Netzwerkverkehr der Standardnetzwerkschnittstelle pro Tag anzuzeigen.
$ vnstat -d
Beispielausgabe:
enp0s3 / täglicher Tag rx | senden | insgesamt | durchschn. Rate -----------------------+---------------------+---------- ---+--------------- 09.09.2019 258 KiB | 138 KiB | 396 KiB | 0,09 kbit/s ------------------------+---------------------+------- ------+--------------- geschätzt -- | -- | -- |
Wöchentliche Bandbreitennutzung anzeigen
$ vnstat -w
Beispielausgabe:
enp0s3 / wöchentlicher Empfang | senden | insgesamt | durchschn. Rate ----------------------+-------------+------- ------+--------------- letzten 7 Tage 258 KiB | 138 KiB | 396 KiB | 0,00 kbit/s aktuelle Woche 258 KiB | 138 KiB | 396 KiB | 0,09 kbit/s --------------+------------+---- ---------+--------------- geschätzt -- | -- | -- |
Anzeigen der monatlichen Bandbreitennutzung
Um die monatliche Nutzung einer Netzwerkschnittstellenkarte anzuzeigen, verwenden Sie '-m'
wechseln.
$ vnstat -m
Beispielausgabe:
enp0s3 / monatlich Monat rx | senden | insgesamt | durchschn. Rate -----------------------+---------------------+---------- ---+--------------- Sep '19 258 KiB | 138 KiB | 396 KiB | 0,00 kbit/s ------------------------+---------------------+------- ------+--------------- geschätzt -- | -- | -- |
Anzeige der Bandbreitennutzung der letzten zehn Tage
Verwenden Sie '-t'
, um die Netzwerknutzung der letzten zehn Tage anzuzeigen Flagge.
$ vnstat -t
Beispielausgabe:
enp0s3 / Top 10 # Tag RX | senden | insgesamt | durchschn. Rate ------------------------+-------------+----- -------+--------------- keine Daten verfügbar ----------------------- ------+-------------+-------------+---------------
Es zeigt keine Daten der Top-Ten-Tage an, weil ich Vnstat heute installiert habe.
Empfohlene Lektüre:
- Installieren Sie das NetData Performance Monitoring Tool unter Linux
Anzeigen der Bandbreitennutzung zu einem bestimmten Zeitpunkt
Wir können auch die Bandbreitennutzung zu bestimmten Zeiten anzeigen.
Um die Bandbreitennutzung der letzten zehn Sekunden anzuzeigen, führen Sie Folgendes aus:
$ vnstat -i enp0s3 -tr 10
Beispielausgabe:
7 Pakete in 10 Sekunden gesampeltTraffic Average für enp0s3 rx 0,28 kbit/s 0 Pakete/s tx 0,14 kbit/s 0 Pakete/s
Live-Bandbreitennutzung ansehen
Um die Live-Überwachung der Nutzung einer bestimmten Schnittstellenkarte zu starten, führen Sie Folgendes aus:
$ vnstat -i enp0s3 -l
Beispielausgabe:
Überwachung von enp0s3... (zum Beenden STRG-C drücken) rx:0 kbit/s 0 p/s tx:0 kbit/s 0 p/s

Um die Live-Überwachung zu beenden, drücken Sie CTRL-C
.
Weitere Einzelheiten finden Sie in den Manpages:
$ man vnstat
Schlussfolgerung
VnStat ist ein praktisches und nützliches Tool, um entweder Ihre Internetnutzung oder den Netzwerkverkehr für eine einzelne oder mehrere Netzwerkschnittstellen zu überwachen. Falls Sie sich fragen, wie viel Bandbreite Sie täglich/monatlich verbrauchen, können Sie dieses Tool verwenden, um dies ohne die Hilfe Ihres Internetdienstanbieters oder die Verwendung von Tools von Drittanbietern herauszufinden.