Zum Inhalt springen

VnStat: Unterschied zwischen den Versionen

Aus Foxwiki
Weiterleitung nach Vnstat erstellt
 
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
'''VnStat''' - Überwachung des Netzwerkverkehrs im Textmodus
#WEITERLEITUNG [[Vnstat]]
 
== Beschreibung ==
nStat ist ein Linux-Programm für die Ü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.
 
[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 ==
<syntaxhighlight lang="bash" highlight="1" line copy>
sudo apt-get install vnstat
</syntaxhighlight>
 
; 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 ==
<syntaxhighlight lang="bash" highlight="1" line copy>
</syntaxhighlight>
 
=== Optionen ===
{| class="wikitable sortable options gnu big"
|-
! Unix !! GNU !! Parameter !! Beschreibung
|-
| || || ||
|-
|}
 
=== Parameter ===
=== Umgebungsvariablen ===
=== Exit-Status ===
{| class="wikitable options col1center big"
|-
! Wert !! Beschreibung
|-
| 0 || Erfolg
|-
| >0  || Fehler
|}
 
== Anwendung ==
<syntaxhighlight lang="bash" highlight="1" line copy>
</syntaxhighlight>
 
<!-- output -->
<syntaxhighlight lang="bash" highlight="" line>
</syntaxhighlight>
 
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.&nbsp;B.&nbsp;* 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.&nbsp;B.&nbsp;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 ====
; 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.&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'')
 
; 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 <tt>pppoe</tt> 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.&nbsp;B.&nbsp;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 <tt>INTERFACE</tt> 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 ===
{| class="wikitable options big"
|-
! Datei !! Beschreibung
|-
| ||
|-
| ||
|}
 
<noinclude>
 
== Anhang ==
=== Siehe auch ===
<div style="column-count:2">
<categorytree hideroot=on mode="pages">{{BASEPAGENAME}}</categorytree>
</div>
----
{{Special:PrefixIndex/{{BASEPAGENAME}}/}}
 
=== Dokumentation ===
<!--
; Man-Page
# [https://manpages.debian.org/stable/procps/pgrep.1.de.html prep(1)]
 
; Info-Pages
-->
 
=== Links ===
==== Projekt ====
==== Weblinks ====
# [https://wiki.ubuntuusers.de/Conky/Skripte/#Einbinden-von-vnStat Conky/Skripte (Abschnitt „Einbinden-von-vnStat“)] - Einbinden von vnStat
# [https://wiki.ubuntuusers.de/Netzwerk-Monitoring/ Netzwerk-Monitoring] Übersichtsartikel
# [https://humdi.net/vnstat/ Projektseite]
# [https://www.gambaru.de/blog/2012/06/02/vnstat-und-vnstati-volumen-des-netzwerkverkehrs-ubersichtlich-visualisieren/ vnstat und vnstati: Volumen des Netzwerkverkehrs übersichtlich visualisieren]
 
{{DEFAULTSORT:VnStat}}
{{DISPLAYTITLE:VnStat}}
 
[[Kategorie:Netzwerk/Analyse]]
 
</noinclude>

Aktuelle Version vom 21. Februar 2026, 11:13 Uhr

Weiterleitung nach: