GNU/Linux >> LINUX-Kenntnisse >  >> Linux

vnStat – Netzwerkbandbreite in Linux und BSD überwachen

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 Datenverkehr
  • tx - 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:

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 h rx (KiB) tx (KiB) ][ h rx (KiB) tx (KiB) ][ h rx (KiB ) tx (KiB) 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

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.


Linux
  1. So installieren und testen Sie Ansible unter Linux

  2. So installieren und verwenden Sie Flatpak unter Linux

  3. So installieren und verwenden Sie Traceroute unter Linux

  4. Fehlerbehebung und Debugging für Linux-Netzwerke?

  5. So überwachen Sie den Netzwerkverkehr unter Linux mit vnStat

So installieren und verwenden Sie phpMyAdmin unter Linux

Überwachen Sie die Linux-Aufgabe mit SysMonTask

So installieren und verwenden Sie den fd-Befehl unter Linux

So installieren und verwenden Sie Nu Shell unter Linux

So installieren Sie die Iftop-Netzwerkbandbreitenüberwachung unter Linux

Überwachen Sie die Bandbreitennutzung des Linux-Netzwerks in Echtzeit mit nload