VnStat: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
| Zeile 2: | Zeile 2: | ||
== Beschreibung == | == 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 | nStat ist ein Linux-Programm für die Überwachung des Netzwerkverkehrs. | ||
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. | * 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. | [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 == | == Installation == | ||
| Zeile 21: | Zeile 25: | ||
! Unix !! GNU !! Parameter !! Beschreibung | ! Unix !! GNU !! Parameter !! Beschreibung | ||
|- | |- | ||
| || || || | | || || || | ||
|- | |- | ||
|} | |} | ||
| Zeile 46: | Zeile 50: | ||
Zuerst muss vnStat als Dienst gestartet werden | Zuerst muss vnStat als Dienst gestartet werden | ||
sudo service vnstat start | 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 | Ab diesem Zeitpunkt protokolliert vnStat alles mit, was über die angegebene Netzwerkschnittstelle übertragen wird. | ||
vnstat --months | * Das Ergebnis lässt sich dann z. B. * mittels | ||
vnstat --months | |||
ausgeben: | ausgeben: | ||
| Zeile 72: | Zeile 77: | ||
{| style="border-spacing:0;width:17cm;" | {| style="border-spacing:0;width:17cm;" | ||
|- style="border:none;padding:0.049cm;" | |- style="border:none;padding:0.049cm;" | ||
| colspan="3" | Optionen von vnStat | | colspan="3" | Optionen von vnStat | ||
|- style="border:none;padding:0.049cm;" | |- style="border:none;padding:0.049cm;" | ||
|| Option | || Option | ||
|| Option (Langform) | || Option (Langform) | ||
|| Bedeutung | || Bedeutung | ||
|- style="border:none;padding:0.049cm;" | |- style="border:none;padding:0.049cm;" | ||
|| <tt>-?</tt> | || <tt>-?</tt> | ||
|| <tt>--help</tt> | || <tt>--help</tt> | ||
|| Damit ruft man die Hilfsfunktion auf | || Damit ruft man die Hilfsfunktion auf | ||
|- style="border:none;padding:0.049cm;" | |- style="border:none;padding:0.049cm;" | ||
|| <tt>-q</tt> | || <tt>-q</tt> | ||
|| <tt>--query</tt> | || <tt>--query</tt> | ||
|| Datenbank abfragen | || Datenbank abfragen | ||
|- style="border:none;padding:0.049cm;" | |- style="border:none;padding:0.049cm;" | ||
|| <tt>-h</tt> | || <tt>-h</tt> | ||
|| <tt>--hours</tt> | || <tt>--hours</tt> | ||
|| Abfrage nach Stunden-Intervall | || Abfrage nach Stunden-Intervall | ||
|- style="border:none;padding:0.049cm;" | |- style="border:none;padding:0.049cm;" | ||
|| <tt>-d</tt> | || <tt>-d</tt> | ||
|| <tt>--days</tt> | || <tt>--days</tt> | ||
|| Abfrage nach Tagen-Intervall | || Abfrage nach Tagen-Intervall | ||
|- style="border:none;padding:0.049cm;" | |- style="border:none;padding:0.049cm;" | ||
|| <tt>-m</tt> | || <tt>-m</tt> | ||
|| <tt>--months</tt> | || <tt>--months</tt> | ||
|| Abfrage nach Monaten-Intervall | || Abfrage nach Monaten-Intervall | ||
|- style="border:none;padding:0.049cm;" | |- style="border:none;padding:0.049cm;" | ||
|| <tt>-w</tt> | || <tt>-w</tt> | ||
|| <tt>--weeks</tt> | || <tt>--weeks</tt> | ||
|| Abfrage nach Wochen-Intervall | || Abfrage nach Wochen-Intervall | ||
|- style="border:none;padding:0.049cm;" | |- style="border:none;padding:0.049cm;" | ||
|| <tt>-t</tt> | || <tt>-t</tt> | ||
|| <tt>--top10</tt> | || <tt>--top10</tt> | ||
|| Die Top10 anzeigen | || Die Top10 anzeigen | ||
|- style="border:none;padding:0.049cm;" | |- style="border:none;padding:0.049cm;" | ||
|| <tt>-s</tt> | || <tt>-s</tt> | ||
|| <tt>--short </tt> | || <tt>--short </tt> | ||
|| use short output/ Kurzausgabe benutzen | || use short output/ Kurzausgabe benutzen | ||
|- style="border:none;padding:0.049cm;" | |- style="border:none;padding:0.049cm;" | ||
|| <tt>-i</tt> | || <tt>-i</tt> | ||
|| <tt>--iface</tt> | || <tt>--iface</tt> | ||
|| Interface auswählen | || Interface auswählen | ||
|- style="border:none;padding:0.049cm;" | |- style="border:none;padding:0.049cm;" | ||
|| <tt>-v</tt> | || <tt>-v</tt> | ||
|| <tt>--version</tt> | || <tt>--version</tt> | ||
|| Version von vnStat anzeigen | || Version von vnStat anzeigen | ||
|- style="border:none;padding:0.049cm;" | |- style="border:none;padding:0.049cm;" | ||
|| <tt>-tr</tt> | || <tt>-tr</tt> | ||
|| <tt>--traffic</tt> | || <tt>--traffic</tt> | ||
|| Den Traffic (Datenverkehr) berechnen | || Den Traffic (Datenverkehr) berechnen | ||
|- style="border:none;padding:0.049cm;" | |- style="border:none;padding:0.049cm;" | ||
|| <tt>-ru</tt> | || <tt>-ru</tt> | ||
|| <tt>--rateunit</tt> | || <tt>--rateunit</tt> | ||
|| swap configured rate unit / Wechsel der konfigurierten Berichts-Einheit (Byte/Bit) | || swap configured rate unit / Wechsel der konfigurierten Berichts-Einheit (Byte/Bit) | ||
|- style="border:none;padding:0.049cm;" | |- style="border:none;padding:0.049cm;" | ||
|| <tt>-l</tt> | || <tt>-l</tt> | ||
|| <tt>--live</tt> | || <tt>--live</tt> | ||
|| Übertragungsrate in Echtzeit anzeigen | || Übertragungsrate in Echtzeit anzeigen | ||
|- style="border:none;padding:0.049cm;" | |- style="border:none;padding:0.049cm;" | ||
|| | || | ||
|| <tt>--longhelp</tt> | || <tt>--longhelp</tt> | ||
|| Zeigt alle Funktionen bzw. Optionen/Parameter an | || Zeigt alle Funktionen bzw. | ||
* Optionen/Parameter an | |||
|- | |- | ||
|} | |} | ||
| Zeile 138: | Zeile 144: | ||
=== Anwendungen === | === Anwendungen === | ||
[[vnstat]] eignet sich gut, um den Traffic eines Rechner zu überwachen, dazu dient die Option '''--alert''' | [[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 | 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 erste '''3''' steht dafür, dass bei Überschreiten des Limit ein Error-Code gesetzt wird. | ||
| Zeile 154: | Zeile 160: | ||
'''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 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> | <nowiki>#!/usr/bin/bash</nowiki> | ||
| Zeile 163: | Zeile 169: | ||
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 | ||
==== Grafische Aufbereitung der Daten ==== | ==== 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'') | 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 | ||
| Zeile 176: | Zeile 184: | ||
=== Netzwerkschnittstelle ermitteln === | === Netzwerkschnittstelle ermitteln === | ||
Die zur Verfügung stehenden Netzwerkschnittstellen erfährt man durch Eingabe von | Die zur Verfügung stehenden Netzwerkschnittstellen erfährt man durch Eingabe von | ||
vnstat --iflist | vnstat --iflist | ||
Das Ergebnis für eine Netzwerkkarte (eno1) und eine WLAN-Karte (wlp2s0) kann zum Beispiel so aussehen: | Das Ergebnis für eine Netzwerkkarte (eno1) und eine WLAN-Karte (wlp2s0) kann zum Beispiel so aussehen: | ||
Available interfaces: eno1 (100 Mbit) wlp2s0 | 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.B. im Ausland). | 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. B. im Ausland). | |||
=== Datenbank initialisieren === | === Datenbank initialisieren === | ||
Zum Schluss muss noch eine Datenbank für die Protokolldaten erstellt werden. Das erfolgt mit dem Befehl: | Zum Schluss muss noch eine Datenbank für die Protokolldaten erstellt werden. | ||
sudo vnstat --add -i INTERFACE | * Das erfolgt mit dem Befehl: | ||
sudo vnstat --add -i INTERFACE | |||
Dabei ersetzt man <tt>INTERFACE</tt> mit der zuvor ermittelten Netzwerkschnittstelle: | Dabei ersetzt man <tt>INTERFACE</tt> mit der zuvor ermittelten Netzwerkschnittstelle: | ||
sudo vnstat --add -i wlp2s0 | 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. | Man kann auch mehrere Netzwerkschnittstellen gleichzeitig protokollieren. | ||
* Dazu ist für jede ein eigener Befehl in der obigen Form notwendig. | |||
=== Dateien === | === Dateien === | ||
| Zeile 197: | Zeile 209: | ||
! Datei !! Beschreibung | ! Datei !! Beschreibung | ||
|- | |- | ||
| || | | || | ||
|- | |- | ||
| || | | || | ||
|} | |} | ||
| Zeile 214: | Zeile 226: | ||
=== Dokumentation === | === Dokumentation === | ||
<!-- | <!-- | ||
; Man-Page | ; Man-Page | ||
# [https://manpages.debian.org/stable/procps/pgrep.1.de.html prep(1)] | # [https://manpages.debian.org/stable/procps/pgrep.1.de.html prep(1)] | ||
; Info-Pages | ; Info-Pages | ||
--> | --> | ||
Version vom 20. Februar 2026, 12:12 Uhr
VnStat - Überwachung des Netzwerkverkehrs im Textmodus
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.
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
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
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.
| |
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
#!/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)
- 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
Links
Projekt
Weblinks
- Conky/Skripte (Abschnitt „Einbinden-von-vnStat“) - Einbinden von vnStat
- Netzwerk-Monitoring Übersichtsartikel
- Projektseite
- vnstat und vnstati: Volumen des Netzwerkverkehrs übersichtlich visualisieren