Zum Inhalt springen

VnStat: Unterschied zwischen den Versionen

Aus Foxwiki
Zeile 114: Zeile 114:


== Benutzung ==
== 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:
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
[https://de.wikipedia.org/wiki/RX RX] und [https://de.wikipedia.org/wiki/TX TX] stehen für receive/transmit = empfangen/senden
=== Optionen ===
{| style="border-spacing:0;width:17cm;"
|- style="border:none;padding:0.049cm;"
| colspan="3" | Optionen von vnStat
|- style="border:none;padding:0.049cm;"
|| Option
|| Option (Langform)
|| Bedeutung
|- style="border:none;padding:0.049cm;"
|| <tt>-?</tt>
|| <tt>--help</tt>
|| Damit ruft man die Hilfsfunktion auf
|- style="border:none;padding:0.049cm;"
|| <tt>-q</tt>
|| <tt>--query</tt>
|| Datenbank abfragen
|- style="border:none;padding:0.049cm;"
|| <tt>-h</tt>
|| <tt>--hours</tt>
|| Abfrage nach Stunden-Intervall
|- style="border:none;padding:0.049cm;"
|| <tt>-d</tt>
|| <tt>--days</tt>
|| Abfrage nach Tagen-Intervall
|- style="border:none;padding:0.049cm;"
|| <tt>-m</tt>
|| <tt>--months</tt>
|| Abfrage nach Monaten-Intervall
|- style="border:none;padding:0.049cm;"
|| <tt>-w</tt>
|| <tt>--weeks</tt>
|| Abfrage nach Wochen-Intervall
|- style="border:none;padding:0.049cm;"
|| <tt>-t</tt>
|| <tt>--top10</tt>
|| Die Top10 anzeigen
|- style="border:none;padding:0.049cm;"
|| <tt>-s</tt>
|| <tt>--short </tt>
|| use short output/ Kurzausgabe benutzen
|- style="border:none;padding:0.049cm;"
|| <tt>-i</tt>
|| <tt>--iface</tt>
|| Interface auswählen
|- style="border:none;padding:0.049cm;"
|| <tt>-v</tt>
|| <tt>--version</tt>
|| Version von vnStat anzeigen
|- style="border:none;padding:0.049cm;"
|| <tt>-tr</tt>
|| <tt>--traffic</tt>
|| Den Traffic (Datenverkehr) berechnen
|- style="border:none;padding:0.049cm;"
|| <tt>-ru</tt>
|| <tt>--rateunit</tt>
|| swap configured rate unit / Wechsel der konfigurierten Berichts-Einheit (Byte/Bit)
|- style="border:none;padding:0.049cm;"
|| <tt>-l</tt>
|| <tt>--live</tt>
|| Übertragungsrate in Echtzeit anzeigen
|- style="border:none;padding:0.049cm;"
||
|| <tt>--longhelp</tt>
|| Zeigt alle Funktionen bzw. Optionen/Parameter an
|-
|}
=== Anwendungen ===
[[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
<nowiki>#!/usr/bin/bash</nowiki>
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 [https://humdi.net/vnstat/man/vnstati.html Online-Version] der aktuellsten [https://wiki.ubuntuusers.de/man/ Manpage] auf der Projektseite finden.* '''vnstati''' (''universe'')


; Installation
; Installation
  apt-get install vnstati
  apt-get install vnstati

Version vom 20. Februar 2026, 12:01 Uhr

VnStat - Beschreibung

Beschreibung

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

Aufruf

Optionen

Unix GNU Parameter Beschreibung

Parameter

Umgebungsvariablen

Exit-Status

Wert Beschreibung
0 Erfolg
>0 Fehler

Anwendung

Problembehebung

Konfiguration

Dateien

Datei Beschreibung


Anhang

Siehe auch



Dokumentation

Projekt

  1. Conky/Skripte (Abschnitt „Einbinden-von-vnStat“) - Einbinden von vnStat
  2. Netzwerk-Monitoring Übersichtsartikel
  3. Projektseite
  4. vnstat und vnstati: Volumen des Netzwerkverkehrs übersichtlich visualisieren


TMP

vnStat

Installation

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

Installation
apt-get install vnstati