Zum Inhalt springen

Vnstat: Unterschied zwischen den Versionen

Aus Foxwiki
Keine Bearbeitungszusammenfassung
K Textersetzung - „ z. B.“ durch „ beispielsweise“
 
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt)
Zeile 69: Zeile 69:
| 0 || Erfolg
| 0 || Erfolg
|-
|-
| >0 || Fehler
| >0 || Fehler
|}
|}


Zeile 84: Zeile 84:


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


ausgeben:
ausgeben:


  ppp0 / monthly
  ppp0 / monthly


  month         rx     |     tx     |   total
  month     rx   |   tx   | total
  -------------------------+--------------+--------------------------------------
  -------------------------+--------------+--------------------------------------
  Oct '07     102.44 GB  |    43.18 GB  145.61 GB   %%%%%%%%::::
Oct '07   102.44 GB | 43.18 GB | 145.61 GB %%%%%%%%::::
  Nov '07     110.68 GB  |    50.23 GB  160.91 GB   %%%%%%%%%::::
Nov '07   110.68 GB | 50.23 GB | 160.91 GB %%%%%%%%%::::
  Dec '07     103.97 GB  |    37.79 GB  141.76 GB   %%%%%%%%%:::
Dec '07   103.97 GB | 37.79 GB | 141.76 GB %%%%%%%%%:::
  [...]
[...]
  Jul '08     188.90 GB  |    44.74 GB  233.64 GB   %%%%%%%%%%%%%%%%::::
Jul '08   188.90 GB | 44.74 GB | 233.64 GB %%%%%%%%%%%%%%%%::::
  Aug '08     197.78 GB  |    51.72 GB  249.50 GB   %%%%%%%%%%%%%%%%%::::
Aug '08   197.78 GB | 51.72 GB | 249.50 GB %%%%%%%%%%%%%%%%%::::
  Sep '08     128.04 GB  |    41.94 GB  169.97 GB   %%%%%%%%%%%:::
Sep '08   128.04 GB | 41.94 GB | 169.97 GB %%%%%%%%%%%:::
  -------------------------+--------------+--------------------------------------
  -------------------------+--------------+--------------------------------------
  estimated   151.12 GB  |    49.50 GB  200.62 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
[https://de.wikipedia.org/wiki/RX RX] und [https://de.wikipedia.org/wiki/TX TX] stehen für receive/transmit = empfangen/senden
Zeile 191: Zeile 191:
'''eth0''' die Schnittstelle muss angegeben werden
'''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
In Abhängigkeit vom Error-Code kann man dann beispielsweise eine Email senden, im folgenden Beispiel wird die Ausgabe von vnstat per ssmtp an foo.bar.com gesendet


<nowiki>#!/usr/bin/bash</nowiki>
<nowiki>#!/usr/bin/bash</nowiki>
Zeile 198: Zeile 198:
err=$?
err=$?
if [ $err -gt 0 ] ; then
if [ $err -gt 0 ] ; then
  echo -e "subject: VNSTAT TX >"$limit" auf Server ABC\n\n" > vns.sub
echo -e "subject: VNSTAT TX >"$limit" auf Server ABC\n\n" > vns.sub
  cat vns.sub vns.txt | ssmtp foo@bar.com
cat vns.sub vns.txt | ssmtp foo@bar.com
fi
fi


Zeile 206: Zeile 206:
Optional kann man sich auch zusätzlich das Paket '''vnstati''' installieren.
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.
* 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.&nbsp;B.&nbsp;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'')
* Eine Übersicht zu den möglichen Optionen sowie Beispiele der Befehle lassen sich beispielsweise&nbsp;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

Aktuelle Version vom 16. Juni 2026, 09:29 Uhr


VnStat - Überwachung des Netzwerkverkehrs im Textmodus

Beschreibung

Überwachung des Netzwerkverkehrs

  • Es protokolliert für die ausgewählte Schnittstelle(n) den täglichen Datenverkehr

im Netzwerk.

  • Das Programm ist kein »Packet Sniffer« (Werkzeug für die Netzwerkanalyse).
  • Es kann ohne Root-Rechte verwendet werden, weil die Informationen zum Netzwerkverkehr aus dem /proc-Dateisystem gewonnen werden.

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
Dateien
/etc/init.d/vnstat
/etc/vnstat.conf

/usr/bin/vnstat

/usr/lib/systemd/system/vnstat.service

/usr/sbin/vnstatd

/usr/share/cruft/rules/vnstat

/usr/share/doc/vnstat/FAQ
/usr/share/doc/vnstat/README
/usr/share/doc/vnstat/changelog.Debian.gz
/usr/share/doc/vnstat/changelog.gz
/usr/share/doc/vnstat/copyright

/usr/share/doc/vnstat/examples/vnstat_daily.service
/usr/share/doc/vnstat/examples/vnstat_daily.timer
/usr/share/doc/vnstat/examples/vnstat_monthly.service
/usr/share/doc/vnstat/examples/vnstat_monthly.timer

/usr/share/man/man1/vnstat.1.gz
/usr/share/man/man5/vnstat.conf.5.gz
/usr/share/man/man8/vnstatd.8.gz

/var/lib/vnstat

Aufruf

Optionen

Unix GNU Parameter Beschreibung

Parameter

Umgebungsvariablen

Exit-Status

Wert Beschreibung
0 Erfolg
>0 Fehler

Anwendung

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 beispielsweise * 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

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 beispielsweise 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

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 beispielsweise in der Online-Version der aktuellsten Manpage auf der Projektseite finden.* vnstati (universe)
Installation
apt-get install vnstati

Problembehebung

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.

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