Überwachung des Netzwerkverkehrs mit vnStat auf Ubuntu 20.04
vnStat ist ein kostenloses, quelloffenes und konsolenbasiertes Tool zur Überwachung des Netzwerkverkehrs für das Betriebssystem Linux. Mit vnStat können Sie Netzwerkstatistiken über verschiedene Zeiträume hinweg überwachen. Es ist einfach, leichtgewichtig und verbraucht nur einen kleinen Teil Ihrer Systemressourcen. vnStat ermöglicht es Ihnen, die Netzwerkverkehrsdaten in einer Stunde, einem Tag, einem Monat, einer Woche und einem Tag zu generieren.
In diesem Tutorial zeigen wir Ihnen, wie Sie vnStat installieren und verwenden, um den Netzwerkverkehr zu überwachen.
Voraussetzungen
- Ein Server, auf dem Ubuntu 20.04 läuft.
- Der Server ist mit einem Root-Passwort konfiguriert.
vnStat installieren
Standardmäßig ist die neueste Version von vnStat nicht im Ubuntu-Standard-Repository verfügbar. Sie müssen sie also aus den Quellen kompilieren.
Installieren Sie zunächst alle Abhängigkeiten, die zum Kompilieren von vnStat erforderlich sind, mit dem folgenden Befehl:
apt-get install build-essential gcc make libsqlite3-dev -y
Sobald alle Abhängigkeiten installiert sind, laden Sie die neueste Version des vnStat-Quellcodes mit dem folgenden Befehl herunter:
wget https://humdi.net/vnstat/vnstat-2.6.tar.gz
Sobald der Download abgeschlossen ist, extrahieren Sie die heruntergeladene Datei mit folgendem Befehl:
tar -xvzf vnstat-2.6.tar.gz
Ändern Sie dann das Verzeichnis in das extrahierte Verzeichnis und konfigurieren Sie es mit folgendem Befehl:
cd vnstat-2.6 ./configure --prefix=/usr --sysconfdir=/etc
Installieren Sie anschließend die vnStat-Quelle mit folgendem Befehl: Führen Sie folgenden Befehl aus:
make make install
Sobald vnStat installiert ist, können Sie die installierte Version von vnStat mit folgendem Befehl überprüfen:
vnstat -v
Sie sollten die folgende Ausgabe erhalten:
vnStat 2.6 by Teemu Toivola
Sobald Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.
vnStat-Dienst verwalten
Als nächstes müssen Sie die Systemdatei vnStat systemd aus dem vnStat-Quelltext in das Verzeichnis /etc/systemd/system/ kopieren:
cp -v vnstat-2.6/examples/systemd/vnstat.service /etc/systemd/system/
Als nächstes aktivieren Sie den vnStat-Dienst und starten ihn mit dem folgenden Befehl:
systemctl enable vnstat systemctl start vnstat
Sie können den Status des vnStat-Dienstes auch mit dem folgenden Befehl überprüfen:
systemctl status vnstat
Sie sollten die folgende Ausgabe erhalten:
? 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)
Wenn Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.
Arbeiten mit vnStat
vnStat wird mit verschiedenen Optionen geliefert, die Ihnen helfen, den Netzwerkverkehr zu überwachen. Mit dem folgenden Befehl können Sie alle verfügbaren Optionen auflisten:
vnstat --help
Sie sollten die folgende Ausgabe erhalten:
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.
Bevor Sie vnStat verwenden, müssen Sie einige Zeit warten, um die vnStat-Datenbank zu aktualisieren. Nach der Aktualisierung der Datenbank können Sie vnStat wie unten gezeigt ohne jede Option ausführen:
vnstat
Sie sollten die folgende Ausgabe sehen:
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
Sie können auch die spezifische Netzwerkschnittstelle mit der Option -i wie unten gezeigt angeben:
vnstat -i ens3
Sie sollten die täglichen und monatlichen Statistiken in der folgenden Ausgabe erhalten:
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 |
Um die stündlichen Statistiken anzuzeigen, führen Sie den folgenden Befehl aus:
vnstat -h
Sie sollten die folgende Ausgabe erhalten: Sie sollten die folgende Ausgabe erhalten:
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 ------------------------+-------------+-------------+---------------
Um die Tagesstatistik anzuzeigen, führen Sie folgenden Befehl aus: Um die Tagesstatistik anzuzeigen, führen Sie folgenden Befehl aus
vnstat -d
Sie sollten die folgende Ausgabe erhalten: Sie sollten die folgende Ausgabe erhalten:
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 |
Mit der Option -t können Sie die Top-Traffic-Tage anzeigen:
vnstat -t
Sie sollten die folgende Ausgabe erhalten:
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
Um die Netzwerkverkehrsstatistik in Echtzeit anzuzeigen, führen Sie den folgenden Befehl aus:
vnstat -l
Sie sollten folgende Ausgabe erhalten: Sie sollten folgende Ausgabe erhalten
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
Sie können auch die Datenbankeinträge für die Schnittstelle ens3 löschen und die Überwachung mit dem folgenden Befehl beenden:
vnstat -i ens3 --remove --force
Sie sollten die folgende Ausgabe erhalten:
Interface "ens3" removed from database. The interface will no longer be monitored. Use --add if monitoring the interface is again needed.
Sie können auch das entfernte Interface ens3 wieder hinzufügen, indem Sie den folgenden Befehl ausführen:
vnstat -i ens3 --add
Sie sollten die folgende Ausgabe erhalten: Sie sollten die folgende Ausgabe erhalten:
Adding interface "ens3" for monitoring to database... Restart the vnStat daemon if it is currently running in order to start monitoring "ens3".
Starten Sie anschließend den vnStat-Dienst neu, um die Änderungen zu übernehmen:
systemctl restart vnstat
Schlussfolgerung
In der obigen Anleitung haben Sie gelernt, wie man vnStat installiert und zur Überwachung des Netzwerkverkehrs verwendet. Ich hoffe, dass dieses Tool Ihnen bei der Analyse und Fehlerbehebung bei netzwerkbezogenen Problemen hilft. Zögern Sie nicht, mich zu fragen, wenn Sie irgendwelche Fragen haben.