Protokollierung und Überwachung des Verkehrsaufkommens mit VnStat | INTROSERV
EUR
european

EUR

usa

USD

German De
Ex. VAT Ex. VAT 0%

So protokollieren und überwachen Sie den Datenverkehr mit vnStat

vnStat ist ein schlankes Konsolenwerkzeug, das unter Linux einen Verlauf des Netzwerkverkehrs führt. Ein Hintergrunddienst, vnstatd, liest die Schnittstellenzähler aus dem Kernel und speichert sie in einer kleinen Datenbank. Anschließend können Sie den Datenverkehr nach Stunden, Tagen, Monaten und Jahren anzeigen oder die aktuelle Übertragungsrate in Echtzeit beobachten. vnStat zeichnet keine Pakete auf, daher ist der Overhead sehr gering. Es zeigt, wie viel Datenverkehr über jede Schnittstelle lief, aber nicht, welche IP-Adressen, Ports oder Verbindungen ihn verursacht haben.

Diese Anleitung zeigt, wie Sie vnStat aus dem Repository oder aus dem Quellcode installieren und wie Sie Verkehrsstatistiken anzeigen. vnStat ist auf jedem Server nützlich, auf dem der Datenverkehr begrenzt ist oder abgerechnet wird, zum Beispiel auf einem INTROSERV-Linux-VPS oder Dedicated Server.

vnStat aus dem Repository installieren

Verbinden Sie sich per SSH mit Ihrem Server. Einzelheiten finden Sie unter Verbindung per SSH herstellen.

Ubuntu und Debian

vnStat ist in den Standard-Repositories verfügbar. Installieren Sie es:

sudo apt update sudo apt install -y vnstat

Die Installation startet den Dienst vnstat und aktiviert ihn beim Systemstart. Prüfen Sie, ob er läuft:

sudo systemctl status vnstat

Die Ausgabe muss active (running) anzeigen. Läuft der Dienst nicht, aktivieren und starten Sie ihn mit sudo systemctl enable --now vnstat.

AlmaLinux und Rocky Linux

vnStat ist im EPEL-Repository verfügbar. Aktivieren Sie EPEL und installieren Sie vnStat:

sudo dnf install -y epel-release sudo dnf install -y vnstat

Aktivieren und starten Sie den Dienst:

sudo systemctl enable vnstat && sudo systemctl start vnstat

Prüfen Sie, ob er läuft:

sudo systemctl status vnstat

vnStat aus dem Quellcode installieren

Kompilieren Sie vnStat aus dem Quellcode, wenn das Paket für Ihre Distribution nicht verfügbar ist oder Sie die neueste Version benötigen.

Warning

Ist vnStat bereits aus dem Repository installiert, entfernen Sie zuerst das Paket: sudo apt remove -y vnstat unter Ubuntu und Debian oder sudo dnf remove -y vnstat unter AlmaLinux und Rocky Linux. Beide Installationen verwenden dieselbe Konfigurationsdatei, dieselbe Datenbank und denselben Dienstnamen, sodass es bei paralleler Nutzung zu Konflikten kommt.

Installieren Sie die Build-Abhängigkeiten. Unter Ubuntu und Debian:

sudo apt update && sudo apt install -y build-essential libsqlite3-dev wget

Unter AlmaLinux und Rocky Linux:

sudo dnf group install -y "Development Tools" sudo dnf install -y sqlite-devel wget

Laden Sie die neueste Version herunter und entpacken Sie sie:

wget https://humdi.net/vnstat/vnstat-latest.tar.gz tar -xf vnstat-latest.tar.gz cd vnstat-*/

Das Archiv wird in ein Verzeichnis entpackt, dessen Name die Versionsnummer enthält, zum Beispiel vnstat-2.13. Mit dem Platzhalter vnstat-*/ wechseln Sie hinein, ohne die Versionsnummer eintippen zu müssen.

Kompilieren und installieren Sie vnStat:

./configure --prefix=/usr --sysconfdir=/etc && make && sudo make install

Die Option --prefix=/usr installiert die Programme nach /usr/bin und /usr/sbin, und --sysconfdir=/etc legt die Konfigurationsdatei unter /etc/vnstat.conf ab.

Wurde vnStat zuvor aus dem Repository installiert, stellen Sie unter AlmaLinux und Rocky Linux mit aktiviertem SELinux zuerst die SELinux-Labels des Datenbankverzeichnisses wieder her. Andernfalls startet der Dienst mit dem Fehler Permission denied nicht:

sudo restorecon -Rv /var/lib/vnstat

Installieren Sie den systemd-Dienst, aktivieren und starten Sie ihn:

sudo cp -v examples/systemd/vnstat.service /etc/systemd/system/ sudo systemctl daemon-reload sudo systemctl enable --now vnstat

Prüfen Sie die Version und den Dienststatus:

vnstat --version sudo systemctl status vnstat

Die Netzwerkschnittstelle ermitteln

Standardmäßig fügt vnStat alle Netzwerkschnittstellen des Servers außer der Loopback-Schnittstelle zu seiner Datenbank hinzu. Um die aktuell in der Datenbank gespeicherten Schnittstellen anzuzeigen, führen Sie aus:

vnstat --dbiflist

Sie können die Schnittstellen auch mit ip a auflisten. Die folgenden Beispiele verwenden die Schnittstelle ens3. Ersetzen Sie sie durch den Namen Ihrer Schnittstelle, zum Beispiel eth0 oder enp1s0.

Info

