ubuntuusers.de

vnStat

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:


Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

Wiki/Icons/Oxygen/preferences-system-network.png 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

Um das Programm zu benutzen, das nicht in der Standardinstallation enthalten ist, installiert man[1]:

  • vnstat (universe)

Befehl zum Installieren der Pakete:

sudo apt-get install vnstat 

Oder mit apturl installieren, Link: apt://vnstat

Konfiguration

Netzwerkschnittstelle ermitteln

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

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]:

sudo vnstat --add -i INTERFACE 

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

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]:

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:

 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 

Oder mit apturl installieren, Link: apt://vnstati

Intern

Extern

Diese Revision wurde am 13. Januar 2024 23:26 von schneibva erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Netzwerk, Server, System, Internet