[[Vorlage(Getestet, focal)]]

{{{#!vorlage Wissen
[:Pakete_installieren: Installation von Programmen]
[:Terminal: Ein Terminal öffnen] 
[:mit Root-Rechten arbeiten:]
}}}
[[Inhaltsverzeichnis(1)]]

[[Bild(Wiki/Icons/Oxygen/preferences-system-network.png, 48, align=left)]]
[https://humdi.net/vnstat vnStat] {en} 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 =
Um das Programm zu benutzen, das nicht in der Standardinstallation enthalten ist, installiert man[1]:

{{{#!vorlage Paketinstallation
vnstat, universe
}}}

= Konfiguration =
== Netzwerkschnittstelle ermitteln ==
Die zur Verfügung stehenden Netzwerkschnittstellen erfährt man durch Eingabe von[2]:

{{{#!vorlage Befehl
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[2][3]:

{{{#!vorlage Befehl
sudo vnstat --add -i INTERFACE
}}}

Dabei ersetzt man `INTERFACE` mit der zuvor ermittelten Netzwerkschnittstelle, wie z.B.:

{{{#!vorlage Befehl
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[2][3]:

{{{#!vorlage Befehl
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 

{{{#!vorlage Befehl
vnstat --months
}}}
ausgeben:

{{{
 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
}}}

[wikipedia:RX:] und [wikipedia:TX:] stehen für receive/transmit = empfangen/senden

== Optionen ==  

{{{#!vorlage Tabelle
<-3 tableclass="zebra_start3" rowclass="titel">Optionen von vnStat
+++
<rowclass="kopf">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
}}}

=== 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 [https://humdi.net/vnstat/man/vnstati.html Online-Version] {en} der aktuellsten [:man:Manpage] auf der Projektseite finden. 

{{{#!vorlage Paketinstallation
vnstati, universe
}}}

= Links =
== Intern ==
 * [:Conky/Skripte#Einbinden-von-vnStat:] - Einbinden von vnStat
 * [:Netzwerk-Monitoring:] {Übersicht} Übersichtsartikel

== Extern ==
 * [https://humdi.net/vnstat/ Projektseite] {en}
  * [https://humdi.net/vnstat/CHANGES Changelog] {en} - Versionshistorie des Programms
 * [https://www.gambaru.de/blog/2012/06/02/vnstat-und-vnstati-volumen-des-netzwerkverkehrs-ubersichtlich-visualisieren/ vnstat und vnstati: Volumen des Netzwerkverkehrs übersichtlich visualisieren] {de} - Blogbeitrag, 06/2012

#tag: Netzwerk, Internet, System, Server