Standardmäßig schreibt vnStat neue Daten alle 5 Minuten in die Datenbank. Unmittelbar nach der Installation meldet der Befehl vnstat, dass noch keine Daten vorliegen, zum Beispiel Not enough data available yet oder No data. Warten Sie einige Minuten und führen Sie den Befehl erneut aus.

Verkehrsstatistiken anzeigen

Führen Sie vnstat ohne Optionen aus, um eine Zusammenfassung für alle Schnittstellen zu sehen, einschließlich des Datenverkehrs für den aktuellen Tag und Monat sowie einer Prognose für das Ende des jeweiligen Zeitraums.

vnstat

In allen Berichten steht rx für eingehenden Datenverkehr, tx für ausgehenden Datenverkehr und total für deren Summe.

Datenverkehr pro Stunde

Um die 12 neuesten Stundeneinträge anzuzeigen, führen Sie aus:

vnstat -i ens3 -h --limit 12

Datenverkehr pro Tag

Um die 2 neuesten Tageseinträge anzuzeigen, führen Sie aus:

vnstat -i ens3 -d --limit 2

Ohne --limit legt der Parameter ListDays in /etc/vnstat.conf die Anzahl der angezeigten Einträge fest, standardmäßig 30. Er begrenzt nur die Ausgabe, nicht die in der Datenbank gespeicherten Daten.

Datenverkehr pro Monat

vnstat -i ens3 -m

Datenverkehr pro Jahr

vnstat -i ens3 -y

Datenverkehr in Echtzeit

Um die aktuelle Übertragungsrate zu beobachten, führen Sie aus:

vnstat -i ens3 -l

Die Rate wird aktualisiert, bis Sie Strg+C drücken. Lief der Befehl länger als 10 Sekunden, zeigt vnStat anschließend eine Zusammenfassung für diesen Zeitraum.

Datenverkehr für eine festgelegte Anzahl von Sekunden

Um die durchschnittliche Datenrate über einen Zeitraum zu messen, geben Sie den Zeitraum in Sekunden an. Zum Beispiel 20 Sekunden:

vnstat -i ens3 -tr 20

Ohne Zahl dauert die Messung 5 Sekunden. Das Ergebnis wird nach Ablauf der Zeit angezeigt.

Diagramm der letzten 24 Stunden

Um den Datenverkehr der letzten 24 Stunden als Textdiagramm anzuzeigen, führen Sie aus:

vnstat -i ens3 -hg

Tip

Um die Statistiken in einem Skript weiterzuverarbeiten, verwenden Sie die Option --json oder --oneline. Zum Beispiel exportiert vnstat -i ens3 --json d die Tagesstatistik im JSON-Format.

Die Standardschnittstelle festlegen

Hat der Server mehrere Schnittstellen und prüfen Sie meist eine davon, legen Sie sie in der Konfigurationsdatei /etc/vnstat.conf als Standard fest. Öffnen Sie die Datei:

sudo nano /etc/vnstat.conf

Unter AlmaLinux und Rocky Linux ist nano nicht standardmäßig installiert. Installieren Sie es mit sudo dnf install -y nano oder verwenden Sie vi.

Suchen Sie die Zeile Interface, entfernen Sie das Semikolon am Zeilenanfang und tragen Sie den Namen Ihrer Schnittstelle ein:

Interface "ens3"

Speichern Sie die Datei. Nun zeigt vnstat diese Schnittstelle an, wenn Sie es ohne die Option -i ausführen, zum Beispiel vnstat -d. Der Dienst vnstat überwacht weiterhin alle Schnittstellen.

Die vollständige Liste der Optionen erhalten Sie mit vnstat --longhelp oder in man vnstat.

VAT

  • Other

    Ex. VAT

    0%
  • austria

    Austria

    20%
  • Belgium

    Belgium

    21%
  • Bulgaria

    Bulgaria

    20%
  • Croatia

    Croatia

    25%
  • Cyprus

    Cyprus

    19%
  • Czech Republic

    Czech Republic

    21%
  • Denmark

    Denmark

    25%
  • Estonia

    Estonia

    22%
  • France

    France

    20%
  • Finland

    Finland

    24%
  • Germany

    Germany

    19%
  • Greece

    Greece

    24%
  • Hungary

    Hungary

    27%
  • Ireland

    Ireland

    23%
  • Italy

    Italy

    22%
  • Latvia

    Latvia

    21%
  • Lithuania

    Lithuania

    21%
  • Luxembourg

    Luxembourg

    17%
  • Malta

    Malta

    18%
  • Netherlands

    Netherlands

    21%
  • Poland

    Poland

    23%
  • Portugal

    Portugal

    23%
  • Romania

    Romania

    19%
  • Slovakia

    Slovakia

    20%
  • Slovenia

    Slovenia

    22%
  • Spain

    Spain

    21%
  • Sweden

    Sweden

    25%
  • USA

    USA

    0%
european
states
  • germany
  • Español
  • Italiano
  • Poland
  • Русский
  • Slovenski
  • Türkçe
  • ukraine
  • kingdom
  • French
  • Hrvatska
  • Other
  • Austria
  • Belgium
  • Bulgaria
  • Croatia
  • Cyprus
  • Czech Republic
  • Denmark
  • Estonia
  • Finland
  • France
  • Germany
  • Greece
  • Hungary
  • Ireland
  • Italy
  • Latvia
  • Lithuania
  • Luxembourg
  • Malta
  • Netherlands
  • Poland
  • Portugal
  • Romania
  • Slovakia
  • Slovenia
  • Spain
  • Sweden
  • USA