Zum Inhalt springen

VnStat

Aus Foxwiki
Version vom 20. Februar 2026, 11:53 Uhr von Dirkwagner (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „= vnStat = [https://humdi.net/vnstat vnStat] ist ein einfaches Programm, das den Datenverkehr (Volumen) protokolliert und das Ergebnis in einem Terminalfenster anzeigt. Mit der Eingabe verschiedener Parameter kann man sich Tages-, Wochen-, Monats- oder Jahresstatistiken anzeigen lassen. == Installation == sudo apt-get install vnstat == Konfiguration == === Netzwerkschnittstelle ermitteln === Die zur Verfügung stehenden Netzwerkschnittstellen erf…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

vnStat

vnStat ist ein einfaches Programm, das den Datenverkehr (Volumen) protokolliert und das Ergebnis in einem Terminalfenster anzeigt. Mit der Eingabe verschiedener Parameter kann man sich Tages-, Wochen-, Monats- oder Jahresstatistiken anzeigen lassen.

Installation

sudo apt-get install vnstat

Konfiguration

Netzwerkschnittstelle ermitteln

Die zur Verfügung stehenden Netzwerkschnittstellen erfährt man durch Eingabe von

vnstat --iflist

Das Ergebnis für eine Netzwerkkarte (eno1) und eine WLAN-Karte (wlp2s0) kann zum Beispiel so aussehen:

Available interfaces: eno1 (100 Mbit) wlp2s0

Die meisten GSM-USB-Sticks sind über pppoe angebunden. Wenn der Stick angeschlossen und aktiv ist, dann sieht man mit dem Befehl auch eine Schnittstelle ppp0. Dies ist sehr nützlich, wenn man für die Karte im GSM-USB-Stick keine Flatrate, sondern nur einen Volumentarif hat (z.B. im Ausland).

Datenbank initialisieren

Zum Schluss muss noch eine Datenbank für die Protokolldaten erstellt werden. Das erfolgt mit dem Befehl:

sudo vnstat --add -i INTERFACE

Dabei ersetzt man INTERFACE mit der zuvor ermittelten Netzwerkschnittstelle:

sudo vnstat --add -i wlp2s0

Man kann auch mehrere Netzwerkschnittstellen gleichzeitig protokollieren. Dazu ist für jede ein eigener Befehl in der obigen Form notwendig.

Benutzung

Zuerst muss vnStat als Dienst gestartet werden

sudo service vnstat start

Ab diesem Zeitpunkt protokolliert vnStat alles mit, was über die angegebene Netzwerkschnittstelle übertragen wird. Das Ergebnis lässt sich dann z.B. mittels

vnstat --months

ausgeben:

vergrößern

ppp0  /  monthly
  month         rx      |      tx      |   total

-------------------------+--------------+--------------------------------------

 Oct '07     102.44 GB  |    43.18 GB  |   145.61 GB   %%%%%%%%::::
 Nov '07     110.68 GB  |    50.23 GB  |   160.91 GB   %%%%%%%%%::::
 Dec '07     103.97 GB  |    37.79 GB  |   141.76 GB   %%%%%%%%%:::
 [...]
 Jul '08     188.90 GB  |    44.74 GB  |   233.64 GB   %%%%%%%%%%%%%%%%::::
 Aug '08     197.78 GB  |    51.72 GB  |   249.50 GB   %%%%%%%%%%%%%%%%%::::
 Sep '08     128.04 GB  |    41.94 GB  |   169.97 GB   %%%%%%%%%%%:::

-------------------------+--------------+--------------------------------------

estimated    151.12 GB  |    49.50 GB  |   200.62 GB

RX und TX stehen für receive/transmit = empfangen/senden

Optionen

Optionen von vnStat
Option Option (Langform) Bedeutung
-? --help Damit ruft man die Hilfsfunktion auf
-q --query Datenbank abfragen
-h --hours Abfrage nach Stunden-Intervall
-d --days Abfrage nach Tagen-Intervall
-m --months Abfrage nach Monaten-Intervall
-w --weeks Abfrage nach Wochen-Intervall
-t --top10 Die Top10 anzeigen
-s --short use short output/ Kurzausgabe benutzen
-i --iface Interface auswählen
-v --version Version von vnStat anzeigen
-tr --traffic Den Traffic (Datenverkehr) berechnen
-ru --rateunit swap configured rate unit / Wechsel der konfigurierten Berichts-Einheit (Byte/Bit)
-l --live Übertragungsrate in Echtzeit anzeigen
--longhelp Zeigt alle Funktionen bzw. Optionen/Parameter an


Beispeiel für eine Anwendung

vnstat eignet sich gut, um den Traffic eines Rechner zu überwachen, dazu dient die Option --alert

vnstat --alert 3 3 h tx 500 KiB eth0

Die erste 3 steht dafür, dass bei Überschreiten des Limit ein Error-Code gesetzt wird.

Die zweite 3 steht dafür, dass der Error-Code von 1 bei Überschreiten des Limits gesetzt wird.

h steht dafür, dass die letzte Stunde bewertet wird (m = monatlich, d = täglich,, h = stündlich)

tx für die Überwachung des ausgehenden Verkehrs (rx = eingehend, total = gesamt)

550 definiert das Limit

KiB für die Einheit des Limits (KB, KiB, GB, GiB, etc)

eth0 die Schnittstelle muss angegeben werden

In Abhängigkeit vom Error-Code kann man dann z.B. eine Email senden, im folgenden Beispiel wird die Ausgabe von vnstat per ssmtp an foo.bar.com gesendet

#!/usr/bin/bash limit='500 KiB' vnstat --alert 3 3 h tx $limit eth0 > vns.txt err=$? if [ $err -gt 0 ] ; then

 echo -e "subject: VNSTAT TX >"$limit" auf Server ABC\n\n" > vns.sub
 cat vns.sub vns.txt | ssmtp foo@bar.com

fi

Grafische Aufbereitung der Daten

Optional kann man sich auch zusätzlich das Paket vnstati installieren. Dadurch wird es möglich, einfache Bilder der gespeicherten Traffic-Daten im PNG-Format zu erzeugen. Eine Übersicht zu den möglichen Optionen sowie Beispiele der Befehle lassen sich z.B. in der Online-Version der aktuellsten Manpage auf der Projektseite finden.* vnstati (universe)


Befehl zum Installieren der Pakete:

sudo apt-get install vnstati

Intern


Extern